Compare commits

..

3240 Commits

Author SHA1 Message Date
Kenn Jacobsen 7393d9c372 V7: Change the priority of the tree node annotations for contai… (#6083) 2019-08-09 16:44:43 +02:00
Kenn Jacobsen 79c4d7797c Fix the disabled upload button in media picker 2019-08-09 16:40:08 +02:00
Peter Keating 01a895bbf7 Fix notifications not sending when user has multiple of same type
When a user has multiple notifications of the same type, the user may
not receive the notification depending on the order which the
notification was setup. To fix this the notification logic has changed
from looping over users to looping over notifications.

Fixes #4713.
2019-08-08 19:48:39 +02:00
Shannon 4fa523db43 Merge branch 'v7/7.15' into v7/dev 2019-07-24 19:23:58 +10:00
Shannon 186460ac08 removes refs from old packages.umbraco.org 2019-07-24 19:23:05 +10:00
Shannon Deminick 686f6752f3 Merge pull request #5951 from umbraco/v7/hotfix/5921-preview-failing
https://github.com/umbraco/Umbraco-CMS/issues/5921 - AB#1794 - Remove…
2019-07-23 16:58:13 +10:00
Shannon Deminick 23ccdeb2cf Merge pull request #5868 from umbraco/v7/hotfix/5835-AB#1693-add-null-checks-when-using-dataTypeId
Added null checks when *.dataTypeId is used
2019-07-22 13:44:05 +10:00
Shannon 6148ce4e52 oops no es6 support in 7.x 2019-07-22 13:41:26 +10:00
Shannon 06850ed25c Merge branch 'v7/7.15' into v7/hotfix/5835-AB#1693-add-null-checks-when-using-dataTypeId 2019-07-22 13:40:35 +10:00
Shannon 0320a56cb5 Fixes up dataTypeId var declarations 2019-07-22 13:27:51 +10:00
Bjarke Berg cd27bb210f https://github.com/umbraco/Umbraco-CMS/issues/5921 - AB#1794 - Remove trashed nodes from sql when building xml for previews 2019-07-19 11:25:33 +02:00
Bjarke Berg 67f680a675 Revert "https://github.com/umbraco/Umbraco-CMS/issues/5921 - AB#1794 - Remove trashed nodes from sql when building xml for previews"
This reverts commit 47c3e3a7
2019-07-19 11:24:01 +02:00
Bjarke Berg 47c3e3a79f https://github.com/umbraco/Umbraco-CMS/issues/5921 - AB#1794 - Remove trashed nodes from sql when building xml for previews 2019-07-19 11:20:31 +02:00
Shannon f3bfc1ffb2 Puts back UmbracoAntiForgeryAdditionalDataProvider for backwards compat reasons but it is not used 2019-07-18 16:18:11 +10:00
Shannon 89cd655df2 Merge remote-tracking branch 'origin/v7/bugfix/build-without-vs2017' into v7/7.15 2019-07-17 21:48:21 +10:00
Shannon 14c4c4815d bumps version 2019-07-17 21:35:43 +10:00
Shannon bfb69a34ef re-adds back in the serialization overloads for the custom exception, re-adds detailed error messages, adds more documentation. Adds unit tests. 2019-07-17 21:15:18 +10:00
Shannon d52420183e Cherry picks ValidateUmbracoFormRouteStringAttribute implementation and fixes up some logic 2019-07-16 23:03:26 +10:00
skttl 2aaca865e7 changes innerjoin to left join, to allow folders in sql query 2019-07-16 07:26:26 +02:00
Bjarke Berg 2ec8281163 Merge pull request #5865 from skttl/5848-media-folders-not-showing
5848: changes innerjoin to left join, to allow folders in sql query
2019-07-16 07:24:46 +02:00
Shannon Deminick 2ac5e61e44 Merge pull request #5881 from bjarnef/dev-v7-link-picker-url-anchors
v7: Fix link picker url and anchors
2019-07-15 13:02:47 +10:00
Bjarne Fyrstenborg c47a08b553 Add overload for NiceUrl 2019-07-13 16:40:01 +02:00
Bjarne Fyrstenborg de9241bcf5 Add UmbracoHelper overload methods to get url by guid 2019-07-13 14:50:25 +02:00
Bjarne Fyrstenborg 7c03fe3c1f Adjust parameter 2019-07-13 14:49:35 +02:00
Bjarne Fyrstenborg 82eb241119 Add overload method for Udi 2019-07-13 14:49:05 +02:00
Bjarne Fyrstenborg 1073e6257c Adjust comments 2019-07-13 14:48:35 +02:00
Bjarke Berg 59bf24c461 Added null checks when *.dataTypeId is used 2019-07-12 11:22:31 +02:00
Bjarke Berg 2748c3635d Merge pull request #5863 from umbraco/v7/bugfix/5822-entityservice-overloads
Fixes Change to Entity Service GetByKey isn't breaking in 7.15 #5822
2019-07-12 09:29:45 +02:00
skttl d31e71a838 changes innerjoin to left join, to allow folders in sql query 2019-07-12 07:33:17 +02:00
Shannon 2252db0d55 Fixes 5822 by reinstating optional method overloads of loadBaseType 2019-07-12 13:40:21 +10:00
Claus df896af476 adding build targets package. 2019-07-10 12:58:15 +02:00
Claus 4b605b2580 Merge pull request #5799 from kjac/v7-fix-save-member
V7: Can't save members without resetting their password
2019-07-08 09:28:46 +02:00
Kenn Jacobsen 80d7f1b2c9 Make it possible to save a member without resetting the password 2019-07-07 11:36:26 +02:00
Sebastiaan Janssen 5ada85df29 Provide the correct assembly redirects 2019-07-05 12:11:03 +02:00
Sebastiaan Janssen 5b7ae7150f Fix weird merge 2019-07-02 21:55:54 +02:00
Sebastiaan Janssen 5bf29a907a Fixes #5206 2019-07-02 21:47:14 +02:00
Bjarke Berg 2a9bcf0e98 Merge pull request #5763 from umbraco/v7/bugfix/fix-for-null-ref-exception-when-using-member-pickers
V7: Bugfix for Null ref-exception when using member pickers.
2019-07-02 11:20:53 +02:00
Bjarke Berg 3c0565e516 Bugfix: Null ref-exception when using member pickers. 2019-07-02 10:56:44 +02:00
Shannon fa4acb255b fixes missing 'var' 2019-07-01 17:09:11 +10:00
Marc Goodson a018ed9e52 V7: Less-Urgent-But-Still-Quite-Important - Add Giphy EmbeddedMedia support (#5736) 2019-06-27 14:27:33 +02:00
Shannon fad33a97b2 don't throw JS exception when no MediaPath, instead warn. 2019-06-27 15:47:25 +10:00
Warren Buckley ac586c5207 Merge pull request #5715 from umbraco/v7/bugfix/AB-1085/antiforgery-per-form
Custom IAntiForgeryAdditionalDataProvider implementation
2019-06-26 09:23:32 +01:00
Bjarke Berg 8033931e31 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1085 - Fixed merge conflict 2019-06-26 09:58:01 +02:00
Bjarke Berg 8e29810598 Merge remote-tracking branch 'origin/v7/dev' into v7/bugfix/AB-1085/antiforgery-per-form 2019-06-26 09:52:44 +02:00
Shannon Deminick be96e2cf08 Merge pull request #5713 from umbraco/v7/feature/AB-1479-Reintroduce-the-bypass-security-option-in-pickers
V7: Reintroduce the bypass security option in pickers
2019-06-26 17:02:17 +10:00
Shannon 534ee67ad2 Merge branch 'v7/feature/AB-1479-Reintroduce-the-bypass-security-option-in-pickers' of https://github.com/umbraco/Umbraco-CMS into v7/feature/AB-1479-Reintroduce-the-bypass-security-option-in-pickers 2019-06-26 16:49:00 +10:00
Shannon 571a3bc257 fixes test 2019-06-26 16:48:39 +10:00
Bjarke Berg e7a30d0a5d https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1085 - Fixes for gulp build 2019-06-26 07:39:34 +02:00
Shannon a55323176f Updates EntityController to support passing in the dataTypeId for the GetChildren methods and updates the mediapicker to pass along that data 2019-06-26 14:35:36 +10:00
Shannon 1b83e0a87d cleanup 2019-06-26 13:49:45 +10:00
Shannon ca15f340b0 Fixes a bunch of N+1, content/media trees should be much more snappy 2019-06-26 13:32:16 +10:00
Shannon 23b8e1cce8 Removes the remaining part of the EntityRepository that was loading in ALL properties for media which we don't want whatsoever which means some other code is cleaned up/removed 2019-06-26 13:31:04 +10:00
Shannon cf53ba363d Internalizes new methods classes + cleanup 2019-06-26 13:29:05 +10:00
Bjarke Berg 2f309a2fd6 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1085 - moved the code that adds the ufprt token to the context items, into the constructor of UmbracoForm. Because it needs to happen before the @Html.AntiForgeryToken() is called. The dispose method is too late. 2019-06-25 15:09:37 +02:00
Bjarke Berg 9f45d41a4a https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479
- Test fixes
2019-06-25 13:18:15 +02:00
Bjarke Berg 1994194656 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479
- Review fixes
2019-06-25 11:51:02 +02:00
Bjarke Berg 36559b8761 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 - Fix for NullReferenceException 2019-06-25 09:22:56 +02:00
Bjarke Berg 8fe7c5599a Merge remote-tracking branch 'origin/v7/feature/AB-1479-Reintroduce-the-bypass-security-option-in-pickers' into v7/feature/AB-1479-Reintroduce-the-bypass-security-option-in-pickers
# Conflicts:
#	src/Umbraco.Core/Services/ContentService.cs
2019-06-25 09:22:43 +02:00
Bjarke Berg 4dd325cec9 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 - Fix for NullReferenceException 2019-06-25 09:22:30 +02:00
Bjarke Berg d558646d75 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 - Fix for NullReferenceException 2019-06-25 09:21:51 +02:00
Bjarke Berg afac4bb918 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 - missing entityResource injection 2019-06-25 09:18:30 +02:00
Bjarke Berg 0869bf27c7 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 - clean up 2019-06-25 08:26:01 +02:00
Bjarke Berg 383a8617ce https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 - Fixed test 2019-06-25 08:19:50 +02:00
Bjarke Berg 3865f4fb50 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 - bugfix - wrong constant used 2019-06-25 08:15:06 +02:00
Shannon 3e74bbfb45 Creates a custom IAntiForgeryAdditionalDataProvider that provides and validates custom token data in the request which allows having a custom AF token per form created with BeginUmbracoForm 2019-06-25 14:35:28 +10:00
Bjarke Berg 966b07ba1c https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 - Changed entity service to only return small model with media path. And updated media picker to use entity service when loading data. 2019-06-24 21:12:38 +02:00
Bjarke Berg d4311fe4ab https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 - Replaced client side method to get Auchors with a server side version, and eliminated the use of contentResource in linkPikers 2019-06-24 10:52:35 +02:00
Bjarke Berg eab597a2a8 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 - fix for js linter 2019-06-24 08:58:25 +02:00
Sebastiaan Janssen 8d12170def Correct NuGet transform for the web.config file in the Views folder 2019-06-21 14:58:58 +02:00
Bjarke Berg d2655a9f2f Merge remote-tracking branch 'origin/v7/dev' into v7/feature/AB-1479-Reintroduce-the-bypass-security-option-in-pickers 2019-06-21 13:59:11 +02:00
Bjarke Berg c4c2082fa9 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 - Only allow "ignoreUserStartNodes" for custom data types and not the default build in. 2019-06-21 13:57:17 +02:00
Sebastiaan Janssen 40d4a8fe6a Modelsbuilder is asking for too old a version of CodeAnalysis, Immutable and Metadata dependencies 2019-06-21 13:32:53 +02:00
Bjarke Berg 2898203cb9 https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1479 Bugfixes for the "Bypass security" feature + filter out possible sensitive data 2019-06-21 10:50:23 +02:00
Sebastiaan Janssen 5ebdfc7b1c Previously added a few too many binding redirects to the web.config 2019-06-21 10:22:16 +02:00
Bjarke Berg 31d7e58191 Merge remote-tracking branch 'origin/v7/dev' into v7/feature/AB-1479-Reintroduce-the-bypass-security-option-in-pickers 2019-06-21 10:20:51 +02:00
Sebastiaan Janssen ad4416f663 So apparently Microsoft.CodeAnalysis.CSharp version 1.3.2 contains the dll that has the version 1.3.1.. very confusing 2019-06-21 10:07:45 +02:00
Sebastiaan Janssen b55d2a8a41 Modelsbuilder is asking for too old a version of the CodeAnalysis dependency 2019-06-21 09:56:01 +02:00
Sebastiaan Janssen 17a4799b97 7.15 release needs a few more assembly redirects (#5698)
7.15 release needs a few more assembly redirects
2019-06-21 08:19:35 +02:00
Bjarke Berg 4df838c20c https://umbraco.visualstudio.com/D-Team%20Tracker/_workitems/edit/1358 - Changed the ignoreUserStartNodes in public endpoints to the data type id, and then look up the setting 2019-06-20 16:02:42 +02:00
Sebastiaan Janssen 4e44871671 The NuGet packages needs an extra DotNetCompilerPlatform transform to be sure it gets applied as it sometimes didn't
Added SignalR binding redirect for Umbraco Cloud
Added System.Web.Http.WebHost binding redirect for uCommerce
2019-06-20 15:57:31 +02:00
Bjarke Berg 1dd2c1cb91 Revert "Revert "U4 10147 - Bypass User Security option in pickers (#2441)""
This reverts commit 994c6eed
2019-06-19 14:30:44 +02:00
Shannon 5c6a9480a6 remove unneeded method 2019-06-19 13:32:26 +10:00
Shannon c1be8e3f00 Merge branch 'v7/dev' of https://github.com/umbraco/Umbraco-CMS into v7/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/treepicker/treepicker.controller.js
2019-06-19 13:31:43 +10:00
Shannon d8dbda8e94 Merge branch 'kjac-v7-fix-treepicker-allowed-nodes' into v7/dev 2019-06-19 13:30:33 +10:00
Shannon a0ab7ace07 Makes the treeNodeExpanded event raised during tree syncing 2019-06-19 13:29:54 +10:00
Shannon 7c27189e2e Merge branch 'v7-fix-treepicker-allowed-nodes' of https://github.com/kjac/Umbraco-CMS into kjac-v7-fix-treepicker-allowed-nodes 2019-06-19 13:01:50 +10:00
Sebastiaan Janssen 994c6eed50 Revert "U4 10147 - Bypass User Security option in pickers (#2441)"
This reverts commit cc9a7ff942.

# Conflicts:
#	src/Umbraco.Web/Editors/ContentController.cs
#	src/Umbraco.Web/Editors/EntityController.cs
#	src/Umbraco.Web/Search/UmbracoTreeSearcher.cs
2019-06-18 13:07:40 +02:00
Shannon cff5046a9e Merge branch 'kjac-v7-fix-linkpicker-anchor-link-without-url' into v7/dev 2019-06-18 14:09:11 +10:00
Shannon 9f6da2ca4b Merge branch 'v7-fix-linkpicker-anchor-link-without-url' of https://github.com/kjac/Umbraco-CMS into kjac-v7-fix-linkpicker-anchor-link-without-url 2019-06-18 14:08:45 +10:00
Bjarke Berg 99cabe564d Merge pull request #5673 from umbraco/v7/bugfix/5665-non-admin-edit-user-group
V7: Resolved issue where adding non-admin user group editor to group already exists
2019-06-17 09:13:42 +02:00
Andy Butland 15b1d35c17 https://github.com/umbraco/Umbraco-CMS/issues/5665: Resolved issue where adding non-admin user group editor to group already exists 2019-06-17 08:43:24 +02:00
Warren Buckley c597da8f97 Merge pull request #5423 from umbraco/v7/bugfix/4144-member-password-manual-change-fix
Fixes #4144 - AllowManuallyChangingPassword Regression Fix
2019-06-13 08:53:17 +01:00
Shannon 5775a8b614 fixes if explicitly resetting password 2019-06-13 16:50:15 +10:00
Shannon c5347a97ce Fixes setting the reset flag when allowManuallyChangingPassword is disabled 2019-06-12 12:51:26 +10:00
Sebastiaan Janssen 22f54394fb Fix method signatures to prevent breaking changes (just like what I'd already done in v8) 2019-06-07 16:02:03 +02:00
Sebastiaan Janssen 57c368f70d Bumps version to 7.15.0 2019-06-07 14:32:02 +02:00
Kenn Jacobsen 580de6befe Linkpicker should support anchor links without base URL 2019-06-07 09:03:35 +02:00
Bjarke Berg 0120dc6ea3 https://github.com/umbraco/Umbraco-CMS/issues/5574 - Fixes issue when… (#5575) 2019-06-07 09:01:15 +02:00
Sébastien Sougnez 4be6a48fb2 Update tinymce version to 4.9.4 in v7 (#4703) 2019-06-06 17:42:12 +02:00
Sebastiaan Janssen 53731049de Updates .NET Framework to 4.5.2 and updates dependencies (#3064)
Updates .NET Framework to 4.5.2 and updates dependencies
2019-06-06 17:27:53 +02:00
Sebastiaan Janssen 4b2ce522fe Update nuspecs 2019-06-06 15:55:38 +02:00
Sebastiaan Janssen d0eddbb9a2 Update SignalR 2019-06-06 15:38:37 +02:00
Sebastiaan Janssen 938abab9d6 Update assembly redirects 2019-06-06 15:29:32 +02:00
Sebastiaan Janssen 5faa71187d More Owin updates 2019-06-06 15:21:05 +02:00
Sebastiaan Janssen c069f262dc Update MVC, Razor, WebApi and Owin 2019-06-06 14:50:01 +02:00
Sebastiaan Janssen 9f42e6a607 Update ImageProcessor and Newtonsoft.Json dependencies to the latest version 2019-06-06 14:37:57 +02:00
Sebastiaan Janssen 202f2d2e27 Fix build for VS2019 (not complete yet) 2019-06-06 13:53:42 +02:00
Sebastiaan Janssen aaab14be3e fix csproj file 2019-06-06 13:48:48 +02:00
Sebastiaan Janssen 1c87176d80 Merge branch 'v7/dev' into pr/3064
# Conflicts:
#	build/NuSpecs/UmbracoCms.Core.nuspec
#	src/Umbraco.Tests/packages.config
#	src/Umbraco.Web.UI/packages.config
#	src/Umbraco.Web/packages.config
#	src/umbraco.MacroEngines/packages.config
2019-06-06 12:50:48 +02:00
Sebastiaan Janssen a182c9b1ee Updates to latest Examine (#4851)
Updates to latest Examine
2019-06-04 13:06:35 +02:00
Sebastiaan Janssen 6af1057ad7 Merge pull request #5508 from Geckex/v7/temp-5507
MemberModelMapper to return member groups ordered alphabetically
2019-05-30 17:38:53 +02:00
Sebastiaan Janssen 97ae6165e4 Merge pull request #5511 from ReVoid/patch-1
ng-switch-default directive typo in macropicker.html
2019-05-23 11:19:47 +02:00
Dmitriy 8cdb61195d ng-switch-default typo in macropicker.html
looks like it is just a typo :) fixed
2019-05-22 19:49:07 +03:00
Thomas Poulsen 50c2d574f1 Change MemberModelMapper GetMemberGroupValue to return member groups ordered alphabetically.
- This is used in ContentPropertyDisplay class - for UI purposes only.
2019-05-22 14:13:46 +01:00
Shannon 35645672ae Ensures the reset flag is set for users when the legacy user membership provider setting allowManuallyChangingPassword is used 2019-05-10 02:00:45 +10:00
Shannon f952877d04 ensures that the reset flag is passed to the server when an admin is changing a members password 2019-05-10 01:48:11 +10:00
Warren Buckley d69a978870 Fixes #4144 - Adds code back for allowing password changes without old password, that was removed in b029215933 2019-05-08 10:52:27 +01:00
Kenn Jacobsen 3d86b08e31 Send delete notifications when content is moved to trash 2019-04-30 22:19:38 +02:00
matthew-hair 5cef71e4e6 fixed typos in ClearLoginSessions queries 2019-04-30 22:11:07 +02:00
matthew-hair fe7b114083 fix for umbracoUserLogin not pruned
Signed-off-by: matthew-hair <matthew.hair@sedgwick.gov>
2019-04-30 22:11:07 +02:00
Kenn Jacobsen 21e91ac4e1 RTE: Don't assume "mailto:" protocol in links with "@" 2019-04-30 20:34:26 +02:00
Kenn Jacobsen b367ae6c80 Fix "sort by document type" in media listviews 2019-04-23 20:27:25 +02:00
Kenn Jacobsen 07684bb1d6 Fix "sort by document type" in content listviews 2019-04-23 20:26:55 +02:00
Ondrej Pialek 8d382fb9b7 Backoffice session timeout on custom-URL backoffices leads to high browser CPU and self-inflicted backend DDoS (#5210) 2019-04-23 16:37:37 +02:00
Sebastiaan Janssen db7ae9a7e2 V7: Send notifications for changes in permissions (#5306)
V7: Send notifications for changes in permissions
2019-04-22 13:21:03 +02:00
Sebastiaan Janssen 2e6f032222 Merge branch 'v7/dev' into pr_5306
# Conflicts:
#	src/Umbraco.Web/Strategies/NotificationsHandler.cs
2019-04-22 13:20:15 +02:00
Sebastiaan Janssen 9fc33d71e4 V7: Send notifications when an item is copied (#5302)
V7: Send notifications when an item is copied
2019-04-22 13:15:44 +02:00
Sebastiaan Janssen 916cd999d5 Merge branch 'v7/dev' into pr_5302
# Conflicts:
#	src/Umbraco.Web/Strategies/NotificationsHandler.cs
2019-04-22 13:14:32 +02:00
Sebastiaan Janssen a75506d60b V7: Send notifications when an item is moved or restored (#5303) 2019-04-22 13:04:14 +02:00
Sebastiaan Janssen 6631a50a44 Merge branch 'v7/dev' into pr_5303
# Conflicts:
#	src/Umbraco.Web/Strategies/NotificationsHandler.cs
2019-04-22 13:03:00 +02:00
Kenn Jacobsen c35a3fa702 Send notifications for rollbacks 2019-04-22 12:51:37 +02:00
Kenn Jacobsen 072c014055 Read image dimensions via GDI if EXIF fails with an exception 2019-04-22 12:21:55 +02:00
Kenn Jacobsen ff4fe2cd79 Send notifications for changes in permissions 2019-04-21 13:22:49 +02:00
Kenn Jacobsen d2f727a1ba Send notifications when an item is moved or restored 2019-04-20 20:40:52 +02:00
Kenn Jacobsen 38bb98b099 Send notifications when an item is copied 2019-04-20 20:31:36 +02:00
Kenn Jacobsen 2a930e5a66 Log the ID of the current user when emptying the media recycle bin 2019-04-17 16:01:18 +02:00
Kenn Jacobsen 2d32863fc9 Audit current user when moving media + clean up a few audit related things 2019-04-17 16:00:21 +02:00
Sebastiaan Janssen 2c32fabd36 Merge pull request #5054 from kjac/fix-content-empty-trash-audit-user
V7: Log correct user ID when emptying the content recycle bin
2019-04-17 15:58:43 +02:00
Stephan 14f9445ffb Ensure entities type in content caches GetById(Udi) 2019-04-12 15:34:06 +02:00
Stephan 7f7c9d2796 Merge branch 'v7/bugfix/5216' into v7/dev 2019-04-12 15:33:21 +02:00
Ronald Barendse d2e04614c6 Added UDI support for GetById and fixed bug not using specified preview mode 2019-04-09 23:21:40 +02:00
Kenn Jacobsen 0f969ecdd4 Setup non-selectable nodes after the treepicker loads 2019-04-08 19:56:15 +02:00
Shannon Deminick 2ae639a3ae Merge pull request #5099 from umbraco/v7/feature/5059-alt-preview
Alternate Preview Engine
2019-04-04 23:35:23 +11:00
Shannon de8f01a4b2 Merge branch 'v7/dev' into v7/feature/5059-alt-preview 2019-04-04 23:11:27 +11:00
Shannon Deminick 10f22f7848 Merge pull request #5118 from kjac/v7-fix-content-info-contenttype-alias
V7: Add content type alias to content "general" info box
2019-04-04 14:02:06 +11:00
Kenn Jacobsen fb1f2c8af4 Add content type alias to content "general" info box 2019-04-02 08:12:46 +02:00
Stephan e6d75f27de Alt. preview: rename modes 2019-04-01 08:23:48 +02:00
Stephan 9bcd70589c Alt. preview: thread safety 2019-04-01 08:21:01 +02:00
Stephan 0676726bfc Refactor preview 2019-03-28 10:52:19 +01:00
Stephan bb43fc310a Add service-level loading of preview Xml document 2019-03-27 17:11:21 +01:00
Stephan 3524ba83a8 Merge branch 'v7/bugfix/5019-change-log-level' into dev-v7 2019-03-27 10:29:30 +01:00
Bjarke Berg 011d406301 https://github.com/umbraco/Umbraco-CMS/issues/5019 - Changed log level from error to debug. This will spam the log if we request with invalid parameters 2019-03-25 11:59:41 +01:00
Kenn Jacobsen 8bd9ae062d Merge with dev-v7 2019-03-24 13:37:32 +01:00
Kenn Jacobsen d51daa2a8a Make sure the correct user is registered in the log when emptying the recycle bin 2019-03-24 13:25:55 +01:00
Dan White cc9a7ff942 U4 10147 - Bypass User Security option in pickers (#2441) 2019-03-23 12:51:36 +01:00
Nathan Woulfe 4e1634754b fix URL redirection creation - was failing when save and save+publish as save creates new URL, which is compared to itself in save+publish (#5036) 2019-03-23 10:29:46 +01:00
Kenn Jacobsen da6b541112 Show duplicate URLs instead of letting them cause an angular error (#3969) 2019-03-21 09:06:01 +01:00
Sebastiaan Janssen 1a4a3504d0 Remove unused variable 2019-03-20 23:27:42 +01:00
Tom Fulton 5d3b623173 Fix for RTE never being dirty after initial save (#4140) 2019-03-20 23:26:12 +01:00
Marcin Bigoraj 2c271d3ef4 Allow RTE to set form dirty again after saving content item 2019-03-20 23:18:36 +01:00
Mario Lopez 9a6d938004 fixed xmldoc 2019-03-20 23:10:32 +01:00
Mario Lopez 125423947c add Udi[] to TypedContent helper 2019-03-20 23:10:32 +01:00
Kenn Jacobsen 99b80e0f56 Ensure that media in RTEs are always rendered with up-to-date sources 2019-03-20 22:46:42 +01:00
Bjarke Berg 7d67a734f0 Merge pull request #4994 from umbraco/temp-user-controller-authz
Fixes the authorization for certain endpoints on the UsersController
2019-03-15 12:27:50 +01:00
Shannon d74ec8f8cb Authorizes more endpoints for admin/non-admins 2019-03-15 12:39:46 +11:00
Shannon e24b22f6bd Fixes the authorization for certain endpoints by non admins so that data cannot be seen and avatars cannot be changed 2019-03-15 12:20:24 +11:00
Niels Lyngsoe 92453c4652 fix front-end requirement of umb-checkbox 2019-03-06 11:18:07 +01:00
Shannon Deminick 5ddba3e64e Merge pull request #3851 from umbraco/temp-fix-formdatacollection-3796
Fixes binding of FormDataCollection for GET requests which fixes the …
2019-03-05 13:39:37 +10:00
Shannon 34a3389c17 Updates to latest Examine 2019-03-05 12:50:51 +11:00
Niels Lyngsø c72a5c07fe Merge pull request #3464 from BatJan/feature/temp-U4-3463
3463 - Suggestion: Make checkboxes look prettier in checkbox lists
2019-03-04 11:39:08 +01:00
Niels Lyngsoe 409ae99bf7 renaming of umb-form-control to umb-form-check 2019-03-04 10:29:58 +01:00
Jan Skovgaard 969a9c1193 Update radiobuttons view to make use of the umb-radiobutton directive 2019-02-27 09:56:22 +01:00
Jan Skovgaard 3643e170c5 Add radiobutton directive 2019-02-27 09:55:52 +01:00
Jan Skovgaard afc872de5a Refactor checkboxlist to make use of the umbcheckbox directive 2019-02-27 09:40:48 +01:00
Jan Skovgaard 56aef39014 Add checkbox directive 2019-02-27 09:40:25 +01:00
Jan Skovgaard ae07b2b299 Refactor modifiers so they're done on the top level of the block instead 2019-02-26 21:42:24 +01:00
Jan Skovgaard b99cf238e0 Fix order of pseudo selectors to :focus is actually also set on the focused radio button 2019-02-26 21:26:14 +01:00
Jan Skovgaard 68457b7eaf Refactor styling of checkbox and radiobuttons so they're now both "umb-form-control" with modifiers, which makes it easier to reuse especially the checkbox throughout the UI. The umb-editor has been extented to have a item element and a list modfier too. Overall less code too 2019-02-26 21:21:55 +01:00
Jan Skovgaard 24c74676f6 Merge branch 'dev-v7' into feature/temp-U4-3463 2019-02-26 19:45:51 +01:00
Per Søndergaard Jensen ac1ee2fe0c #4428 - Replaced Log.Add calls with AuditService.Add in translations 2019-02-26 11:17:08 +01:00
Skid Vis 4f30dd32f1 Updates link to dev-v8
Was linked to temp8 which no longer exists and results in 404
2019-02-25 17:20:35 +01:00
Sebastiaan Janssen 8f17d6fcd2 Merge branch 'patch-7.13.2' into dev-v7
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.controller.js
2019-02-19 11:22:59 +01:00
SimonHilo 1300389ce6 Skip the check for approved/locked out members if not using Umbracos built-in MembershipProvider (#4607) 2019-02-18 20:49:27 +01:00
Kenn Jacobsen ea8d8ba771 Make the image crop slider move at 66 hertz 2019-02-18 20:39:16 +01:00
Kenn Jacobsen 1eb6ae10c9 Fix the initial zoom offset for new crops in the image cropper 2019-02-18 20:38:11 +01:00
Jan Skovgaard 5d3e1fb95f v7: User history showing even if it's empty (#4524) 2019-02-18 20:36:36 +01:00
Mathieu Deslauriers 62463ecc21 Issue 4634 : Fixed colorpicker unselection condition
When the user remove the selection the model is set to null.
When the user tries to select another value after that, the condition is trying to check the "value" property for a null object.
2019-02-18 14:52:13 +01:00
Rasmus John Pedersen 3a469cdc77 Multi Url Picker fixes (#4527)
*  Fix not being able to save link with only an anchor

* Don't allow Multi Url Picker as a parameter editor
2019-02-14 18:11:44 +01:00
matthew-hair 6665695986 Added null check for context.Identity
Signed-off-by: matthew-hair <matthew.hair@sedgwick.gov>
2019-02-14 12:55:56 +01:00
Kenn Jacobsen 19aae9ffdc Make sure the color picker label is stored on first select (#4325)
(cherry picked from commit 4dd51f645a)
2019-01-30 16:14:09 +01:00
Kenn Jacobsen 4dd51f645a Make sure the color picker label is stored on first select (#4325) 2019-01-30 16:12:50 +01:00
Vigan Shemsiu cca1393f2b Validate both width and height
Make sure to validate both width and height before running "setDimensions();". 

The focus point will not work if we have "img { width: 100%; }" in the stylesheet. 

This pull request will fix the bug.
2019-01-29 22:26:26 +01:00
Kenn Jacobsen 69548aed20 Fix the offset in the crop editor 2019-01-29 22:22:34 +01:00
Damiaan Peeters 7656de693c Add unittest 2019-01-29 22:18:53 +01:00
Damiaan Peeters 4806920179 Do not allow a empty name with for the MemberGroup 2019-01-29 22:18:53 +01:00
Kenn Jacobsen 5637c44f69 Explicitly set the form dirty when toggling a boolean 2019-01-29 17:41:28 +01:00
Sebastiaan Janssen 218995f9e0 Set version to 7.13.2 2019-01-29 17:34:05 +01:00
Kenn Jacobsen 0d167c4f2d Fix callback
(cherry picked from commit 99f0e6c05a)
2019-01-29 14:13:22 +01:00
Kenn Jacobsen d44e0d8664 Set form dirty on color picker value change + update selected item label + clean up unused code
(cherry picked from commit 2c40e46d56)
2019-01-29 14:13:14 +01:00
Kenn Jacobsen 99f0e6c05a Fix callback 2019-01-29 14:11:04 +01:00
Kenn Jacobsen 2c40e46d56 Set form dirty on color picker value change + update selected item label + clean up unused code 2019-01-29 14:11:04 +01:00
Benjamin Carleski 2c3a2b29b2 Obsolete direct hash generation methods, and switch to generic GenerateHash
As noted in https://github.com/umbraco/Umbraco-CMS/issues/4292, using direct hash methods can break compliance when on restricted systems that require FIPS compliance.  This has been addressed in a few commits.  This commit goes further to obsolete methods not previously obsoleted relating to direct hashing calls, and switches a direct call to one of these methods to use the correct, generic GenerateHash.
2019-01-29 12:58:51 +01:00
Jan Skovgaard 94a4e34e0c Make sure to hide the whole state element for screen readers rather than just the icon 2019-01-27 15:32:52 +01:00
Jan Skovgaard 7d42583177 Fix animation 2019-01-27 15:30:02 +01:00
Jan Skovgaard 77a8697ca7 Make sure the border is green when the checkbox is checked and that it's darker gray when it is focused (also while checked) 2019-01-27 15:24:49 +01:00
Jan Skovgaard 7462686778 Add styles and minor refactoring so we no longer use the "wing" icon when a radio button is checked but rather make it look like a readio button 2019-01-27 15:22:37 +01:00
Jan Skovgaard 44d5ce4a2e Include the radiobuttonlist component 2019-01-27 15:21:54 +01:00
Jan Skovgaard 34888f31e6 Place the ul styling in the proper context 2019-01-27 14:50:15 +01:00
Jan Skovgaard 0994aac656 Restructure markup to ensure the label text is properly wrapped and make sure it all aligns nicely on small breakpoints too 2019-01-27 14:38:27 +01:00
Jan Skovgaard 0e0d38be30 Refactor styling of the checkbox so the boxes are now a tad smaller and better aligned with one another and the UI in general 2019-01-27 14:18:41 +01:00
Jan Skovgaard 91735e7e3f Fix bad merge 2019-01-27 14:17:59 +01:00
Jan Skovgaard 0d4b3e4173 Merge branch 'dev-v7' into feature/temp-U4-3463
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/less/components/umb-radiobuttons-list.less
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/checkboxlist/checkboxlist.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/radiobuttons/radiobuttons.html
2019-01-27 13:31:33 +01:00
Sebastiaan Janssen d174499e50 Fixes #4260 incorrect permissions required for Notifications sign up 2019-01-27 13:30:44 +01:00
Kenn Jacobsen df20feb703 Make cache properties on PublishedContentRequest public 2019-01-27 10:39:34 +01:00
Nathan Woulfe a4c5b7118d check for editorstate.current before attempting to access properties object 2019-01-26 17:33:45 +01:00
Ronald Barendse 52a56c8852 Only add TLS 1.2 if explicit protocols are defined 2019-01-26 17:09:47 +01:00
Ronald Barendse 7a2f09643a Changed health check to indicate HTTPS endpoint connectivity using TLS 1.2 2019-01-26 15:30:47 +01:00
Paul Seal c9819b2d89 - disabled the duplicated community health checks (#4175) 2019-01-26 15:01:03 +01:00
Christian Alkærsig 7acafe67a4 Delete template2.cshtml
Auto-generated test file
2019-01-23 00:28:21 +01:00
Alkaersig 9eb2b28232 Added (Doctype) Name and Description to PublishedContentType 2019-01-23 00:28:21 +01:00
Paul Seal 832ec68140 - tls check to check if the site is set up to use at least TLS 1.2 for outgoing connections.
- added translations for all languages which have a healthcheck section in the language file.
2019-01-23 00:11:35 +01:00
Bjarne Fyrstenborg d8f0af1a94 Fix plural localization 2019-01-22 22:59:52 +01:00
Kenn Jacobsen a8d5bd6d1f Don't let the users empty the recycle bin without delete permissions (#3699) 2019-01-22 22:05:12 +01:00
Kenn Jacobsen e252a0849b Add "default empty" prevalue to date and datetime 2019-01-22 21:58:17 +01:00
Sebastiaan Janssen ba4b84d7f4 Fixes #4166 - Outgoing connections sometimes fail because they require TLS 1.2 2019-01-21 11:10:01 +01:00
Rasmus John Pedersen e1c9b1818e Add Multi Url Picker to core (#2323) 2019-01-20 21:12:00 +01:00
Abi Noda 76bece07ef add pull reminders badge to readme 2019-01-20 21:10:02 +01:00
Dave Woestenborghs 7729dc946e Fix 4058 : restore from recycle bin when item has multiple relations (#4073) 2019-01-20 20:47:13 +01:00
Kenn Jacobsen 5b285f71fa Remove hardcoded "Root" when restoring to tree root 2019-01-18 14:39:54 +01:00
Callum Whyte e60417925b Consistency is king! Fix up " vs ' in installer service facts array 2019-01-17 15:41:44 +01:00
Callum Whyte 5a78c000a0 Correcting punctuation in installer screen facts 2019-01-17 15:41:44 +01:00
Callum Whyte 54faeee837 Updating number of active Umbraco sites in installer screen facts 2019-01-17 15:41:44 +01:00
Nicholas-Westby cefa2c9040 Typo ("thist"). 2019-01-17 15:34:52 +01:00
Kenn Jacobsen 77cf071e04 Add "Move" option for deleted items in the media tree (#3914) 2019-01-17 12:20:13 +01:00
Sebastiaan Janssen 0d0179cb47 Use constants in upgrade migration 2019-01-17 12:14:17 +01:00
Sebastiaan Janssen f7671ec9a7 Fixes #4071 - Error executing scheduled task - This instance has already started one or more requests. 2019-01-15 08:39:43 +01:00
Kenn Jacobsen b9430158ce Move member group picker property data store from NVarchar to NText (#3712) 2019-01-14 09:25:59 +01:00
Kenn Jacobsen db8954e0a5 Verify that the current member is approved and not locked out (#3588) 2019-01-14 08:52:02 +01:00
Sebastiaan Janssen 05f1a24caf Fix duplicate IIS Express settings 2019-01-14 08:28:58 +01:00
Kenn Jacobsen b08e922600 Only allow setting up scheduled publishing if the user has the correct permissions to do so 2019-01-14 08:21:58 +01:00
Kenn Jacobsen fbf60fbac4 Don't add the "Notification" tree menu item if Umbraco can't send emails 2019-01-14 08:13:10 +01:00
Kenn Jacobsen 941baf09ce Fix linkpicker overlay issues (#3718) 2019-01-13 16:17:44 +01:00
Anders Bjerner be44741bf9 Localized parts of the codefile and template resources (#3495) 2019-01-13 15:58:31 +01:00
christophnz 282ac2b9c5 Added 2 HtmlHelper extension methods for rendering RelatedLinks, including Unit tests 2019-01-13 15:17:13 +01:00
Jannik Anker 1224f68297 Issue 3018 - non-admin users cannot create groups (derpness cleanup) 2019-01-13 15:13:26 +01:00
Jannik Anker 8d1733fd12 Issue 3018 - non-admin users cannot create groups 2019-01-13 15:13:26 +01:00
Bjarne Fyrstenborg 1213551ca9 Only show extension if media item has a file
(cherry picked from commit 168febae24)
2019-01-13 14:55:44 +01:00
Steve f620d0deca Fixes #4016 unpublished content styling in list view 2019-01-13 14:43:24 +01:00
Kenn Jacobsen d1cfe84723 Set the form dirty when changing focal point and editing crops 2019-01-13 14:01:11 +01:00
Kenn Jacobsen cd6cdcfda4 Visualize image transparency in upload and image cropper thumbnails (#4050) 2019-01-13 13:54:30 +01:00
Bjarne Fyrstenborg 2ebd7a077c Fix placeholder text when empty alias input after generating alias (#4032)
(cherry picked from commit c619b79276)
2019-01-13 13:16:00 +01:00
Sebastiaan Janssen 9e33581391 Merge branch 'patch-7.13.1' into dev-v7
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
2019-01-11 09:53:50 +01:00
Quan Tran 59349dd355 Fix - refine code 2019-01-10 19:35:51 +01:00
Quan Tran 4170faf76e add null checking 2019-01-10 19:35:51 +01:00
Sebastian Hoffback cc13b99787 Removed already deleted file canvasdesigner.panel.js from canvasdesigner.loader.js 2019-01-10 19:32:59 +01:00
Sebastiaan Janssen d69f0fe9dd #3993 Move color picker fix to correct method and update backwards compatibility test 2019-01-10 15:35:48 +01:00
Kenn Jacobsen d2baf03119 Fix content picker dirty checking (#4003)
(cherry picked from commit d41dbce601)
2019-01-10 09:54:39 +01:00
Sebastiaan Janssen ff085c97ce Revert "Added eslintignore file"
This reverts commit 673735c2fe.
2019-01-09 14:57:17 +01:00
Kenn Jacobsen d41dbce601 Fix content picker dirty checking (#4003) 2019-01-09 11:20:34 +01:00
Sebastiaan Janssen ec60ba142a Fixes #3993 Recent changes in color picker has caused incompatibility with existing picker 2019-01-09 10:50:27 +01:00
Kenn Jacobsen a16e31c671 Safeguard the tags value converter against empty tags
(cherry picked from commit cc6c16894c)
2019-01-08 21:52:58 +01:00
Floris Robbemont d19a23eec6 Fix for wrong sorting overload in MediaService (#3948)
(cherry picked from commit 0852b20b31)
2019-01-08 21:50:58 +01:00
Sebastiaan Janssen 0f61de8bcd Bumps version to 7.14.0 2019-01-08 21:49:17 +01:00
Sebastiaan Janssen 5b17072d55 Bump version to 7.13.1 2019-01-08 21:45:34 +01:00
Sebastiaan Janssen 51875539b9 Fixes #4000 - 7.13.0 Creating new node as an editor causes exception
(cherry picked from commit caf7a6a1ca)
2019-01-08 21:44:17 +01:00
Sebastiaan Janssen 030fd4d375 Git clone includes a directory to clone to now,
should fix Azure Gallery release.
Tightened up the variables and paths.

(cherry picked from commit e0a38a4d9b)
2019-01-08 21:44:07 +01:00
Sebastiaan Janssen 7658fba725 Fixes #3990 All images uploaded to media section have umbracoHeight / umbracoWidth of 200x200px
(cherry picked from commit 086157cff8)
2019-01-08 21:43:53 +01:00
Sebastiaan Janssen caf7a6a1ca Fixes #4000 - 7.13.0 Creating new node as an editor causes exception 2019-01-08 21:32:47 +01:00
Sebastiaan Janssen e0a38a4d9b Git clone includes a directory to clone to now,
should fix Azure Gallery release.
Tightened up the variables and paths.
2019-01-08 15:53:58 +01:00
Sebastiaan Janssen 086157cff8 Fixes #3990 All images uploaded to media section have umbracoHeight / umbracoWidth of 200x200px 2019-01-08 12:51:14 +01:00
Sebastiaan Janssen 21612454d0 Update umbtoggle.directive.js 2019-01-07 13:45:43 +01:00
Sebastiaan Janssen d53d0b4271 Add disabled state to toggle (#3967)
(cherry picked from commit d231db8ef2)

# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/languages/edit.html
2019-01-07 12:53:31 +01:00
Kenn Jacobsen 4564623899 Don't use a hardcoded folder type alias to determine folder types in the list view 2019-01-07 12:31:05 +01:00
Kenn Jacobsen cc6c16894c Safeguard the tags value converter against empty tags 2019-01-07 10:36:05 +01:00
Floris Robbemont 0852b20b31 Fix for wrong sorting overload in MediaService (#3948) 2019-01-04 11:55:52 +00:00
Claus 08e13ac530 Merge pull request #3814 from umbraco/temp7-269-xss-stylesheets
Removing malicious code from the name of a Stylesheet.
2019-01-04 10:11:25 +01:00
Claus 71f2b7ee06 updating unit tests. 2019-01-04 09:40:55 +01:00
Claus 7ead62730b reverting changes to StripHtml method. 2019-01-04 09:34:24 +01:00
Kenn Jacobsen 0150b97278 Show password change validation errors at the correct fields (#3918)
* Show password change validation errors at the correct password fields + remove the redundant "Could not reset password, errors: " message text

* Explicitly find the user instead of mapping it.
2018-12-31 14:02:59 +00:00
Kenn Jacobsen af2f531d31 Add missing localization of dialogs (#3844) 2018-12-31 13:37:58 +00:00
Sebastiaan Janssen 5e680e80e6 Deletes commented out code 2018-12-31 12:49:54 +00:00
Dave Woestenborghs ee8b4c5884 #3916 fix multiple enumerations of ienumerable...so usernames and avatars are displayed correctly 2018-12-31 12:49:54 +00:00
Dave Woestenborghs 0ce54847b0 #3916 mapping to a IEnumerable resulted in all items in the result list being the same. Now map items indiviually. Could be caused by this : https://stackoverflow.com/questions/17268362/automapper-for-a-list-scenario-only-seems-to-repeat-mapping-the-first-object-in 2018-12-31 12:49:54 +00:00
Callum Whyte b852c78861 Fixing spelling mistakes in helveticons CSS class names
The icon picker uses these class names as labels, kept the old class names for backwards compatibility
2018-12-31 12:47:04 +00:00
Kenn Jacobsen debbf87a04 Support image crop data set when overwriting files using the API 2018-12-31 12:43:06 +00:00
Brian Juul Andersen b2a1b11a5b Fixed minor grammatical error 2018-12-29 20:20:02 +00:00
elitsa 0aa1dc1dc7 Adding tests for verifying that malicious code input will be cleaned for XSS. 2018-12-27 10:02:49 +01:00
elitsa bb60d5e035 Reverting changes made from merge. 2018-12-27 09:57:31 +01:00
elitsa 247f213d26 Merge remote-tracking branch 'origin/dev-v7' into temp7-269-xss-stylesheets 2018-12-27 08:50:44 +01:00
Kenn Jacobsen 97f9151473 Add "Move" option for deleted items in the content tree (#3772) 2018-12-19 18:19:51 +01:00
Kenn Jacobsen d01dfb4ba6 Add search to move media dialog 2018-12-19 18:10:50 +01:00
Kenn Jacobsen 47ccc8f584 Group content and media types by folder when setting up compositions (#3900) 2018-12-19 17:59:31 +01:00
Dave Woestenborghs 8aa5fe8695 Setting hide-alias to false still hides the alias
When using umb-editor-header setting hide-alias to false still hides the alias.

I would expect that it would be visible. The only thing that works to make it visible to is removing the hide-alias attribute.

This PR fixes this. So now you can hide the alias based on property of your scope.

Dave
2018-12-19 16:28:03 +01:00
Kenn Jacobsen a165a2b719 Reload list views after deleting items (#3853) 2018-12-19 16:18:11 +01:00
Lukasz Wojciech Kaleta 9c101622d0 Delete user start node assignments before deleting the user 2018-12-19 16:16:58 +01:00
Kenn Jacobsen 9af6e3027f Don't show (blank) for non blueprint content types (#3887) 2018-12-19 15:41:24 +01:00
Paul Seal e41db72ef7 - added class and style rule to make health check fix message look be… (#3747) 2018-12-19 15:38:08 +01:00
Kenn Jacobsen 4d48254a93 Don't show "Create" and "Sort" for deleted items in the media tree 2018-12-19 15:33:53 +01:00
Kenn Jacobsen f3e8b70b8c Show only the success message upon successful update of notifications 2018-12-19 15:32:31 +01:00
Kenn Jacobsen 410ab3447c Fix "toggle all editors" for grid rows 2018-12-19 15:13:36 +01:00
Kenn Jacobsen 96f529c669 Fix "allow all row configurations" for grid layouts 2018-12-19 15:12:32 +01:00
Kenn Jacobsen 08dc5a4038 Fix the disappearing action button by using a promise 2018-12-19 15:03:00 +01:00
Marc Goodson 150ab13668 Honour 'Order Direction' passed into GetPagedResultsByQuery
Wanting to update the MiniListView so that you can change the sort order of the results, so that the most recent items are first, eg sort by descending, however chasing this through to the Entity Repository GetPagedResultsByQuery although the sort direction is passed at each stage, inside this method it is ignored... is this the best way to add it back in?
2018-12-19 14:06:11 +01:00
elitsa d7696e8d91 Making a variable const 2018-12-18 11:34:50 +01:00
Shannon Deminick fde64f157c Merge pull request #3818 from umbraco/temp7-268-xss-xslt
Fixing XSS issue with Xslt files.
2018-12-17 15:20:36 +11:00
Shannon Deminick 518f5137e6 Merge pull request #3847 from umbraco/temp7-267-membership-tokens
Implementing a validation token when a membership form is submitted.
2018-12-17 15:14:32 +11:00
Shannon a0f15bba44 Fixes binding of FormDataCollection for GET requests which fixes the compatibility with the latest WebApi 5.2.7 version 2018-12-11 11:58:39 +11:00
elitsa 8518aaf4c1 Merge branch 'temp7-269-xss-stylesheets' of https://github.com/umbraco/Umbraco-CMS into temp7-269-xss-stylesheets
# Conflicts:
#	src/Umbraco.Core/StringExtensions.cs
2018-12-10 11:00:31 +01:00
elitsa 9edafe37e1 Merge branch 'dev-v7' into temp7-269-xss-stylesheets
# Conflicts resolved:
#	src/Umbraco.Core/StringExtensions.cs
2018-12-10 10:57:30 +01:00
elitsa 3c74ce2427 Implementing anti forgery token which will not allows members to be created by sending a request directly to the registration controller when the request is not coming from a page in the application 2018-12-10 08:55:54 +01:00
Kenn Jacobsen 9f9286ae45 Redirect to recycle bin after deletion 2018-12-10 08:16:37 +01:00
Anders Bjerner 7c8ab96b51 As Gitter has been removed from Our, we might as well remove it here 2018-12-09 18:20:41 +01:00
Kenn Jacobsen 87478163ed Reload the recycle bin when deleting an item (#3820) 2018-12-09 18:19:48 +01:00
Kenn Jacobsen 7149ebcb68 Localize document type scaffolds for nested content (#3483) 2018-12-09 18:15:11 +01:00
Kenn Jacobsen 3ab5e166d3 Update the select avatar step for invited users 2018-12-09 17:48:10 +01:00
Sébastien Sougnez 1d9bb4605b Improvement to the .editorconfig file (#3795) 2018-12-09 17:44:11 +01:00
Kenn Jacobsen fb094f46be Fix edit content localization errors (#3840)
* Fix wrongly formatted localizations

* Swap hardcoded time format for a localized one

* Split date and time in publish messages
2018-12-07 14:17:34 +01:00
Kenn Jacobsen 7fc69e5eb0 Add instructions on how to apply a display name in notification emails 2018-12-07 12:37:59 +01:00
Sebastiaan Janssen ebcf011287 Revert the addition of + which was a leftover from debugging 2018-12-06 16:58:12 +01:00
Sebastiaan Janssen 67f9d9d665 Codebase now runs on VS2019 2018-12-06 13:09:21 +01:00
Kenn Jacobsen 9ad69c11cb Fix publish dates issues (#3507) 2018-12-03 18:45:50 +01:00
Sebastiaan Janssen a8d7660150 So close, come on dependencies! 2018-12-03 13:30:25 +01:00
Sebastiaan Janssen 0410a788cb One more attempt to fix vulnerable dependencies 2018-12-03 13:23:37 +01:00
Sebastiaan Janssen 763fda2857 Hopefully resolve the rest of the vulnerabilities 2018-12-03 13:11:39 +01:00
Elitsa Marinovska 914d956ada Merge branch 'dev-v7' into temp7-269-xss-stylesheets 2018-12-03 12:50:40 +01:00
Sebastiaan Janssen 137439d6eb Fixes the flatmap-stream issue. package-lock went nuts, but couldn't figure it out even with Mads' help :/ 2018-12-03 12:43:39 +01:00
elitsa 41271c7fab Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-12-03 12:38:28 +01:00
elitsa 3ef4da0615 Reverting. 2018-12-03 12:15:34 +01:00
elitsa ae8e20546f Reverting - unrelated changes. 2018-12-03 12:15:01 +01:00
elitsa 978f409f23 Removing malicious code when creating or editing the name of a xslt file. 2018-12-03 12:07:41 +01:00
Matthew Wise 673735c2fe Added eslintignore file 2018-12-03 09:50:24 +01:00
elitsa 0abe685d7f Removing malicious code from the name of a Stylesheet. 2018-12-03 09:00:44 +01:00
elitsa ae36e02f4c Reverting to the origin. 2018-12-03 08:54:08 +01:00
elitsa 3a26fe8fe2 Removing malicious code from the name of a Stylesheet. 2018-12-03 08:45:11 +01:00
Anders Bjerner 5f165d23db Link picker overlay: Changed the order of execution to avoid an unnecessary delay 2018-11-30 10:38:36 +01:00
Laura W 9ecc0f35f8 Saving content id against initial SavePublish action 2018-11-28 16:09:07 +01:00
Steve Morgan af6b649845 #3565 - U 7.12.3 - Validation of Value type for Label Data Type
Added a required flag. Seems to now require a selection. Not sure if this will affect anything else that relies on this though?
2018-11-27 23:49:31 +01:00
Kenn Jacobsen 2ae2c3f6f6 Fix the flickering on the data type selector 2018-11-27 23:40:03 +01:00
Kenn Jacobsen 451fb50539 Fix checkbox list mandatory validation 2018-11-27 23:37:29 +01:00
Kenn Jacobsen 8393856b15 Fix dropdown validation (#3504) 2018-11-27 23:36:49 +01:00
Sebastiaan Janssen 3ce30f5fcb Merge pull request #3582 from avs099/dev-v7
Update ContentFinderByRedirectUrl.cs: only set headers for redirect IF redirect happens
2018-11-27 23:10:16 +01:00
Sebastiaan Janssen f316b45ff8 Merge branch 'dev-v7' into dev-v7 2018-11-27 23:08:44 +01:00
prjseal d6662febec - added the change to the control in the umbraco.web.ui folder as I don't believe it is generated automatically from the other file. 2018-11-27 23:04:04 +01:00
prjseal 75fdee6d6d - added links to relation items in relatin view 2018-11-27 23:04:04 +01:00
George Jones ea1a25eb84 Fix typo in SqlCeUpgradeTests.cs
Fix very minor typo in code comment
2018-11-27 22:59:16 +01:00
GIBE\jack.durcan 566459cb54 Fixed typo in base database factory test class 2018-11-27 22:58:18 +01:00
Kenn Jacobsen 8d1bf6a1b8 Make it possible to fetch more than 2000 entities 2018-11-27 22:56:28 +01:00
Gareth Wright 63f548ea35 removed languages used for creating language. Removed languages used when editing language apart from current language. 2018-11-27 22:55:04 +01:00
Gareth Wright 353b6a728d Added check for existing language when adding new language in the backoffice 2018-11-27 22:55:04 +01:00
Søren Kottal 75be42f8ff Change back to a-tag
Has to be an `<a>` with an empty `href` for the ng-click to fire.
2018-11-27 22:39:02 +01:00
Søren Kottal 7f858899a3 Changes add-button to a button
Makes it possible to tab to the button.
2018-11-27 22:39:02 +01:00
Kenn Jacobsen 269f12edbf Remove the default action from tree menus if it isn't allowed 2018-11-27 22:35:38 +01:00
sebastien-sougnez 57fa452c49 Allow the "hideHeader" property of the treepicker dialog to be configurable 2018-11-27 22:30:23 +01:00
Kenn Jacobsen fe26239f73 Fix the sort order of dictionary items in both the tree and list view 2018-11-27 22:20:54 +01:00
darrenferguson 4e887b843b Include the umbracoApplicationUrl Host in the Healthcheck email notifier (#3595) 2018-11-27 22:16:24 +01:00
Kenn Jacobsen 4092ab7277 Ensure that the sort order of crops is saved 2018-11-27 21:39:04 +01:00
Benjamin Carleski a37b2d42fb Disable Gravatar images when FIPS is enabled
Gravatar image URLs require an MD5 hash of the email be generated.  On a FIPS-enabled server, the MD5 algorithm is not available.  As Gravatar doesn't offer any other method for getting user images, enabling FIPS means that no user images will be available.
2018-11-27 21:30:46 +01:00
Enkel Media e9d53252b8 #3317 Appening Querystrings to url in ContentFinderByRedirectUrl (#3731) 2018-11-27 21:23:11 +01:00
Mike Masey 60c613e366 Add build requirements to Contributing details readme. 2018-11-27 21:10:58 +01:00
Kenn Jacobsen 60d5e3c449 Change the secondary action button to a link style button 2018-11-27 21:05:12 +01:00
Kenn Jacobsen 45cdb2af6e Align the list view save and close buttons to the right 2018-11-27 21:05:12 +01:00
Laura Weatherhead 03d965eada U4-11088 - XML Data Integrity "Fix Button" not Visible (#3782) 2018-11-27 20:52:20 +01:00
Germán Díaz de Rada d1457cfd75 Updated with more accurate translations (#3742)
Updated Spanish translations
2018-11-27 10:22:01 +01:00
Sebastiaan Janssen 4024095555 Revert "Style the default browser radio button as a custom one to provide a nicer UI experience" #3226 2018-11-26 17:23:40 +01:00
Robert 7a53d58b4a Merge pull request #3759 from marcemarc/#3758-V7-Fix-Audit-Repository-GetPagedResultsByQuery
Fix for #3758 - Map NodeId of Audited Item instead of Log entry PK
2018-11-26 11:36:28 +01:00
Marc Goodson aac278a4e3 Fix for #3758 - Map NodeId of Audited Item instead of Log entry PK
The Entity NodeIds aren't being passed through from the database Audit table, instead the Log Entry Primary Key is used incorrectly instead, this commit fixes it so the NodeId is passed!
2018-11-26 00:07:27 +00:00
Warren Buckley dd6e764588 Merge pull request #3746 from umbraco/revert-3745-temp8-tinymce
Revert "Temp8 tinymce"
2018-11-22 14:07:57 +00:00
Warren Buckley 54a2aa00a7 Revert "Temp8 tinymce" 2018-11-22 14:05:51 +00:00
Warren Buckley 2a0748fc1e Merge pull request #3745 from umbraco/temp8-tinymce
Temp8 tinymce
2018-11-22 14:05:44 +00:00
Shannon 77f855a649 Removes a ton of duplicate code 2018-11-22 17:46:49 +11:00
Shannon 08dc94a535 Merge branch 'temp8' into temp-tinymce
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/directives/components/grid/grid.rte.directive.js
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
#	src/Umbraco.Web.UI.Client/src/less/property-editors.less
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.html
2018-11-22 15:38:58 +11:00
Shannon 57074d3545 some code cleanup 2018-11-22 15:26:10 +11:00
Shannon 3947a471be Fixes tree sync with sorting media 2018-11-21 16:59:23 +11:00
Shannon fda327a604 removes $routeParams from a dependency on content.resource, fixes event ordering during nav init, fixes tree re-syncing after sorting, removes some obsolete/old code 2018-11-21 16:40:13 +11:00
Stephan 64dd7c113c Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-11-20 15:19:07 +01:00
Stephan e056f1b282 Fix tests 2018-11-20 15:17:01 +01:00
Mads Rasmussen 219b38ff77 fix authorize upgrade screen 2018-11-20 12:33:26 +01:00
Shannon 63470c80dd fixes build 2018-11-20 20:28:17 +11:00
Shannon Deminick e8e6374c95 Merge pull request #3693 from umbraco/temp8-3096-angular-bulk-publish
Angular bulk publishing integration
2018-11-20 19:38:12 +11:00
Shannon 9e7384a330 Merge branch 'temp8' into temp8-3096-angular-bulk-publish
# Conflicts:
#	src/Umbraco.Core/Migrations/Upgrade/UmbracoPlan.cs
2018-11-20 19:37:39 +11:00
Shannon d2a61e5b9c Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-11-20 19:31:08 +11:00
Shannon 82e7be4ae9 Fixes creating content type collections 2018-11-20 18:43:41 +11:00
Stephan 8aaa75778e Cleanup 2018-11-20 08:35:28 +01:00
Stephan 5f8e46e3cd Merge branch 'temp8' into temp8-3713 2018-11-20 08:15:26 +01:00
Shannon fad566afba Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html
2018-11-20 18:14:36 +11:00
Shannon 3dfa3eaac7 fixes media picker svg handling to only use a single IMG tag, else this resulted in a number of 404's with invalid paths like [Object,object] 2018-11-20 18:13:19 +11:00
Shannon e6718c6989 more manual merging 2018-11-20 17:44:24 +11:00
Shannon bc66d4cbc6 manually merges list view changes with new blueprint functionality, manually merges other files, fixes issue with Action drop down in v8 2018-11-20 17:00:37 +11:00
Shannon d5a8e7751b Removes the word "Kim" from the list view 2018-11-20 15:25:02 +11:00
Shannon 96d7cca68d Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	src/Umbraco.Core/Services/MediaService.cs
#	src/Umbraco.Web.UI.Client/src/common/directives/validation/valtab.directive.js
2018-11-20 14:12:26 +11:00
Shannon b4c2c8bd74 manually merging 2018-11-20 14:11:35 +11:00
Shannon 9ae4d1cdf5 fixes how the grid rte resizes when a tab changes to use the proper event handler 2018-11-20 14:10:20 +11:00
Shannon 80070e7332 Fixes how the new move method on MediaService deals with event messages 2018-11-20 12:20:16 +11:00
Shannon f7f81945a0 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-11-20 11:51:59 +11:00
Shannon Deminick c981f5e1b0 Merge pull request #3711 from aaronpowell/temp8-3710
Fixes 3710: Removing the usage of HostingEnvironment.MapPath
2018-11-20 11:31:26 +11:00
Aaron Powell 8a809fe97a Pushing crash handling on app domain into CoreRuntime 2018-11-19 22:02:51 +11:00
Aaron Powell bcf542506d setting up more of the core in CoreRuntime, this time the logger and Umbraco Core 2018-11-19 22:00:50 +11:00
Aaron Powell c9b2cbc75f Removing files that weren't meant to be added 2018-11-19 21:26:32 +11:00
Aaron Powell 71026d6d15 Fixes 3713
Moved the UmbracoApplicationBase from Core to Web
Moved the WebProfiler from Core to Web
Removed UmbracoApplicationBase from the CoreRuntime, it's still in the WebRuntime (and registered there in DI)
2018-11-19 21:23:08 +11:00
Shannon 543a34a6f3 Fixes how the new move method on MediaService deals with event messages 2018-11-19 17:58:42 +11:00
Shannon 99d9c49c9f Gets sln building and manually merges the entity/media service changes 2018-11-19 17:54:36 +11:00
Shannon c3736ce7ab Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	.github/README.md
#	build.bat
#	src/Umbraco.Core/Migrations/Expressions/Alter/Table/AlterTableBuilder.cs
#	src/Umbraco.Core/Migrations/Expressions/Create/Column/CreateColumnBuilder.cs
#	src/Umbraco.Core/Migrations/Expressions/Create/Index/CreateIndexBuilder.cs
#	src/Umbraco.Core/Migrations/Expressions/Create/Table/CreateTableBuilder.cs
#	src/Umbraco.Core/Persistence/DatabaseModelDefinitions/DefinitionFactory.cs
#	src/Umbraco.Core/Persistence/DatabaseModelDefinitions/IndexDefinition.cs
#	src/Umbraco.Core/Persistence/Factories/MediaFactory.cs
#	src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/Column/AlterColumnBuilder.cs
#	src/Umbraco.Core/Persistence/Repositories/EntityRepository.cs
#	src/Umbraco.Core/Persistence/Repositories/UserRepository.cs
#	src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs
#	src/Umbraco.Core/Persistence/SqlSyntax/MySqlSyntaxProvider.cs
#	src/Umbraco.Core/Services/EntityService.cs
#	src/Umbraco.Core/Services/IMediaService.cs
#	src/Umbraco.Core/Services/MediaService.cs
#	src/Umbraco.Core/Services/NotificationService.cs
#	src/Umbraco.Web.UI.Client/bower.json
#	src/Umbraco.Web.UI.Client/src/common/directives/components/imaging/umbimagegravity.directive.js
#	src/Umbraco.Web.UI.Client/src/common/directives/components/tree/umbtreeitem.directive.js
#	src/Umbraco.Web.UI.Client/src/common/directives/validation/valtab.directive.js
#	src/Umbraco.Web.UI.Client/src/common/resources/media.resource.js
#	src/Umbraco.Web.UI.Client/src/common/resources/mediatype.resource.js
#	src/Umbraco.Web.UI.Client/src/controllers/navigation.controller.js
#	src/Umbraco.Web.UI.Client/src/less/main.less
#	src/Umbraco.Web.UI.Client/src/less/panel.less
#	src/Umbraco.Web.UI.Client/src/less/property-editors.less
#	src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/mediapicker/mediapicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/mediaPicker/mediapicker.html
#	src/Umbraco.Web.UI.Client/src/views/components/imaging/umb-image-gravity.html
#	src/Umbraco.Web.UI.Client/src/views/content/copy.html
#	src/Umbraco.Web.UI.Client/src/views/content/emptyrecyclebin.html
#	src/Umbraco.Web.UI.Client/src/views/content/move.html
#	src/Umbraco.Web.UI.Client/src/views/dashboard/settings/settingsdashboardintro.html
#	src/Umbraco.Web.UI.Client/src/views/datatypes/move.html
#	src/Umbraco.Web.UI.Client/src/views/documenttypes/copy.html
#	src/Umbraco.Web.UI.Client/src/views/documenttypes/create.html
#	src/Umbraco.Web.UI.Client/src/views/documenttypes/move.html
#	src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.controller.js
#	src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html
#	src/Umbraco.Web.UI.Client/src/views/media/move.html
#	src/Umbraco.Web.UI.Client/src/views/mediatypes/copy.html
#	src/Umbraco.Web.UI.Client/src/views/mediatypes/create.html
#	src/Umbraco.Web.UI.Client/src/views/mediatypes/move.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/imagecropper/imagecropper.prevalues.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/radiobuttons/radiobuttons.html
#	src/Umbraco.Web.UI.Client/src/views/users/views/user/details.html
#	src/Umbraco.Web.UI/Umbraco/config/lang/da.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/fr.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/pl.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/ru.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/sv.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/zh.xml
#	src/Umbraco.Web.UI/Umbraco/developer/Macros/editMacro.aspx
#	src/Umbraco.Web.UI/Umbraco/dialogs/ChangeDocType.aspx
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/es.xml
#	src/Umbraco.Web.UI/umbraco/dialogs/editMacro.aspx
#	src/Umbraco.Web/Controllers/UmbLoginController.cs
#	src/Umbraco.Web/Editors/ContentControllerBase.cs
#	src/Umbraco.Web/Editors/ContentTypeController.cs
#	src/Umbraco.Web/Editors/MediaController.cs
#	src/Umbraco.Web/Editors/PasswordChanger.cs
#	src/Umbraco.Web/HttpRequestExtensions.cs
#	src/Umbraco.Web/Models/ContentEditing/Tab.cs
#	src/Umbraco.Web/PropertyEditors/ImageCropperPropertyEditor.cs
#	src/Umbraco.Web/Templates/TemplateRenderer.cs
#	src/Umbraco.Web/Trees/ApplicationTreeController.cs
#	src/Umbraco.Web/Trees/ContentTreeController.cs
#	src/Umbraco.Web/Trees/ContentTreeControllerBase.cs
#	src/Umbraco.Web/Trees/MediaTreeController.cs
#	src/Umbraco.Web/_Legacy/Controls/TabView.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/developer/RelationTypes/EditRelationType.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/developer/Xslt/editXslt.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/protectPage.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/settings/editLanguage.aspx.cs
#	src/umbraco.cms/Actions/Action.cs
#	src/umbraco.providers/members/UmbracoMembershipProvider.cs
2018-11-19 15:32:26 +11:00
Aaron Powell e1be4effca Fixes 3710: Removing the usage of HostingEnvironment.MapPath 2018-11-19 14:31:20 +11:00
Warren Buckley 31969cd767 Merge pull request #3625 from umbraco/temp8-login-screen
Temp8 login screen
2018-11-16 12:34:05 +00:00
Stephan 35a5146cad Fix ContentService branch publishing 2018-11-16 13:30:42 +01:00
Shannon 3e5e9aa9d7 temp refactor for fixing issue with return AlreadyPublishedStatus 2018-11-16 16:39:27 +11:00
Stephan 889e48ea4a Detect incomplete migrations 2018-11-15 19:36:23 +01:00
Stephan 149dfda975 Merge branch 'temp8-224-db-updates-sched-publishing-with-variants' into temp8-3096-angular-bulk-publish 2018-11-15 14:58:51 +01:00
Stephan 6a8fc09acd Fix ContentService branch publishing events 2018-11-15 14:58:10 +01:00
Stephan 243fa78edf Fix scheduled publishing 2018-11-15 14:57:56 +01:00
Bjarke Berg 0fedeab45d Merge pull request #3516 from umbraco/temp8-expr-visitor
Fix expression visitor for WHERE IN
2018-11-15 14:54:38 +01:00
Stephan f316931a50 Merge branch 'temp8-224-db-updates-sched-publishing-with-variants' into temp8-3096-angular-bulk-publish 2018-11-15 13:34:02 +01:00
Stephan eb37e03ebc Deal with fixme/review 2018-11-15 13:25:21 +01:00
Mads Rasmussen 40c0b4ef2b delete angular-bootstrap file. It is never loaded anyway 2018-11-15 13:18:15 +01:00
Sebastiaan Janssen 06db9d2223 Reverts PR #3449 and #3493 2018-11-15 13:00:54 +01:00
Mads Rasmussen 29a2e4664b Remove global close dialog events and add them to each component so we can clean up correctly 2018-11-15 10:58:47 +01:00
Stephan c2a72ad98f Fix tags migration 2018-11-15 10:11:22 +01:00
Stephan 42857ebc2a Simplify version management, SolutionInfo is only the source now 2018-11-15 08:47:47 +01:00
Stephan bd9a67f5a9 Fix dropdown migration 2018-11-15 08:43:54 +01:00
Bjarke Berg 94790e5eab Merge pull request #3528 from umbraco/temp7-3015-change-password-should-not-reset
If a password is provided, then use this instead of an autogenerated …
2018-11-15 07:42:35 +01:00
Shannon e5e2194316 Updates some messaging 2018-11-15 17:20:00 +11:00
Shannon 7f6da8bca7 Merge branch 'temp8-224-db-updates-sched-publishing-with-variants' into temp8-3096-angular-bulk-publish 2018-11-15 16:27:31 +11:00
Shannon b515aea8dd Fixes issue with *, fixes some of the logic in tests, adds another test, adds fixme notes 2018-11-15 16:25:08 +11:00
Shannon b0e97ad772 Adds failing test that should work 2018-11-15 15:43:44 +11:00
Shannon 496ecf5c9a Cleans up how the content path permissions are checked, integrates the bulk publishing into the controller, adds security check to ensure the user can publish the whole branch, updates the UI messaging so they are grouped by publish statuses and deals with multiple publish status (i.e. in bulk), fixes some content tree issues 2018-11-15 15:24:09 +11:00
Shannon 5135cc93ac Merge branch 'temp8-226-sched-pub-angular' into temp8-3096-angular-bulk-publish 2018-11-15 10:04:18 +11:00
Mads Rasmussen a067242f5e fix list view card layout 2018-11-14 15:31:17 +01:00
Mads Rasmussen c7e1cdec17 delete dialogService 2018-11-14 14:49:11 +01:00
Mads Rasmussen 86e280f7d3 delete last dialogService views 2018-11-14 14:30:21 +01:00
Shannon cbd14c0a7d Merge remote-tracking branch 'origin/temp8-224-db-updates-sched-publishing-with-variants' into temp8-226-sched-pub-angular 2018-11-15 00:14:46 +11:00
Mads Rasmussen 136309dd29 remove dialogService from new login screen 2018-11-14 14:11:43 +01:00
Mads Rasmussen 10caf7b75b remove old login screen code 2018-11-14 14:11:11 +01:00
Shannon c8f1863e0d Getting publish with descendants working 2018-11-15 00:09:57 +11:00
Stephan e08189cc25 ContentSchedule Guid identifier 2018-11-14 13:59:53 +01:00
Claus 609609e1ee Merge pull request #3619 from umbraco/abjerner-patch-2
Spotted some minor typos
2018-11-14 13:55:19 +01:00
Mads Rasmussen 4f2ed545da remove migration code for legacy views 2018-11-14 13:52:43 +01:00
Mads Rasmussen 9f8f1a1df2 This file doesn't seem to be in use 2018-11-14 13:49:04 +01:00
Mads Rasmussen 66fd184480 remove references to dialogService 2018-11-14 12:50:50 +01:00
Shannon 204c4e21fc fix merge 2018-11-14 22:31:51 +11:00
Shannon 8020092099 Merge remote-tracking branch 'origin/temp8-224-db-updates-sched-publishing-with-variants' into temp8-226-sched-pub-angular 2018-11-14 22:23:40 +11:00
Stephan 3104b02db4 Deal with fixme/review 2018-11-14 11:59:16 +01:00
Mads Rasmussen 49a624ade7 fix discard changes for permissions context dialog 2018-11-14 11:56:04 +01:00
Mads Rasmussen bea074c964 fix up "Do something else"-buttons 2018-11-14 11:17:44 +01:00
Stephan 7a0040ce82 Bugfix visitor 2018-11-14 10:52:24 +01:00
Shannon 413791fb19 Fixes problem with UserRepository.GetProfile since it was looking up the wrong fields :( this meant that the security audit events were not being raised since it wasn't finding users by their login 2018-11-14 20:32:20 +11:00
Shannon b029215933 Updates logic for PasswordChanger so when the ChangePasswordWithMembershipProvider it correctly updates the password and raises the right event 2018-11-14 20:09:29 +11:00
Mads Rasmussen b38547396b fix up more context menu close buttons 2018-11-14 09:46:11 +01:00
Stephan 7c6b92b539 Merge branch 'temp8' into temp8-expr-visitor 2018-11-14 09:20:06 +01:00
Stephan 9ed7758d38 Deal with fixme/review 2018-11-14 09:16:22 +01:00
Shannon 0b403fe5e5 Merge remote-tracking branch 'origin/temp8' into temp8-226-sched-pub-angular 2018-11-14 19:07:54 +11:00
Shannon Deminick 5c255ba846 Merge pull request #3525 from umbraco/temp8-265-cant-create-partial-view-macro-files
Change sections on views for partial view macros
2018-11-14 19:07:26 +11:00
Shannon bcf5006e8c Merge remote-tracking branch 'origin/temp8' into temp8-226-sched-pub-angular 2018-11-14 18:58:13 +11:00
Shannon Deminick d4836d0cb8 Merge pull request #3523 from umbraco/temp8-264-cant-reload-tree-nodes-in-templating-area
Bugfix: Can't reload tree Nodes in the Templating area of the Settings section
2018-11-14 18:56:16 +11:00
Shannon d80ce16e66 Merge remote-tracking branch 'origin/temp8-224-db-updates-sched-publishing-with-variants' into temp8-226-sched-pub-angular 2018-11-14 17:40:04 +11:00
Mads Rasmussen 17497e7cc7 fixing up a bunch of close buttons in the context menu dialogs 2018-11-13 17:38:22 +01:00
Stephan 0cd8f3787c Clear fixmes 2018-11-13 16:42:31 +01:00
Anders Bjerner cb636544c0 Spotted some minor typos 2018-11-13 15:06:58 +01:00
Mads Rasmussen d7f59adc64 dont get currentNode from dialogOptions 2018-11-13 14:26:43 +01:00
Mads Rasmussen 259e17b45d open context menu dialog based on appState instead of dialogService 2018-11-13 14:25:15 +01:00
Robert c1bbc22087 Merge pull request #3511 from umbraco/temp7-262-xss-updating-removing-publicAccess
Adding html encoding when updating or removing Public Access of a con…
2018-11-13 12:54:11 +01:00
Stephan 0376e48f51 Clear fixme 2018-11-13 11:59:27 +01:00
Stephan 6cb20c1d79 Deal with events and contexts in scheduled publishing 2018-11-13 11:51:25 +01:00
Stephan 76b1cd6573 Cleanup 2018-11-13 11:51:25 +01:00
Mads Rasmussen 530a3e2439 fix up invite user functionality 2018-11-13 10:41:09 +01:00
Mads Rasmussen 340ad8b853 add white background to user invite confirmation screen 2018-11-13 09:40:04 +01:00
Shannon 31a9bf7091 Merge branch 'temp8-224-db-updates-sched-publishing-with-variants' into temp8-226-sched-pub-angular 2018-11-13 18:22:13 +11:00
Shannon ae91da1adb Updates the GetContentForExpiration, GetContentForRelease to ignore published/trashed flags so that callers can deal with those status, adds method to the repo to clear any schedule older than a given date. 2018-11-13 17:51:59 +11:00
Shannon ac5c76385c Fixes some logic with validation 2018-11-13 16:57:38 +11:00
Shannon c6ef3750df Merge branch 'temp8-224-db-updates-sched-publishing-with-variants' into temp8-226-sched-pub-angular 2018-11-13 16:17:23 +11:00
Shannon 6e63cc8c19 Fixes ScheduledPublishing since nothing was actually happening because the IEnumerable wasn't being resolved since the method does a yield return. Adds logging. 2018-11-13 16:16:52 +11:00
Shannon 5827a8a3e1 I think i've finally got saving a schedule working with the correct validation 2018-11-13 14:31:37 +11:00
Shannon 66394926c0 Gets some validation messages working for sched pub 2018-11-13 00:46:13 +11:00
Mads Rasmussen 253797573e dont bind the form to the vm 2018-11-12 11:40:03 +01:00
Shannon c653d7adb9 Ensures that any persisted scheduling dates that are changed in the dialog are reset if the dialog is closed and not saved 2018-11-12 18:05:55 +11:00
Shannon 5d7e0ceff1 Updates the scheduled publish dialog to show all scheduled dates regardless of if the variant is selected. When the variant is selected then the date pickers are available, else if there is a persisted date, it's just text that is shown. 2018-11-12 17:52:21 +11:00
Shannon 4d13956372 better logic for validating and persisting schedules 2018-11-12 17:29:38 +11:00
Shannon 45822dba1e Merge remote-tracking branch 'origin/temp8-224-db-updates-sched-publishing-with-variants' into temp8-226-sched-pub-angular 2018-11-12 17:18:23 +11:00
Mads Rasmussen db2f1e9cb1 use overlayService for ysods 2018-11-09 13:49:19 +01:00
Mads Rasmussen ad805acd38 fix reset password flow 2018-11-09 11:18:01 +01:00
Mads Rasmussen 1e167113b7 fix show reset password button 2018-11-09 10:39:33 +01:00
Mads Rasmussen 4c3ac097ca wip move login logic from dialog to its own component 2018-11-09 09:59:36 +01:00
Stephan 5381eec6a4 fix+cleanup publishing with variants 2018-11-09 09:35:11 +01:00
Shannon 76f6721c80 Got some of the angular bits wired up 2018-11-09 16:12:08 +11:00
avs099 b2ffe4b685 Update ContentFinderByRedirectUrl.cs 2018-11-08 19:48:16 -05:00
Laura Weatherhead 1850d046e4 RelatedLinks2 validation in Nested content (#3578) 2018-11-08 16:53:25 +00:00
LindaSluijter 6a1568d562 Typo/spelling/grammar fixes for Dutch translation (#3576) 2018-11-08 16:36:40 +00:00
James Jackson-South 0803e0fa7f Recreate benchmark project and update deps Fix #3561 2018-11-08 16:28:17 +00:00
Owain Williams 3c74b7f112 Turning auto complete off on Password field 2018-11-08 16:05:49 +00:00
Owain Williams f13cc6a210 Turning autocomplete off on password field 2018-11-08 16:04:02 +00:00
Emma Garland b065089bcb Renamed variable in order to fix issue when using content picker 2018-11-08 14:30:12 +00:00
Karl Tynan 8897ae18da Remove duplicate "?" on emptying recycle bins (#3556) 2018-11-08 14:13:53 +00:00
Laura W c01d09744f Updated absolute-positioned validation error message to be readable when document types are attempting save with duplicate alias 2018-11-08 11:45:18 +00:00
Mads Rasmussen 1f3e67645d a bit of dependency injection clean up so we can figure out where the dialogService is used. 2018-11-08 12:44:24 +01:00
Mads Rasmussen 92dacf050b Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-11-08 10:10:07 +01:00
Mads Rasmussen 51895f949c fix client side docs build 2018-11-08 10:09:31 +01:00
Shannon 3ac3590f2c only enable the schedule button if a date is selected 2018-11-08 17:14:04 +11:00
Shannon 4b23090e97 fixes migrations 2018-11-08 14:42:46 +11:00
Shannon 6922e825f5 fixes migrations 2018-11-08 14:40:10 +11:00
Shannon fad2e048ff Merge remote-tracking branch 'origin/temp8' into temp8-224-db-updates-sched-publishing-with-variants 2018-11-08 14:32:37 +11:00
Shannon 99a8d899e0 Changes FullSchedule to just be a list 2018-11-08 13:15:56 +11:00
Shannon c4bce9ecb5 Adds publish status for mixed unpublish/publish action in the same operation 2018-11-08 12:49:37 +11:00
Shannon d4bf5f7ab9 Fixes test, removes nested scope 2018-11-08 12:28:53 +11:00
Warren Buckley 9608d20b38 Merge pull request #3542 from umbraco/temp8-stylesheet-fixes
Temp8 stylesheet fixes
2018-11-07 18:27:18 +00:00
Mads Rasmussen 1d07ef7e4d add preview 2018-11-07 18:23:43 +01:00
Stephan 399e0d9469 Merge branch 'temp8' into temp8-expr-visitor 2018-11-07 15:24:56 +01:00
Mads Rasmussen dca4c4e3bf open the correct view based on which item you are creating and on the content of the stylesheet file 2018-11-07 15:11:35 +01:00
Shannon 3b3824c33a Fixes merge issues and issue with StrategyCanUnpublish, 1 tests failing i need to fix 2018-11-07 22:18:43 +11:00
Shannon 6888ed088b Merge remote-tracking branch 'origin/temp8-3336-publish-branch' into temp8-224-db-updates-sched-publishing-with-variants
# Conflicts:
#	src/Umbraco.Core/Services/Implement/ContentService.cs
2018-11-07 22:09:51 +11:00
Shannon 607615c968 Adds another assert, fixes up issue 2018-11-07 21:40:19 +11:00
Shannon adf52425d2 Adds test for PerformScheduledPublish, fixes issues with resetting dirty props, fixes other issues found 2018-11-07 21:32:12 +11:00
Warren Buckley 7f0099ca57 Adds new create dialog option to create a stylesheet as RTE (will set URL location to include rtestyle=true) 2018-11-07 10:26:51 +00:00
Mads Rasmussen d021505062 use infinite editing for rich text rule dialog 2018-11-07 11:18:23 +01:00
Bjarke Berg c182428986 If a password is provided, then use this instead of an autogenerated one. 2018-11-07 10:51:55 +01:00
Shannon df40a3d588 merge fixes 2018-11-07 20:12:07 +11:00
Shannon 92045c81bb Merge remote-tracking branch 'origin/temp8' into temp8-224-db-updates-sched-publishing-with-variants
# Conflicts:
#	src/Umbraco.Core/Models/Content.cs
#	src/Umbraco.Tests/Services/ContentServiceTests.cs
2018-11-07 19:44:37 +11:00
Shannon c57ac7752c Merges UnpublishResult into PublishResult, fixes dirty tracking for unpublishing a culture and logs the correct info along with returning the correct status, fixes ContentService so that all publishing/unpublishing logic happens in one one place including all Audit/Logs, gets ContentService.PerformScheduledPublish in place 2018-11-07 19:42:49 +11:00
Mads Rasmussen 1a41998bd1 add border radius to rich text rules 2018-11-07 09:29:56 +01:00
Mads Rasmussen ca749537b2 add a little more space underneath content app icons 2018-11-07 09:13:54 +01:00
Bjarke Berg 3e50ef694d Change sections on views for partial view macros 2018-11-07 08:42:22 +01:00
Bjarke Berg 9237480aca Bugfix: The root could not be found in getDescendantNode, when the treeAlias was not in the first child. 2018-11-07 08:21:43 +01:00
Mads Rasmussen 89266d4876 move server calls to resource 2018-11-06 21:24:55 +01:00
Mads Rasmussen 5e884fe06c align button to the left + use umb-button component 2018-11-06 21:12:04 +01:00
Stephan e91d485d1c 3336 - bulk branch publish with variants 2018-11-06 17:12:00 +01:00
Warren Buckley c5c4d93c5f Merge pull request #3515 from umbraco/temp8-266-empty-folders-still-shows-the-expand-arrow
Update HasChildren, on removeNode in treeService
2018-11-06 14:55:56 +00:00
Stephan f3e9e282fa Fix expression visitor for WHERE IN 2018-11-06 15:29:56 +01:00
Claus cfa3f58c33 fixing Stylesheet tests to fit with new line breaks and tabs added. 2018-11-06 15:10:01 +01:00
Bjarke Berg cd6b374d22 Update HasChildren, on removeNode in treeService 2018-11-06 14:51:51 +01:00
Warren Buckley 872932145f Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-11-06 13:26:32 +00:00
Warren Buckley 2b9720d18b Warnings cleanup - Another unused variable 2018-11-06 13:25:36 +00:00
Claus f764b46b8e Merge pull request #3429 from umbraco/temp8-231-send-to-publish-with-variants
v8 - send to publish with variants
2018-11-06 14:19:28 +01:00
Claus 61b0c49160 updating comment. 2018-11-06 14:19:10 +01:00
Warren Buckley d420f61e13 Reduce VS Warnings: Remove ununused const string 2018-11-06 13:15:45 +00:00
Claus 8f43451519 Merge pull request #3503 from kjac/feature-angular-stylesheets-editing-in-tabs
V8: Angular implementation of stylesheets editing
2018-11-06 13:52:32 +01:00
Robert 061297cdcf Merge pull request #3513 from umbraco/temp7-cropper-inputs
fix alignment of cropper prevalue inputs
2018-11-06 12:48:42 +01:00
Warren Buckley 812d9e2be9 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-11-06 11:09:12 +00:00
Mads Rasmussen 0f4cf0a97c fix alignment of cropper prevalue inputs 2018-11-06 12:00:37 +01:00
Robert 70624e3e64 Merge pull request #3502 from umbraco/temp8-3469-listview-publish
Temp8 3469 listview publish
2018-11-06 11:57:58 +01:00
Robert 7e8578c9fb Fixes unit test by ignoring VariesByCulture property on MemberMapperProfile and mapping on MediaMapperProfile. 2018-11-06 11:38:49 +01:00
Shannon 9b1d9e02bf Gets publishing validation working with scheduled cultures, cleans up some code, removes Status from IContent into an extension method 2018-11-06 21:33:24 +11:00
Warren Buckley 1ef487b7da Removing last of log entries that do string concat or interpolation & updates to use MessageTemplate format instead 2018-11-06 10:25:35 +00:00
Mads Rasmussen f2feaba604 fix tab styling in legacy dialogs 2018-11-06 10:13:15 +01:00
Robert bdd438e307 Merge branch 'temp8' into temp8-3469-listview-publish 2018-11-06 09:57:38 +01:00
Warren Buckley 04bcd85e8e Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-11-05 14:50:06 +00:00
Warren Buckley 91ea16feb3 Merge branch 'temp7-create-template-fix' into dev-v7 2018-11-05 14:49:43 +00:00
Mads Rasmussen 9153e4443f check for "fake template" when creating a new doc type with a template 2018-11-05 15:39:56 +01:00
Warren Buckley 583828a5f3 Merge pull request #3499 from umbraco/temp7-create-template-fix
Only show "Add Template" button if the template does not currently ex…
2018-11-05 14:39:02 +00:00
Mads Rasmussen 42bcde2c59 rename button, use umb button directive, add icon to template + a bit of code clean up 2018-11-05 15:32:07 +01:00
Mads Rasmussen 4f73ef69d5 use overlayService for delete confirmation 2018-11-05 13:25:05 +01:00
Warren Buckley 88c56046c3 Merge pull request #3508 from umbraco/temp7-263-xss-parameters-injection
Fixes a reflected XSS issue due to a parameter consumed directly from…
2018-11-05 12:18:00 +00:00
Robert d5294568ce Merge pull request #3488 from umbraco/temp8-258-empty-trees-arrow
Adding a check to verify if there are any children which will resolve…
2018-11-05 12:47:19 +01:00
elitsa aaa920719f Adding html encoding when updating or removing Public Access of a content. 2018-11-05 12:41:19 +01:00
elitsa 2b33c5cfd7 Fix for chekcing the children belonging to MemberType tree. 2018-11-05 10:46:50 +01:00
Mads Rasmussen 0843badb15 reload nodes after publish/unpublish 2018-11-05 10:40:38 +01:00
elitsa 666a78f803 Fix for getting the right collection. 2018-11-05 10:36:17 +01:00
Mads Rasmussen ababd45f4a fix doc type saving in infinite editing 2018-11-05 10:29:17 +01:00
Mads Rasmussen ebca79f254 don't fade unpublished items 2018-11-05 10:09:56 +01:00
elitsa acd067bb4e Fixes a reflected XSS issue due to a parameter consumed directly from the request. 2018-11-05 10:07:50 +01:00
Kenn Jacobsen d7d367aeb2 Move rules editing to an overlay 2018-11-05 08:58:30 +01:00
Shannon 24360a762c Adds change tracking to the schedule collection, updates the DocumentRepository to add logic to fetch the schedule, adds/updates tests, all green 2018-11-05 17:20:26 +11:00
Shannon 0d35a6a140 Gets all tests fixed up, now to write some more 2018-11-05 13:59:55 +11:00
elitsa b9e30604a4 Fix for chekcing the children belonging to Templates tree. 2018-11-04 22:54:25 +01:00
elitsa 2f3483453c Merge remote-tracking branch 'origin/temp8' into temp8-258-empty-trees-arrow 2018-11-04 22:44:20 +01:00
Stephanie Youstra 9077eac698 Various grammar fixes to README.md (#3496) 2018-11-03 09:52:51 +01:00
Warren Buckley 2badacb8a8 Adds UmbracoFeatures to the Composition to allow user components to do something like this - composition.Features().Disabled.Controllers.Add<LogViewerTreeController>() 2018-11-02 15:35:20 +00:00
Mads Rasmussen 9c80867320 fix notifications + bulk status 2018-11-02 15:42:32 +01:00
Mads Rasmussen 73d9731c1b make labels clickable 2018-11-02 15:10:45 +01:00
Mads Rasmussen 66ea4105b0 prevent save when dialogs are open 2018-11-02 13:47:45 +01:00
Mads Rasmussen b3e5f59fe4 pass cultures to publish method 2018-11-02 13:11:48 +01:00
Kenn Jacobsen e8856731f8 Break the rules editing out of the column view to utilize the space properly 2018-11-02 13:06:40 +01:00
Mads Rasmussen a2f4c317e9 disable publish button if nothing is selected 2018-11-02 12:08:20 +01:00
Mads Rasmussen 05b47deb96 remove debugging code 2018-11-02 11:58:15 +01:00
Mads Rasmussen 51e13b9f7a add special keys for list view popups 2018-11-02 11:57:56 +01:00
Mads Rasmussen 3f31e2cd07 publish dialog preselect the active language 2018-11-02 11:17:13 +01:00
Mads Rasmussen 77f352f449 a little bit of code clean up 2018-11-02 10:55:40 +01:00
Mads Rasmussen ef24440277 unpublish by culture 2018-11-02 10:33:39 +01:00
Robert 853fbdaa61 Typo 2018-11-02 10:27:12 +01:00
Kenn Jacobsen 1336aa2c0b Refactor create script to reuse the generic method used by stylesheet 2018-11-02 09:31:17 +01:00
Kenn Jacobsen 60e8fed552 Set the form dirty when adding/removing/sorting rules 2018-11-02 09:20:42 +01:00
Mads Rasmussen 3f5fc56656 wip unpublish list view items 2018-11-02 09:10:22 +01:00
Kenn Jacobsen d0e6d0af2f Merge branch 'temp8' into feature-angular-stylesheets-editing-in-tabs 2018-11-02 08:46:57 +01:00
Shannon f223024164 Got database and persistence models in place for scheduled publishing, now need to start writing tests, fixing tests and cleaning up fixme statements 2018-11-02 14:55:34 +11:00
Mads Rasmussen 219c7284b6 add ellipsis to unpublish button 2018-11-01 19:55:59 +01:00
Sebastiaan Janssen 1864dd8240 Update CONTRIBUTING_DETAILED.md 2018-11-01 16:56:10 +01:00
Sebastiaan Janssen 0315e9f338 Update CONTRIBUTING.md 2018-11-01 16:54:11 +01:00
Sebastiaan Janssen acd47ed143 Update PULL_REQUEST_TEMPLATE.md 2018-11-01 16:52:54 +01:00
Kenn Jacobsen 5001e2511d Translate "create" text 2018-11-01 16:04:07 +01:00
Kenn Jacobsen 57232c9c48 Implement delete 2018-11-01 16:01:34 +01:00
Kenn Jacobsen 617596cba4 Fix some newline issues 2018-11-01 15:53:04 +01:00
Kenn Jacobsen 4b79819a8c Move the style sheet manipulation back to CodeFileController 2018-11-01 15:49:30 +01:00
Kenn Jacobsen 2a312a7f21 Format the style rules nicely and add tests to back it up 2018-11-01 15:33:03 +01:00
Mads Rasmussen 888c08b56b wip list view publish 2018-11-01 14:44:12 +01:00
Robert 61e1301865 Merge pull request #3491 from umbraco/temp8-3130-examine-indexing-variant-switching
v8 - Examine indexing updates when content/media/member types change
2018-11-01 13:54:36 +01:00
Kenn Jacobsen 2f643259c8 Include the rest of the CSS assets for the ACE editor 2018-11-01 13:31:31 +01:00
Kenn Jacobsen 2b60769d0d More localization 2018-11-01 13:26:08 +01:00
Kenn Jacobsen c30b59b290 Oops. Broke the rules sorting. 2018-11-01 12:51:31 +01:00
Kenn Jacobsen 7e687b220b Ensure that rules are interpolated on save 2018-11-01 12:49:50 +01:00
Warren Buckley e07e12092c Adds 'VariesByCulture` property to ContentItemBasic model & its mapping - so that the GetChildren API call for list view can know if each child item varies by culture or not 2018-11-01 11:29:16 +00:00
Kenn Jacobsen 6b5a59c45f Fix rules validation 2018-11-01 12:23:25 +01:00
Kenn Jacobsen fc387b9f23 Localize rules.html 2018-11-01 11:53:08 +01:00
Mads Rasmussen 828c915691 add ellipsis to list view buttons 2018-11-01 11:46:03 +01:00
Robert 4b0b97752c Merge pull request #3489 from umbraco/temp7-nested-content-overlay
fixes position of nested content add item overlay
2018-11-01 11:27:52 +01:00
Robert 54d6d581f1 removed unused function 2018-11-01 11:27:08 +01:00
Kenn Jacobsen e726e6dffe Remove a bunch of inline styles 2018-11-01 11:08:41 +01:00
Robert ae5e549a8e Only show "Add Template" button if the template does not currently exists. 2018-11-01 10:40:42 +01:00
Shannon 2320b51df2 Removes old TemplateDto.Design column 2018-11-01 16:18:13 +11:00
Shannon Deminick 0d06828b76 Merge pull request #3460 from umbraco/temp-3457-entityrepository
EntityRepository is fetching all property data for media
2018-11-01 14:58:38 +11:00
Shannon ffd08d0a2e Fixes unit test 2018-11-01 14:56:55 +11:00
Shannon c5181607de Merge branch 'temp8' into temp8-231-send-to-publish-with-variants
# Conflicts:
#	src/Umbraco.Web/Components/NotificationsComponent.cs
#	src/Umbraco.Web/Editors/ContentController.cs
#	src/Umbraco.Web/NotificationServiceExtensions.cs
#	src/Umbraco.Web/Trees/LegacyTreeDataConverter.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/SendPublish.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/webservices/nodeSorter.asmx.cs
2018-11-01 14:02:43 +11:00
Shannon 83f1bbf6bd Merge remote-tracking branch 'origin/temp8' into temp8-231-send-to-publish-with-variants
# Conflicts:
#	src/Umbraco.Core/Services/Implement/ContentService.cs
2018-11-01 13:37:18 +11:00
Shannon 1429053681 Slight refactor and cleanup 2018-11-01 13:12:47 +11:00
Shannon 0e8bac0b09 fixes member indexing with list object 2018-11-01 11:24:03 +11:00
Shannon 6121479258 Merge remote-tracking branch 'origin/temp8' into temp8-3130-examine-indexing-variant-switching
# Conflicts:
#	src/Umbraco.Tests/Services/ContentServiceTests.cs
2018-11-01 10:31:26 +11:00
Shannon 047bce17bf Cleans up more IContentService and IMediaService and removes any string filtering methods 2018-11-01 10:28:53 +11:00
Shannon 76a8cd6dcf Changes recycle bin service queries to paged 2018-11-01 10:22:45 +11:00
Jan Skovgaard 007cdeb9ab Fix long label issue on RADIO button list 2018-10-31 21:48:47 +01:00
Jan Skovgaard 5716353518 Offset the state 1 px to align it with the radio button list if they ever occur as properties beneath each other 2018-10-31 21:46:00 +01:00
Kenn Jacobsen a3232bb55c WIP: split editing into tabs 2018-10-31 21:33:32 +01:00
Jan Skovgaard 87340d6c2c Fix width issue on the checkbox label 2018-10-31 21:24:35 +01:00
Jan Skovgaard fc742bcf18 Merge branch 'dev-v7' into feature/temp-U4-3463 2018-10-31 20:03:05 +01:00
Bjarne Fyrstenborg b7b24a6a3d #3246 - Consistency of macro page and other legacy pages (#3247) 2018-10-31 19:43:30 +01:00
Jesper Mayntzhusen 2cc440c7ff Prevent error label from moving input box 2018-10-31 19:30:34 +01:00
sofietoft 26aec86850 Update link to Our Forum 2018-10-31 19:29:44 +01:00
Warwick Buzacott 557905580b Fix for #3296: Adding comments 2018-10-31 19:27:53 +01:00
Warwick Buzacott a09660128a Fix for #3296. Large paged Listview sorted by custom property has blank custom properties 2018-10-31 19:27:53 +01:00
Kenn Jacobsen f15d30b1b4 Assign the current main culture to GetChildren lookup if none is defined, as this is required for variant data 2018-10-31 19:23:52 +01:00
Daniel Brereton 4d5f952aa6 fixed typo 2018-10-31 19:21:15 +01:00
Poornima Nayar 14e503d0e9 3492 Added a property "Tooltip" to the tabs which can then be set in the the EditorModel Events (#3493) 2018-10-31 19:19:46 +01:00
bharanijayasuri f73d55d496 Change to "MoveToRecycleBinDo" function of the MediaService and IMediaService (#3453) 2018-10-31 19:13:58 +01:00
Shannon 082d860a5b fixes tests 2018-11-01 01:28:12 +11:00
Warren Buckley c01cdf2fdb Merge pull request #3479 from umbraco/temp8-IAction-cleanup
v8 IAction cleanup
2018-10-31 14:18:38 +00:00
Shannon 6a1d6668c4 Gets both media and member indexing working for when media/member types are changed 2018-11-01 01:01:50 +11:00
Warren Buckley b2c3944074 Remove a block of commented out code - that was forgotten 2018-10-31 13:47:07 +00:00
Mads Rasmussen a32271f280 fixes position of nested content add item overlay 2018-10-31 14:33:23 +01:00
Shannon ae5bda0910 Streamlines IMediaService to be consistent with IContentService for paging and using the Ordering class 2018-11-01 00:21:52 +11:00
Shannon b8d1dd7684 Cleans up paged methods of IContentService to use the Ordering parameter for consistency 2018-11-01 00:05:17 +11:00
elitsa 4d594e17aa Adding a check to verify if there are any children which will resolve the problem with showing a right-pointing arrow in front of empty trees in the Settings section. 2018-10-31 13:40:23 +01:00
Shannon 25dcc3f2c1 Removes GetChildren and GetDescendants from IMediaService, paging is now required 2018-10-31 23:11:37 +11:00
Robert ee431cdf6d Deleted unnecessary "drag and drop" info text. 2018-10-31 12:44:00 +01:00
Shannon 40eafe57b1 Fixes tests 2018-10-31 22:38:58 +11:00
Warren Buckley 881ea22efe Fix lang typo in ContentService & fix up the breaking unit test 2018-10-31 10:24:40 +00:00
Robert bdb782b27f Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-10-31 11:21:07 +01:00
Robert 83b30809d2 Fixes uploading files with comma in the file name. 2018-10-31 11:20:15 +01:00
Mads Rasmussen fb5fa8c40a change toggles in media picker and create doc type collection to checkboxes. Toggles should only be used for settings. 2018-10-31 10:24:58 +01:00
Shannon 437bf978a1 Removes non paged GetChildren and GetDescendants from content service 2018-10-31 18:01:39 +11:00
Shannon 18f6e7ba78 Updates ExamineComponent to page over descendants when caches are updated 2018-10-31 17:57:35 +11:00
Shannon 23860e58b9 Update re-indexing logic for content types including updating content types affected by composition changes 2018-10-31 16:33:10 +11:00
Mads Rasmussen 21396a3042 fix border for color picker with labels 2018-10-30 21:21:39 +01:00
Mads Rasmussen 72f3739430 add pointer to list view content templates dropdown 2018-10-30 21:15:29 +01:00
Mads Rasmussen 6b0f393a65 use opacity instead of gray to set border color for color swatches so colors don't look blurry 2018-10-30 21:02:24 +01:00
Mads Rasmussen a27cf7fb1b dont collapse color in color picker prevalues 2018-10-30 20:56:10 +01:00
Dave Woestenborghs 44b837a9ec #3373 fixes error when going to forms section when forms is not installed 2018-10-30 17:30:34 +01:00
Kenn Jacobsen 1d87ceaacf Fix user email validation in IE and Edge by using ng-required instead of required on input type=email. 2018-10-30 17:18:54 +01:00
Anders Bjerner 092d84a49d Exposed the "cssClass " property in the view 2018-10-30 16:56:38 +01:00
Anders Bjerner 115de5854e Added new "CssClass" property to the "Tab" class 2018-10-30 16:56:38 +01:00
Warren Buckley 3e3f2a92fd Merge pull request #3414 from umbraco/temp8-remove-legacy-drop-downs
v8 - Remove legacy drop downs
2018-10-30 15:30:49 +00:00
Mads Rasmussen 299af13c42 fixes the context menu node highlight bug 2018-10-30 15:51:32 +01:00
Mads Rasmussen 5537163c9f remove debug data in colorpicker prevalue editor 2018-10-30 15:19:48 +01:00
Kenn Jacobsen 4e85ede436 Fix the notifications footer 2018-10-30 11:19:14 +01:00
Kenn Jacobsen 8ed3a95a56 Fix #3204 and do some refactoring to avoid duplicate code 2018-10-30 11:17:04 +01:00
sweta jena 9b6204eb7b add a comma (#3480) 2018-10-30 09:48:28 +01:00
Pranjal Vyas 0a0dd025bf Update footer.tmpl.partial (#3481) 2018-10-30 09:48:03 +01:00
Shannon a383309e46 Gets indexes updating based on content type changes 2018-10-30 17:32:27 +11:00
Shannon 9416c5f638 fixes up localized text for audit trail 2018-10-30 14:57:54 +11:00
Shannon fc39568415 Updated audit info to include full lang name 2018-10-30 14:49:25 +11:00
Shannon 1805d30aaf Merge remote-tracking branch 'origin/temp8' into temp8-remove-legacy-drop-downs
# Conflicts:
#	src/Umbraco.Core/Migrations/Upgrade/UmbracoPlan.cs
2018-10-30 02:20:24 +11:00
Shannon 386dd2281c Fixes log messages 2018-10-30 02:18:07 +11:00
Shannon f123331d42 Fixes updating the storage type 2018-10-30 02:11:33 +11:00
Shannon 0d0d26d3e9 Fixes converting the Umbraco.DropDownMultiple to a multiple drop down, fixes boolean logic on the js single drop down 2018-10-30 02:05:43 +11:00
Shannon 15eaa33e08 updates migration to invariant string check 2018-10-30 01:15:23 +11:00
Shannon 372f77fde5 reverts accidental change 2018-10-30 00:36:11 +11:00
Shannon 77f4f0bbad Refactors how the 'OpensDialog' gets assigned to menu items, fixes permission check on rollback 2018-10-30 00:34:43 +11:00
Shannon b8a65febf4 Merge remote-tracking branch 'origin/temp8' into temp8-IAction-cleanup
# Conflicts:
#	src/Umbraco.Tests/Composing/ActionCollectionTests.cs
#	src/Umbraco.Web/Models/Trees/MenuItem.cs
#	src/Umbraco.Web/_Legacy/Actions/Action.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionAssignDomain.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionBrowse.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionChangeDocType.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionCopy.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionCreateBlueprintFromContent.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionDelete.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionEmptyTranscan.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionExport.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionImport.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionMove.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionNew.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionNotify.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionNull.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionPackage.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionPackageCreate.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionProtect.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionPublish.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionRePublish.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionRefresh.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionRestore.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionRights.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionRollback.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionSort.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionToPublish.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionTranslate.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionUnPublish.cs
#	src/Umbraco.Web/_Legacy/Actions/ActionUpdate.cs
#	src/Umbraco.Web/_Legacy/Actions/ContextMenuSeperator.cs
#	src/Umbraco.Web/_Legacy/Actions/IAction.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/developer/RelationTypes/TreeMenu/ActionDeleteRelationType.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/developer/RelationTypes/TreeMenu/ActionNewRelationType.cs
2018-10-29 23:35:24 +11:00
Shannon cb9843b023 Removes IActions that shouldn't be IActions 2018-10-29 23:23:21 +11:00
Sebastiaan Janssen 870fa2fe74 Merge pull request #3451 from angie1015/dev-v7
Fixed minor typos in README.md
2018-10-29 12:39:53 +01:00
Robert bc20db5a46 Merge pull request #3432 from umbraco/temp8-153-invariant-properties
Temp8 153 invariant properties
2018-10-29 12:39:48 +01:00
Sebastiaan Janssen 65566f6c47 Merge branch 'dev-v7' into dev-v7 2018-10-29 12:39:27 +01:00
Robert 777d88ed8f Fixed unit test 2018-10-29 12:38:46 +01:00
Shyam Jalan db3ae6c27d Added hyphenation to README at desired places 2018-10-29 12:35:50 +01:00
Stephan f4b970e887 Fix timing-dependent test 2018-10-29 11:21:30 +01:00
Shannon bae9bb6108 Initial cleanup of IActions, menu items, etc... 2018-10-29 17:27:33 +11:00
Jan Skovgaard 4eb4cd8962 Refactor checkboxlist to show a prettier checkbox than the default browser one 2018-10-28 16:35:37 +01:00
Kenn Jacobsen 1842aa4f11 Merge branch 'temp8' into feature-angular-stylesheets-editing 2018-10-28 12:12:34 +01:00
Kenn Jacobsen 68f05e05d1 Initial create and edit 2018-10-27 21:18:03 +02:00
Claus c0109e0531 whitespace 2018-10-27 13:02:21 +02:00
Claus c4ee9abe68 adds internal methods for getting media entities through the entity repository/service without fetching all property data.
ensures the trees use this method to avoid fetching property data in the media tree.
2018-10-27 12:51:05 +02:00
Stephan 628895cc89 In-Progress in ContentService 2018-10-26 14:39:11 +02:00
Mads Rasmussen ed4439e3d5 add ellipsis to more items 2018-10-26 13:36:05 +02:00
Mads Rasmussen e0365d4214 add ellipsis to action menu items that opens a dialog + fix action menu not opening anything 2018-10-26 13:17:12 +02:00
Stephan 45cb56b96c Fix ContentCultureInfos and collection 2018-10-26 12:36:59 +02:00
Stephan 0cb19e0dbd Document 2018-10-26 11:47:35 +02:00
Mads Rasmussen bce2c43fdd small fixes to alignment and copy 2018-10-26 11:21:56 +02:00
Mads Rasmussen 5356d0a0ab Merge branch 'temp-3433' of git://github.com/dawoe/Umbraco-CMS into dawoe-temp-3433 2018-10-26 10:35:24 +02:00
Mads Rasmussen 78d4b452f5 Merge branch 'v8-feature-action-ellipsis' of git://github.com/kjac/Umbraco-CMS into kjac-v8-feature-action-ellipsis
# Conflicts:
#	src/Umbraco.Web/_Legacy/Actions/ActionUnPublish.cs
2018-10-26 09:59:57 +02:00
Shannon 83f73c085f Fixes unpublish, allows to be permission assigned and checks this permission when trying to perform that action 2018-10-26 16:40:28 +11:00
Shannon 02221f6dd0 Fixes how the content app view model works so dirty tracking continues to work properly, previously we tried to omit the apps so we didn' thave a circualar model reference but that doesn't work because that clones the object, so now the view model is just the variant index which works much better.Fixes other js probs 2018-10-26 15:07:21 +11:00
Shannon e280226abc fix issue with content picker always setting a dirty state 2018-10-26 14:41:49 +11:00
Shannon 3d29c0381e small refactor of trees for single page apps sections and some cleanup, puts the back button for dictionary back in with the correct route 2018-10-26 14:18:42 +11:00
Shannon Deminick 336f29fa3b Merge pull request #3420 from dawoe/temp-3419
V8- #3419 - Fix dictionary tree
2018-10-26 13:39:42 +11:00
Shannon Deminick 9453bb06e8 Merge pull request #3435 from umbraco/temp8-3129
Temp8 3129
2018-10-26 13:22:09 +11:00
Shannon 555a275e13 fixes build 2018-10-26 13:21:30 +11:00
Warren Buckley 972dc56d9a More dupe using's declared & tidied up - total number of warnings now at 48 2018-10-25 21:58:39 +01:00
Warren Buckley 20b9bb1032 Gets rid of a couple of VS SLN Warnings - due to dupe'd using's decared (done a tidy up) 2018-10-25 21:55:44 +01:00
Kenn Jacobsen 4cfac8da16 Make it possible to add ellipsis on actions that invokes dialogs by means of OpensDialog on IAction 2018-10-25 14:54:36 +02:00
Rasmus John Pedersen 93aa9dfe93 Fix sort audit parameters call 2018-10-25 14:41:24 +02:00
Dave Woestenborghs 2fbe2bb3da #3433 added short cut for toglle allow culture variants to short cuts overview 2018-10-25 12:54:17 +02:00
Dave Woestenborghs 3c217adc2e #3433 added language keys for text of culture variant permissions 2018-10-25 12:49:32 +02:00
Dave Woestenborghs 3b2e473a9e #3433 changed layout so it looks better 2018-10-25 12:38:43 +02:00
Dave Woestenborghs 5199e8e901 #3433 replace checkbox with for setting culture variants with toggle box 2018-10-25 12:23:34 +02:00
Jan van Helvoort 0daf197066 Unable to find suitable version for font-awesome (#3431) 2018-10-25 12:16:42 +02:00
Dave Woestenborghs 96a102decf #3433 fix build error 2018-10-25 12:13:54 +02:00
Mads Rasmussen 492feaaa26 fix position relaitve issue for property editors 2018-10-25 11:06:48 +02:00
Stephan 4649fb2505 Fix merge 2018-10-25 10:51:46 +02:00
Stephan a8110a0886 Merge branch temp8 into temp8-3129 2018-10-25 10:32:05 +02:00
Mads Rasmussen 18c8104a88 localize label 2018-10-25 10:02:31 +02:00
Mads Rasmussen b63b25414c show inherted from label 2018-10-25 09:38:46 +02:00
Dave Woestenborghs 3a0981e02b #3419 fix error in backend for sections with no tree (forms when not installed) 2018-10-25 09:06:53 +02:00
Dave Woestenborghs fe0176f97c Fixed unit test 2018-10-25 08:59:13 +02:00
Dave Woestenborghs 25a90ffbf5 #3419 added extra parameter to createSingleRoot node method so it will always show a single tree. If a single tree doesn't have children it does not show 2018-10-25 08:54:17 +02:00
Shannon ca6fd56f09 Gets send to publish emails working for variants 2018-10-25 17:21:10 +11:00
Shannon de313a5d19 Adds tests for verifying remember dirty properties on content 2018-10-25 16:09:58 +11:00
Shannon 42f0d2b356 Fixes dirty tracking with resetting properties 2018-10-25 15:47:25 +11:00
Mads Rasmussen 2137c1026b css cleanup 2018-10-24 20:44:07 +02:00
Mads Rasmussen 4420f101d2 add toggle to disable tabindex directive 2018-10-24 20:41:58 +02:00
Stephan 638f8b57b3 Fix content type variant changes 2018-10-24 18:47:17 +02:00
Stephan 56b9d36f53 Add content type variant changes tests 2018-10-24 18:47:13 +02:00
Dave Woestenborghs d5cc658811 #3419 added check on tree items count back 2018-10-24 18:28:52 +02:00
Dave Woestenborghs 96c0b701a0 #3419 added always show root item to tree attribute 2018-10-24 18:27:00 +02:00
Shannon 9df4a8091e Merge remote-tracking branch 'origin/temp8' into temp8-231-send-to-publish-with-variants 2018-10-25 01:15:44 +11:00
Shannon Deminick 3652a96687 Merge pull request #3352 from umbraco/temp8-dirty-tracking-on-variants
v8 - allows audit trail/logging of changed cultures
2018-10-25 01:11:53 +11:00
Shannon 63fbe63656 Fixes js error and removes Current usage 2018-10-25 01:01:42 +11:00
Warren Buckley 9a1a13ba81 Fix the ordering logic - it helps if you actually assign the ordered items back to the list *facepalm* 2018-10-24 14:55:01 +01:00
Shannon c3e50ecc48 Removes the broken text comparison for RTE 2018-10-25 00:45:45 +11:00
Dave Woestenborghs 2af2a9b77f #3419 don't show the back button in the edit screen of dictionary...doesn't make sense to go to settings section when the tree is in the translation section 2018-10-24 15:39:45 +02:00
Dave Woestenborghs d23f5f8124 #3419 remove check on number of trees so dictoinary tree shows in the translation section and doesn't return a error when it's moved to the settings section 2018-10-24 15:31:45 +02:00
Shannon b716ed1964 Fixes UI error when there is an unathorized request, fixes NotificationService to accept IContent since that's all it supports 2018-10-25 00:28:37 +11:00
Warren Buckley e2557697bc Emit a single event if the language has been created or been saved - send through a new property in args to determine if it was new or not
Then event listener updates the tree languages dropdown only when a new language has been added or deleted OR when an existing language has been saved/updated to be set as the new default language (as this now at top of list)
2018-10-24 14:08:15 +01:00
Shannon 81c7a1de78 Cleans up the notification system, removes coupling on System.Web, simplifies the whole thing, removes old legacy files, adds sort event, moves sort notification to be event based and not part of the controller 2018-10-24 23:55:55 +11:00
Warren Buckley 5b84702c2f Cleanup of disable tab directive & adds in tabbable 3rd party lib (wrapped as an AngularJS service) 2018-10-24 13:37:33 +01:00
Warren Buckley a5b7e8b0ae WIP put the tabindex back to what it was before 2018-10-24 11:57:02 +01:00
Warren Buckley 62716fb417 WIP disable tab index directive 2018-10-24 11:03:41 +01:00
Dave Woestenborghs 8262269592 Make sure indexes are created as unique when using .Unique() syntax builder (#3319) (#3363) 2018-10-24 11:51:07 +02:00
Warren Buckley ba0d96ce2a WIP for CSS overlay click through prevention stuff with Z-indexes 2018-10-24 10:36:45 +01:00
Warren Buckley 30c312c4b0 CSS & DOM element for overlay to prevent double click through to undelying input element 2018-10-24 10:20:10 +01:00
Mads Rasmussen 6920a7f0e0 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-10-24 11:12:00 +02:00
Kenn Jacobsen 024338790f Make sure to check the dirty state of the umbContent app viewModel when saving/publishing 2018-10-24 11:11:29 +02:00
Mads Rasmussen ac14d38961 fix rename controller 2018-10-24 11:11:25 +02:00
Sebastiaan Janssen fa2bd54f77 Update CONTRIBUTING.md 2018-10-24 11:05:05 +02:00
Joelvis Roman e7c55e6d70 Fix spelling mistake
Fix spelling mistake
2018-10-24 10:57:50 +02:00
Hemant Joshi 05f5f2715b Added Correct Link of Getting Started with V8 2018-10-24 10:50:07 +02:00
Kenn Jacobsen df1c4faeb9 Create doctype collections under the chosen parent 2018-10-24 10:47:59 +02:00
Warren Buckley a7b13e2b4b Merge remote-tracking branch 'origin/temp8' into temp8-153-invariant-properties 2018-10-24 09:22:52 +01:00
Warren Buckley c94775608a When returning a collection of languages - such as through the GetAllLanguages API Controller call the model mapping ensures that rather than order by name we, also put the default lang first then order a-z 2018-10-24 09:18:26 +01:00
Shannon adae4325c9 Removes old legacy files 2018-10-24 19:07:35 +11:00
Claus aa4acb33e8 ensuring macros are using the correct section. 2018-10-24 09:59:40 +02:00
Claus 715083ef93 Merge pull request #3398 from umbraco/temp8-258-empty-trees-arrow
Fixing right-pointing arrow for empty trees.
2018-10-24 09:47:14 +02:00
Mads Rasmussen b95a994f94 set opacity and disabled cursor when property is locked 2018-10-24 09:12:09 +02:00
Shannon 1e1c7bec64 Merge remote-tracking branch 'origin/temp8-dirty-tracking-on-variants' into temp8-231-send-to-publish-with-variants 2018-10-24 16:47:02 +11:00
Shannon 9347e6205f fixes test 2018-10-24 16:36:13 +11:00
Shannon b199b7346b Fixes multiple selection with drop down 2018-10-24 16:35:30 +11:00
Shannon df7623e6a7 Fixes migration, ensure's that if it runs again it won't corrupt data, fixes flexible drop down angular editor to post string vals, not the int ids, removes old angular drop down prop editor 2018-10-24 16:32:13 +11:00
Shannon f332e9a07e Fix sql and table check 2018-10-24 15:45:24 +11:00
Shannon 74c373de84 Merge branch 'temp8' into temp8-remove-legacy-drop-downs 2018-10-24 15:45:13 +11:00
Shannon c7cb8b52cc Fixes AuthorizeUpgrade page since it was still referencing the old UmbracoClient folder 2018-10-24 15:23:21 +11:00
Shannon 9704c124ed Removes all old deprecated drop down editors, we only have one drop down editor now and it doesn't store IDs either in the db or in the cache, it just stores what is selected 2018-10-24 15:20:28 +11:00
Kenn Jacobsen f69976852e Disable move/copy button until a target node is selected (#3250) 2018-10-23 22:49:13 +02:00
skoomasteve 5f765967a6 Just a few spelling fixes. (#3405) 2018-10-23 22:47:14 +02:00
Søren Kottal ee3cbf08a2 #3215 Adds ability to create template from doctype editor (#3366)
### Prerequisites

- [x] I have [created an issue](https://github.com/umbraco/Umbraco-CMS/issues) for the proposed changes in this PR, the link is: #3215 
- [x] I have added steps to test this contribution in the description below

### Description
I added a button for creating a new template in the template view of the doctype editor. The button uses the template resource to fetch a template scaffold, and then save a new template. After saving, the template gets selected as allowed, and if there is no default template selected, the new template will also be the default.

https://i.imgur.com/KQbmjGH.gifv

<!-- Thanks for contributing to Umbraco CMS! -->
2018-10-23 22:43:46 +02:00
KimHolzmann 3e14da5e9d #2927 - Cannot use content templates in list views (#3173) 2018-10-23 18:16:06 +02:00
Stephan 4ec9350f54 Merge branch temp8 into temp8-3129 2018-10-23 17:44:31 +02:00
Stephan c0a1e7f2f6 Merge branch temp8 into temp8-dirty-tracking-on-variants 2018-10-23 17:43:52 +02:00
Jan Skovgaard 9230de5383 3225 - Suggestion: Style the default browser radio button as a custom one to provide a nicer UI experience (#3226) 2018-10-23 17:06:10 +02:00
Warren Buckley 79e3a35869 WIP - Ensures the default language variant is always first then the rest of the variants are organised by A-Z 2018-10-23 16:03:49 +01:00
Bjarne Fyrstenborg 20c215ef8c #3211 - Add colorpicker prevalue editor (#3212) 2018-10-23 16:52:57 +02:00
agrath 1053a349f6 #3231 RTE editor in grid collapsed on tab shown (#3232) 2018-10-23 16:48:19 +02:00
Jan Skovgaard 39045b1edc 3324 - Suggestion: Align image cropper property editor UI with color picker and checkbox lists (#3325) 2018-10-23 16:32:07 +02:00
Warren Buckley b20acebe6a Cleanup unused DI stuff in this directive 2018-10-23 15:23:36 +01:00
Warren Buckley 11e5fa3f28 Merge branch 'temp8-153-invariant-properties' of https://github.com/umbraco/Umbraco-CMS into temp8-153-invariant-properties 2018-10-23 15:13:50 +01:00
Warren Buckley a8ac9cf8f2 MDN JS Docs suggested to use MutationObsorver as oppsoed to deprecated DOMSubtreeModified event 2018-10-23 15:13:35 +01:00
Jan Skovgaard c0b713d0e4 3381 - Media picker: Trashed media warning looks weird (#3382) 2018-10-23 16:06:06 +02:00
Mads Rasmussen 515f183b28 make default language bold in selectors 2018-10-23 16:00:53 +02:00
angie1015 ed07e85754 Merge pull request #1 from angie1015/angie1015-patch-1
Fixed minor typos in README.md
2018-10-23 19:26:46 +05:30
angie1015 e0b44c90ff Fixed minor typos 2018-10-23 06:55:31 -07:00
Stephan 9320c1a061 Cleanup variants dirty tracking 2018-10-23 15:38:47 +02:00
Warren Buckley 60b575825d Adds new WIP attribute only based directive disable-tabindex - which sets all child input elements to use a tabindex of -1 2018-10-23 14:22:17 +01:00
Mads Rasmussen a0eba5a9d8 wip testing ideas 2018-10-23 15:02:56 +02:00
Shannon e34728c10c fixes drop down pre value editor 2018-10-23 23:04:53 +11:00
Shannon ce6b4f4a51 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8
# Conflicts:
#	src/Umbraco.Core/Persistence/Repositories/Implement/DocumentRepository.cs
#	src/Umbraco.Web.UI/Umbraco/dialogs/rollBack.aspx
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/rollBack.aspx
2018-10-23 22:16:48 +11:00
Shannon 001ed50c7d fixes test 2018-10-23 22:13:50 +11:00
Shannon dfd3e8f4c4 Fixes tests and issue with member list view not passing the GUID along in the route 2018-10-23 22:10:27 +11:00
Shannon fa64f4a6a8 Fixes member group editing, removes old dialog tasks, removes old references in the old ui.xml file 2018-10-23 21:38:24 +11:00
Warren Buckley 2ec6216932 Merge pull request #3400 from umbraco/temp8-247-hostnames-dialog
Temp8 247 hostnames dialog
2018-10-23 11:28:08 +01:00
Warren Buckley 03b363df21 Add some TODO's to consider removing references to MasterPages & UserControls 2018-10-23 10:53:55 +01:00
Warren Buckley 0e51b45e64 Make SystemDirectories.Bin non configurable, as the comment mentioned you cannot configure the bin folder for ASP.NET projects 2018-10-23 10:53:22 +01:00
Warren Buckley 3e4ecac4e3 Remove SystemDirectory.Base - this is a very legacy feature & no longer in use in codebase 2018-10-23 10:52:19 +01:00
Mads Rasmussen abed9ab331 show duplicate domain validation messages 2018-10-23 11:48:42 +02:00
Warren Buckley d88aab59a1 Remove all references to SystemDirectories.UmbracoClient - as Umbraco_Client folder no longer exists anymore 2018-10-23 10:41:44 +01:00
Claus 9438581621 Merge pull request #3240 from umbraco/temp8-sendToPublish
Send to Publish changes
2018-10-23 10:54:42 +02:00
Kenn Jacobsen de42eaea44 Move some padding around to fix unaligned labels and values 2018-10-23 10:54:10 +02:00
Stephan 9699e6cb71 Merge branch 'temp8' into temp8-dirty-tracking-on-variants 2018-10-23 10:51:28 +02:00
Mads Rasmussen 1badcd0b29 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-10-23 10:32:33 +02:00
Mads Rasmussen 76eb809b2c Fix list view property editors. Use "display: block" for instead of "inline block" 2018-10-23 10:31:54 +02:00
Warren Buckley e3c6cfa63c Merge pull request #3312 from umbraco/temp8-3298-move-rollback
Temp8 3298 move rollback
2018-10-23 09:28:41 +01:00
Shannon 69450791cf Fixes the new Id/Guid property on members, ensures all tabs are expanded by default and removes that init logic from JS since we don't want it there. 2018-10-23 19:25:48 +11:00
Anders Bjerner 7df6b661c5 Mediatyperesource localized (#3378) 2018-10-23 10:23:09 +02:00
Søren Kottal 1080d98339 Fixes incorrect swedish translation 2018-10-23 09:51:05 +02:00
GwanYeong Kim b539cc2a7a Remove this commented out code 2018-10-23 09:43:29 +02:00
Shannon 1936cc5be9 Merge remote-tracking branch 'origin/temp8' into temp8 2018-10-23 18:39:16 +11:00
elitsa 127ecdf48e Right arrow appears only when there are child nodes. 2018-10-23 09:34:02 +02:00
Shannon 9dadecdcc1 Fixes boolean conversion logic in ColorPickerConfigurationEditor, Fixes tree grouping logic and moves groups cache to the ApplicationTreeService, fix other merge issues 2018-10-23 18:28:55 +11:00
elitsa c5755e25c8 Revert commit not belonging to this PR. 2018-10-23 09:04:09 +02:00
Shannon d9a4d1fa97 Manual merging 2018-10-23 16:12:23 +11:00
Stephan d2cfe8f3b9 Fix GetVersionsSlim 2018-10-22 18:21:00 +02:00
emmaburstow 21cb0f79c3 Added dictionary item for member group save message (#3379) 2018-10-22 18:19:59 +02:00
Stephan ba913db60e Fix to/from (in)variant changes 2018-10-22 17:20:48 +02:00
Stephan 3468351de8 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-10-22 17:20:19 +02:00
Mads Rasmussen 78fb52f788 fix size of publish state in publish dialog 2018-10-22 17:04:56 +02:00
Mads Rasmussen 7265d329ea Alwyas show ellipsis for unpublish. It will always open a dialog 2018-10-22 15:56:08 +02:00
Mads Rasmussen 9d1c12d7df this validation needs to happen server side 2018-10-22 15:13:25 +02:00
Mads Rasmussen d3163aa00e show validation message when a domain name is missing 2018-10-22 13:34:57 +02:00
Mads Rasmussen bc379e0b71 set domain and language to be required + add required markers in the table headings 2018-10-22 13:07:54 +02:00
Mads Rasmussen 5391934a76 remove domain validation regex 2018-10-22 12:59:23 +02:00
Mads Rasmussen 88857fa1b5 show load indicator when dialog loads 2018-10-22 12:53:26 +02:00
Mads Rasmussen 126ed536ed update casing to match model updates 2018-10-22 12:34:48 +02:00
Warren Buckley 2062672eda Camel case models for the hostnames dialog 2018-10-22 10:20:02 +01:00
Mads Rasmussen 9560548b46 temp remove domain validation because that is preventing the form from saving + show saving state 2018-10-22 11:03:25 +02:00
Mads Rasmussen 7a2b91c9a7 don't show culture selector for nodes with variants 2018-10-22 10:41:46 +02:00
Stephan 8976a6cce3 Show language ISO code in list 2018-10-22 10:34:14 +02:00
Stephan d49e06255c Fix upgrade message 2018-10-22 10:34:04 +02:00
Mads Rasmussen 8cc0fae771 Merge branch 'temp8-247-hostnames-dialog' of https://github.com/umbraco/Umbraco-CMS into temp8-247-hostnames-dialog 2018-10-22 10:32:12 +02:00
Mads Rasmussen d3625f9569 first round of styling fixes 2018-10-22 10:31:34 +02:00
Warren Buckley 6b7dd261ab Add to the tree metadata (So the UI of the tree node can be aware if it allows variants) 2018-10-22 09:30:39 +01:00
Stephan f46b7ca7b1 Rollback uses GetVersionsSlim 2018-10-22 08:45:30 +02:00
Sebastiaan Janssen 4a49817322 Fixes a few oversights in image cropper 2018-10-22 08:31:10 +02:00
Shannon 93a52432cf Manual merging 2018-10-22 17:04:58 +11:00
Shannon cd2cf26274 Fixes build errors after merge 2018-10-22 16:13:53 +11:00
Shannon c6a67f79ac Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/GlobalSettings.cs
#	src/Umbraco.Core/Configuration/UmbracoConfig.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/IContentSection.cs
#	src/Umbraco.Core/Models/IContentTypeBase.cs
#	src/Umbraco.Core/Persistence/DatabaseSchemaHelper.cs
#	src/Umbraco.Core/Persistence/Migrations/Initial/BaseDataCreation.cs
#	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
#	src/Umbraco.Core/Persistence/Repositories/Implement/MemberGroupRepository.cs
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Tests/Web/TemplateUtilitiesTests.cs
#	src/Umbraco.Tests/packages.config
#	src/Umbraco.Web.UI.Client/bower.json
#	src/Umbraco.Web.UI.Client/lib/umbraco/LegacyUmbClientMgr.js
#	src/Umbraco.Web.UI.Client/src/common/directives/components/imaging/umbimagegravity.directive.js
#	src/Umbraco.Web.UI.Client/src/common/resources/media.resource.js
#	src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js
#	src/Umbraco.Web.UI.Client/src/common/services/umbrequesthelper.service.js
#	src/Umbraco.Web.UI.Client/src/less/belle.less
#	src/Umbraco.Web.UI.Client/src/less/buttons.less
#	src/Umbraco.Web.UI.Client/src/less/components/umb-tabs.less
#	src/Umbraco.Web.UI.Client/src/less/forms.less
#	src/Umbraco.Web.UI.Client/src/less/hacks.less
#	src/Umbraco.Web.UI.Client/src/less/modals.less
#	src/Umbraco.Web.UI.Client/src/less/panel.less
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/approvedcolorpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/mediapicker/mediapicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/mediaPicker/mediapicker.html
#	src/Umbraco.Web.UI.Client/src/views/components/imaging/umb-image-gravity.html
#	src/Umbraco.Web.UI.Client/src/views/dashboard/media/mediadashboardvideos.html
#	src/Umbraco.Web.UI.Client/src/views/dashboard/members/membersdashboardvideos.html
#	src/Umbraco.Web.UI.Client/src/views/dashboard/settings/settingsdashboardvideos.html
#	src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/boolean/boolean.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/boolean/boolean.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.prevalues.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/datepicker/datepicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/imagecropper/imagecropper.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/imagecropper/imagecropper.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.html
#	src/Umbraco.Web.UI.Client/src/views/users/user.html
#	src/Umbraco.Web.UI.Client/src/views/users/views/user/details.html
#	src/Umbraco.Web.UI/Umbraco/Views/Preview/Index.cshtml
#	src/Umbraco.Web.UI/Umbraco/config/lang/da.xml
#	src/Umbraco.Web.UI/Umbraco/dialogs/protectPage.aspx
#	src/Umbraco.Web.UI/Umbraco/dialogs/rollBack.aspx
#	src/Umbraco.Web.UI/config/EmbeddedMedia.Release.config
#	src/Umbraco.Web.UI/config/EmbeddedMedia.config
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/umbraco/dialogs/sort.aspx
#	src/Umbraco.Web.UI/umbraco_client/Dialogs/PublishDialog.js
#	src/Umbraco.Web.UI/web.Template.config
#	src/Umbraco.Web/Editors/ContentController.cs
#	src/Umbraco.Web/HealthCheck/Checks/DataIntegrity/DatabaseSchemaValidationHealthCheck.cs
#	src/Umbraco.Web/Models/Mapping/MemberModelMapper.cs
#	src/Umbraco.Web/Models/Trees/TreeNodeExtensions.cs
#	src/Umbraco.Web/PropertyEditors/ColorListPreValueEditor.cs
#	src/Umbraco.Web/PropertyEditors/EmailAddressPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/ImageCropperPropertyValueEditor.cs
#	src/Umbraco.Web/PropertyEditors/TrueFalsePropertyEditor.cs
#	src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs
#	src/Umbraco.Web/Routing/ContentFinderByUrlAlias.cs
#	src/Umbraco.Web/Templates/TemplateUtilities.cs
#	src/Umbraco.Web/UmbracoHelper.cs
#	src/Umbraco.Web/WebServices/SaveFileController.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/FileSystemTree.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/controls/dualSelectBox.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dashboard/FeedProxy.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/protectPage.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/rollBack.aspx
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/rollBack.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/settings/stylesheet/editstylesheet.aspx.cs
2018-10-22 16:03:01 +11:00
Sebastiaan Janssen 2c6fd3af14 Re-fix - U4-11111 - Hide tooltip of slider in document type property preview 2018-10-21 19:46:08 +02:00
Bjarne Fyrstenborg b86be5b854 Fix color swatches title when using css classes for colors 2018-10-21 19:41:12 +02:00
Kenn Jacobsen 8c8d979eb2 Style confirmations and alerts consistently across all sections (#3251) 2018-10-21 19:36:07 +02:00
James Coxhead dadc3ad7a7 Fixes #3348 - Configure Umbraco.Dropdown.Flexible for new installations 2018-10-21 19:18:43 +02:00
Sebastiaan Janssen 04aa199266 Makes sure the path on the tree is correct 2018-10-21 18:59:25 +02:00
Tim Geyssens 2c14f396fb Update FileSystemTree.cs
Make sure it can find child items in root folders
2018-10-21 18:59:25 +02:00
Kenn Jacobsen 10526cfc81 Fix #3368 by watching changes and explicitly flagging the form as dirty 2018-10-21 18:28:15 +02:00
Sebastiaan Janssen cd6f489606 Merge pull request #3374 from umbraco/abjerner-umb-generate-alias
Localized umb-generate-alias placeholder texts
2018-10-21 18:20:20 +02:00
Sebastiaan Janssen 96d7a776b7 Removes dangling comma 2018-10-21 18:17:56 +02:00
Anders Bjerner 954893cf2b umbRequestHelper.resourcePromise not supports the error message being a promise 2018-10-21 18:17:56 +02:00
Anders Bjerner bb3beb406d <pre> elements should at least have white-space: pre-wrap 2018-10-21 18:17:55 +02:00
Anders Bjerner d6a329925c Border color for .add-on should be @purple-l3 2018-10-21 18:17:54 +02:00
Jan Skovgaard 7eecf230af 3364 - Suggestion: Make use of confirm action directive on repeatable textstring when deleting (#3365) 2018-10-21 18:17:53 +02:00
Kenn Jacobsen 44fbff4410 Hide "reset password" on the login screen if system emails can't be sent. 2018-10-21 18:17:53 +02:00
Kenn Jacobsen d16bc7a465 Add a custom content item binder for saving blueprints (fixes #2985) 2018-10-21 18:17:51 +02:00
Anders Bjerner df2313f7ec umbRequestHelper.resourcePromise not supports the error message being a promise 2018-10-21 18:08:56 +02:00
Chris Houston c401782d5e Added clean-css to the client side build process (#3371) 2018-10-21 16:27:39 +02:00
Anders Bjerner 1de7b8f10f <pre> elements should at least have white-space: pre-wrap 2018-10-21 16:11:22 +02:00
Anders Bjerner fe06f095be Border color for .add-on should be @purple-l3 2018-10-21 16:05:04 +02:00
Jan Skovgaard 01d9785097 3364 - Suggestion: Make use of confirm action directive on repeatable textstring when deleting (#3365) 2018-10-21 16:00:11 +02:00
Kenn Jacobsen 5da5df5bf9 Hide "reset password" on the login screen if system emails can't be sent. 2018-10-21 14:58:18 +02:00
Kenn Jacobsen 90416a4d87 Add a custom content item binder for saving blueprints (fixes #2985) 2018-10-21 14:52:05 +02:00
Anders Bjerner 827bc19f6a Localized umb-generate-alias placeholder texts 2018-10-21 14:03:22 +02:00
Anders Bjerner 39edf4c6dd Added keys for "enterAlias" and "generatingAlias" 2018-10-21 13:58:45 +02:00
Anders Bjerner 6f359b3d18 Added keys for "enterAlias" and "generatingAlias" 2018-10-21 13:57:01 +02:00
Anders Bjerner e1919e0c52 Added keys for "enterAlias" and "generatingAlias" 2018-10-21 13:54:17 +02:00
Pawel Bres 5bd87efb3f Updated URL to the Contributing page of v7
The old link was not working anymore and was pointing to 404 GitHub page
2018-10-21 12:51:09 +02:00
Anders Bjerner f4a9617487 Improved the description for the "Icon" property 2018-10-21 12:50:42 +02:00
sebastien-sougnez 5efb079f56 Changed font-awesome verison from 4.2 to 4.7 2018-10-21 12:50:02 +02:00
Chris Houston 4ef9c3f086 When typing to configure some of the data types on a small width screen ( mobile or very narrow browser window ) the editing controls for some of the data types did not wrap underneath the titles and in some cases they disappeared completely.
This adds a 100% width on small screen sizes and then reverts back to the original 60% width after 800px's.
2018-10-21 11:23:08 +02:00
Kenn Jacobsen 00cf8dcf05 Reload the node when publishing all unpublished children 2018-10-21 11:01:45 +02:00
Rasmus John Pedersen ef343f04a8 Only hide icons if hideIcons is set to 'true' 2018-10-21 10:51:35 +02:00
Carole Rennie Logan 7071b21db7 Updating example content app manifest
Including roles
2018-10-21 10:41:17 +02:00
Søren Kottal 5dc67deeec adds the right description to UmbracoHelper.Concatenate 2018-10-21 10:39:57 +02:00
Rasmus John Pedersen 6996a06d64 Only add "Move" action once 2018-10-21 10:34:42 +02:00
Warren Buckley f37f679031 Adds ContentApps to the Composition extension methods 2018-10-19 15:19:37 +01:00
Jamie Townsend 0f2381a94d Merge multiple ng-if attributes 2018-10-19 15:19:22 +02:00
Kenn Jacobsen f993869482 Remove the default SMTP configuration 2018-10-19 15:16:01 +02:00
Ed Parry 201a2cd7b1 Added the user ID and GUID to the user details view. (#3279) 2018-10-19 15:13:07 +02:00
Bjarne Fyrstenborg 8e1065a2b6 Fix missing semicolons and remove comma at end 2018-10-19 15:08:17 +02:00
Mike Chambers ecf9c0adb4 Update datepickerController to add onValueChanged function
adding onValueChanged method to capture serverside Model Changes, clearing flag using c# System.DateTime.MinValue.
2018-10-19 15:07:03 +02:00
fer22f d95ec9eb14 Fix documentation of container styling of nodes 2018-10-19 14:56:52 +02:00
Andy Robinson 6b90d62bd1 update to issue #3292 to fix 4 col grid cards. 2018-10-19 14:51:44 +02:00
Andy Robinson c5ea0ea3a9 fixing issue in #3292 2018-10-19 14:51:44 +02:00
Mads Rasmussen 126a834ad4 fix installer facts 2018-10-19 14:49:27 +02:00
Pritesh Tailor d9efc2a401 Fixed broken link in detailed contrib doc
The link to the the issues was broken (Your first code code contribution section). I've updated to the readonly issue tracker and added a reference to new issue tracker.

Removed a line on upvotes, as i don't believe that's relevant anymore.
2018-10-19 14:46:37 +02:00
Mads Rasmussen b75f41b3f6 fix user cards grid 2018-10-19 14:25:15 +02:00
Kenn Jacobsen 8036af958f Allow video feeds to load over HTTPS + fix a few feeds (#3256) 2018-10-19 14:19:47 +02:00
Stephan 421cbf979c Cleanup rollback in content service 2018-10-19 12:47:04 +02:00
Stephan 89510148ac Merge branch 'temp8' into temp8-3298-move-rollback 2018-10-19 11:55:44 +02:00
elitsa 40424b805b Merge remote-tracking branch 'origin/temp8' into temp8-sendToPublish 2018-10-19 11:40:56 +02:00
Bjarne Fyrstenborg 25d9e432c3 Remove space 2018-10-19 11:32:17 +02:00
Bjarne Fyrstenborg a23901c07a Enable email address as macro parameter editor 2018-10-19 11:32:17 +02:00
Poornima Nayar df2ee8e3e1 Moved the css rules for the rollback modal to a new stylesheet 2018-10-19 11:29:49 +02:00
Søren Kottal 1b0581bfce xml comments for ImageCropMode 2018-10-19 11:26:33 +02:00
Mads Rasmussen 82f7b099d5 change styling 2018-10-19 10:43:39 +02:00
Mads Rasmussen 4c638565b7 special treatment for property editors which store the value as json 2018-10-19 09:41:52 +02:00
Shannon 239112a1de notes 2018-10-19 15:45:05 +11:00
Shannon abeb4e04e5 Enhance implementation of ObservableDictionary so we can re-use this in more places, changes CultureNameCollection to ObservableDictionary, fixes issue with dirty tracking changed property type collections ... this was working by pure fluke before! Fixes more tests. 2018-10-19 15:41:28 +11:00
Shannon 8dfb0dc35c more send to translate cleanup 2018-10-19 13:25:06 +11:00
Shannon cc4ee6527d Gets the correct variant logging put in to the audit trail, cleans up audit trail messages to make sense, makes sure audit trail is reloaded when changing variants 2018-10-19 13:24:36 +11:00
Shannon 71fd47f452 Fixes issue of observable collections, event binding and deep cloning 2018-10-19 08:45:53 +11:00
Shannon b30f55ea30 Fixes issue of observable collections, event binding and deep cloning 2018-10-19 08:26:17 +11:00
Warren Buckley 6c459c5117 OK I think we are finally done with C# for Audit
Wraps with a scope so Audit can be fired & the Rollback events can be emitted
2018-10-18 15:51:22 +01:00
Warren Buckley f3ce005cbf Added in some TODOs
Fix log message for success of save
2018-10-18 15:25:11 +01:00
Warren Buckley 6850599ce9 Remove the emtpy folders from CSProj in the legacy umbraco.presentation folder 2018-10-18 15:04:40 +01:00
Warren Buckley 1efe90ba1d More rollback .aspx dialogs removed 2018-10-18 14:54:29 +01:00
Warren Buckley d4bf084b82 Merge branch 'temp8-3298-move-rollback' of https://github.com/umbraco/Umbraco-CMS into temp8-3298-move-rollback 2018-10-18 14:33:12 +01:00
Warren Buckley 321313f134 Remove rollback .aspx dialog 2018-10-18 14:32:44 +01:00
Mads Rasmussen b78a4c2f88 Merge branch 'temp8-3298-move-rollback' of https://github.com/umbraco/Umbraco-CMS into temp8-3298-move-rollback 2018-10-18 15:26:02 +02:00
Mads Rasmussen 0f528a7a89 disable roll back button when no version is selected 2018-10-18 15:25:17 +02:00
Warren Buckley 4a797781a6 Merge branch 'temp8-3298-move-rollback' of https://github.com/umbraco/Umbraco-CMS into temp8-3298-move-rollback 2018-10-18 14:24:50 +01:00
Warren Buckley 6f7d0c3a45 Move logic out of controller into a Rollback method in the service level 2018-10-18 14:24:32 +01:00
Mads Rasmussen 09a7443701 dont show diff if a versionId is not set 2018-10-18 15:16:37 +02:00
Mads Rasmussen a12d736b6b show user in version dropdown 2018-10-18 14:56:00 +02:00
Stephan 2b83b44c9c Fix ContentService.GetPagedChildren 2018-10-18 14:25:35 +02:00
Stephan 510666cd7e ContentService.GetPagedChildren is broken? 2018-10-18 14:25:35 +02:00
Warren Buckley aa86f5b135 Merge branch 'temp8-3298-move-rollback' of https://github.com/umbraco/Umbraco-CMS into temp8-3298-move-rollback 2018-10-18 13:13:20 +01:00
Warren Buckley a40a6e8f35 WIP: Adds logging & audit message
Fixes the filtering & dates to display in the version list
2018-10-18 13:13:11 +01:00
Mads Rasmussen b2138d6376 reload content after rollback 2018-10-18 14:06:21 +02:00
Shannon c3e2d2a821 Cleaning up the log/audit trail usage, removing duplicate and unecessary entries and adding new cols 2018-10-18 22:52:49 +11:00
Shannon a163f79526 Merge remote-tracking branch 'origin/temp8' into temp8-dirty-tracking-on-variants
# Conflicts:
#	src/Umbraco.Core/Migrations/Upgrade/UmbracoPlan.cs
#	src/Umbraco.Core/Models/Content.cs
2018-10-18 22:52:15 +11:00
Shannon f1ca32ea54 Cleaning up the log/audit trail usage, removing duplicate and unecessary entries and adding new cols 2018-10-18 22:47:12 +11:00
Shannon 6cd9102fac Gets publish names tracking changes, adds unit tests 2018-10-18 21:12:55 +11:00
Robert 15f5e9a98e Typo in lazyload JS path for AuthUpgrade page 2018-10-18 11:25:05 +02:00
Mads Rasmussen fd08316189 wire up rollback button 2018-10-18 11:10:27 +02:00
Warren Buckley 816b5ba598 Merge branch 'temp8-3298-move-rollback' of https://github.com/umbraco/Umbraco-CMS into temp8-3298-move-rollback 2018-10-18 09:24:53 +01:00
Mads Rasmussen 813f3f8d84 a language should always be selected when a node has variants 2018-10-18 10:21:13 +02:00
Warren Buckley 3f82cd7677 Update get rollback version to use a culture in the resource 2018-10-18 09:13:27 +01:00
Warren Buckley bdf474f111 Typo in lazyload JS path for AuthUpgrade page 2018-10-18 09:06:46 +01:00
Warren Buckley f0d12f7915 Merge remote-tracking branch 'origin/temp8' into temp8-3298-move-rollback 2018-10-18 08:42:43 +01:00
Robert ace5c07987 Merge pull request #3152 from umbraco/temp8-w220
Fixes: List view searching needs to search on variant names
2018-10-18 08:51:32 +02:00
Mads Rasmussen ab34deb726 add diff 2018-10-17 20:37:15 +02:00
Stephan 15968bc99b Fix dates in document versions 2018-10-17 17:27:39 +02:00
Warren Buckley b358fd5e2d Merge branch 'temp8-3298-move-rollback' of https://github.com/umbraco/Umbraco-CMS into temp8-3298-move-rollback 2018-10-17 15:10:06 +01:00
Warren Buckley fff7891e53 Filter rollback version to display the VariantDisplay model instead 2018-10-17 15:09:29 +01:00
Mads Rasmussen eb8b269846 wire up getRollbackVersion endpoint 2018-10-17 16:02:47 +02:00
Warren Buckley 2baafd9c91 * Renamed API variables to 'culture' to make Stephan happy - updated the AngularJS HTTP Resource call too
* Stubbed out some other WIP code - for getting a specific version & attempting to perform a rollback
2018-10-17 14:39:11 +01:00
Mads Rasmussen 214d6a9834 show correct title and date for current version + update versions when language is changed 2018-10-17 15:17:43 +02:00
Stephan 581658086f Fix KeyValueService for proper initialization 2018-10-17 15:11:00 +02:00
Stephan e80ea9830c Fix bad LockDto primary key w/migration 2018-10-17 15:11:00 +02:00
Stephan 71cec84f78 Fix MigrationExpressionBase, minor typo 2018-10-17 15:11:00 +02:00
Stephan d324466fe1 Fix LockDto, had wrong primary key + missing rows 2018-10-17 15:11:00 +02:00
Mads Rasmussen 2be2273589 wire up versions end point 2018-10-17 14:33:42 +02:00
Warren Buckley 27ce1f34bb Make the JSON model over the API control be the correct casing & make Mads happy :) 2018-10-17 13:24:23 +01:00
Warren Buckley d9864eb6d6 * Make the culturename nullable for invariant content
* fallback to update date and writer id if its not published
2018-10-17 13:19:09 +01:00
Stephan 7c1c6f6806 Fix AlterTableBuilder, was ignoring primary keys 2018-10-17 13:57:35 +02:00
Warren Buckley c05495f358 WIP: Adds a new API endpoint in the editor/webapi for ContenController to list rollback versions available for a culture 2018-10-17 12:15:57 +01:00
Warren Buckley 2e5562c353 Merge branch 'temp8' into temp8-3298-move-rollback 2018-10-17 10:19:42 +01:00
Warren Buckley 5c796b15ad Remove console.log 2018-10-17 11:01:33 +02:00
Shannon ba186144a0 Updates models to allow dirty tracking on variants 2018-10-17 18:09:52 +11:00
Shannon 69640515cf fixes issue with sorting on published 2018-10-17 13:44:24 +11:00
Shannon d7b85397e7 Merge remote-tracking branch 'origin/temp8' into temp8-w220 2018-10-17 12:15:33 +11:00
Mads Rasmussen fd6f9fc83b remove rollback context menu item 2018-10-16 15:11:47 +02:00
Stephan 6346710b97 Fix tests 2018-10-16 15:05:17 +02:00
Mads Rasmussen 16282e1007 remove old client side files for rollback 2018-10-16 14:37:00 +02:00
Mads Rasmussen 203ea8019b add language selector 2018-10-16 14:09:57 +02:00
Warren Buckley c63c114563 Fixes the colors in the icon picker
Checked that the color picker property editor is also OK/happy as well that re-uses the <umb-color-swatches> directive/component
2018-10-16 12:58:21 +01:00
Warren Buckley b27be1153c Merge pull request #3239 from umbraco/temp8-3092-publish-descendants
Temp8 3092 publish descendants
2018-10-16 12:20:40 +01:00
Mads Rasmussen 1c1057412e move current rollback version to infinite editor 2018-10-16 12:40:40 +02:00
Warren Buckley 982fb46e7d Fix failing unit test - number of trees gone down as we have removed the user tree (as this is now a fullscreen/wide section/app only) 2018-10-16 11:16:45 +01:00
Mads Rasmussen eceec9ea3e Set rollback button to be xs + fix padding on xs buttons 2018-10-16 11:43:14 +02:00
Warren Buckley d8f1ec5116 Merge pull request #3200 from umbraco/temp8-3087-tree-grouping
#3087 - Tree Grouping in Settings section
2018-10-16 10:14:22 +01:00
Mads Rasmussen 3d52f2676e Add possibility to extend the umb-box-header + add rollback button 2018-10-16 10:59:04 +02:00
Stephan f868172f48 Cleanup 2018-10-16 10:58:17 +02:00
Stephan 6e8411acaa Merge pull request #3287 from crgrieve/v8-content-app-roles
v8 ContentApp Show/Hide per user Role
2018-10-16 10:12:13 +02:00
Shannon a100d321f6 Fixes group node route 2018-10-16 18:08:57 +11:00
Shannon 10873c1dfc Cleans up all old tree classes. woohoo! 2018-10-16 17:41:02 +11:00
Shannon 831657537f tree webforms cleanup 2018-10-16 16:56:28 +11:00
Shannon 286f7b3279 Gets tree syncing working, updates the GetApplicationTrees to still return a single Root since we require this everywhere for JS, fixes full screen section and makes users a full screen section (and reduces unecessary code), removes code to avoid breaking changes from v7 2018-10-16 16:41:06 +11:00
Shannon 466d782db4 Fixes issue with umbsetdirtyonchange.directive 2018-10-16 13:18:21 +11:00
Shannon 339417b977 Merge remote-tracking branch 'origin/temp8' into temp8-3087-tree-grouping
# Conflicts:
#	src/Umbraco.Web.UI/umbraco/config/lang/nb.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/zh_tw.xml
2018-10-16 13:11:09 +11:00
Shannon 02eb1aef91 Updates some styles so we get the button state back, cleans up some js 2018-10-16 12:15:48 +11:00
Warren Buckley bebc3b5f74 Remove inline mode - too many issues for now 2018-10-15 14:57:31 +01:00
Mads Rasmussen 7c1fae7462 add toolbar pinning back in 2018-10-15 15:54:54 +02:00
Stephan 7757c7060e Refactor ManifestContentAppDefinition for roles 2018-10-15 15:48:26 +02:00
Mads Rasmussen b92978c7d3 fix resize + scrolling issues 2018-10-15 15:23:56 +02:00
Stephan 575d7a3ae7 Cleanup 2018-10-15 14:44:26 +02:00
Warren Buckley 47596af680 Changes theme prevalue to mode & toggles the various views TinyMCE ships with 2018-10-15 13:04:37 +01:00
Warren Buckley 9fa94b5366 Update dropdown to be mode & match the same terminology as TinyMCE Modes (Classic, Inline & Distraction Free) 2018-10-15 12:33:11 +01:00
Mads Rasmussen 30436eb72d fix styles 2018-10-15 13:19:00 +02:00
Mads Rasmussen 9c5a30f36c remove build in source code editor from tinymce 2018-10-15 13:00:35 +02:00
Carole Rennie Logan 64d7caee78 Update src/Umbraco.Core/Manifest/ManifestContentAppDefinition.cs
Rework logic on content app permissoins. Roles should override all other.
2018-10-14 19:24:18 +01:00
Carole Rennie Logan 3a6f2545f6 Update src/Umbraco.Core/Manifest/ManifestContentAppDefinition.cs
making it case insensitive
2018-10-14 17:38:38 +01:00
Tim Payne f394af20d0 Update umbsections.directive.js
Update the number of sections to the actual number of sections available at the present time, add a fix to the calculateWidth method so that if less items are allowed than available but there is technically enough room to show them the overflow tray still shows up.

On prior version, try adding translation to your allowed user group sections and reload, you can't see the translation section in the top menu, but the overflow menu button won't show until you shrink the screen.
2018-10-14 18:04:39 +02:00
Carole Rennie Logan 1f072a383e ContentApp Show/Hide per user Role
Making content app work show hide in manifest work for user roles. for example:

 "show": [
                "+role/admin"
            ]
2018-10-14 15:56:22 +01:00
Lotte Pitcher a3de30934d Re-adding the language keys for login greeting on a Sunday (greeting0) that were accidentally removed 2018-10-14 16:56:18 +02:00
Kim Holzmann 7a474c6fa4 #3219 Validation error on templates when clicking "save"
Error with use of savebutton fixed, use the suppressNotification value to check state.
2018-10-14 15:23:31 +02:00
Jamie Townsend fb277d80e7 Fix for old password not showing/hiding correctly on admin users page #3069 (#3273) 2018-10-14 13:34:16 +02:00
Sebastiaan Janssen c23f01e74d Merge pull request #3278 from tcmorris/patch-2
Update v8 getting started
2018-10-14 13:07:32 +02:00
Thomas Morris 00afea61f0 Update v8 getting started
Update link so that it doesn't 404 and replace with relevant link.
2018-10-14 10:49:50 +01:00
Sebastiaan Janssen b78f13bd9b Merge pull request #3274 from MMasey/fix-lazyload-reference
Update lazyload.js reference on install pages.
2018-10-14 10:49:22 +02:00
Mike Masey fe906f0e81 Update lazyload.js reference on install pages. 2018-10-13 17:59:43 +01:00
Warren Buckley cb0b1ef73d More CodeMirror stuff gone 2018-10-12 14:47:23 +01:00
Warren Buckley 69d1fea8f7 Thought I updated these already?! 2018-10-12 14:36:57 +01:00
Warren Buckley 996c48cc7f Package lock without codemirror 2018-10-12 14:35:47 +01:00
Warren Buckley 9495feb94d Updates the tinymce plugin alias to use the code icon for when configuring which toolbar buttons to add in the prevalue editor view 2018-10-12 14:21:08 +01:00
Warren Buckley 66d4541fc5 Remove codemirror files 2018-10-12 14:20:21 +01:00
Warren Buckley 9dcabd24d2 Cleanup of console.log, remove unused code and name button better than 'Warrens button' 2018-10-12 14:00:15 +01:00
Warren Buckley 6a4e9f5368 Bye bye codemirror TinyMce Wrapper Plugin 2018-10-12 13:59:39 +01:00
Mads Rasmussen e805305352 refresh model on save 2018-10-12 13:55:57 +02:00
Warren Buckley 4fb343e8d4 Merge branch 'temp-tinymce' of https://github.com/umbraco/Umbraco-CMS into temp-tinymce 2018-10-12 12:30:01 +01:00
Warren Buckley 1cb4df2750 WIP Ace editor for the HTML source code 2018-10-12 12:29:34 +01:00
Shannon ffc0ec4556 removes dimensions pre-values from rte 2018-10-12 10:51:43 +02:00
Shannon 93075a82de menu now wraps in classic mode 2018-10-12 10:42:11 +02:00
Shannon faec132f82 TEMP - removes inline mode adds stub code to have a fixed toolbar dom item 2018-10-12 10:28:36 +02:00
Shannon ab846ec4f6 Changes default theme to Modern 2018-10-12 10:00:47 +02:00
Shannon 9198d7976f changes the default to classic 2018-10-12 09:50:53 +02:00
Shannon 019bb3ee95 Merge branch 'temp-tinymce' of https://github.com/umbraco/Umbraco-CMS into temp-tinymce 2018-10-12 09:47:47 +02:00
Shannon 08bf996737 Revert "wip for trying tinymce5 (will revert and come back to this later)"
This reverts commit 8b6ede49b4.
2018-10-12 09:47:40 +02:00
Shannon 8b6ede49b4 wip for trying tinymce5 (will revert and come back to this later) 2018-10-12 09:47:16 +02:00
Shannon bf9bd4b1f5 delete the old skin files since we're not using them 2018-10-12 09:46:52 +02:00
Warren Buckley 43d4447498 Something went wrong with a merge temp8 into this after the removal of bower 2018-10-12 08:19:38 +01:00
Warren Buckley 4fd54ba339 Adds a class to the DIV so we can add a border for the inline editor when the RTE is yet to have any content/copy added - to make it obvious there is something there to click into 2018-10-11 15:56:05 +01:00
Warren Buckley e2c16f15da Adds in skins for tinymce 2018-10-11 15:19:32 +01:00
Warren Buckley 0e8c5f48fe tinymce to correct version - 4.8.3 2018-10-11 15:14:33 +01:00
Warren Buckley a275b47139 npm install of tinymce 2018-10-11 15:12:05 +01:00
Warren Buckley 7603ab6d47 Merge branch 'temp8' into temp-tinymce
# Conflicts:
#	src/Umbraco.Web.UI.Client/bower.json
#	src/Umbraco.Web.UI.Client/package-lock.json
2018-10-11 15:10:21 +01:00
Shannon 1597dce99e Adds pre-value drop down for theme selection 2018-10-11 15:39:18 +02:00
Warren Buckley bbc28b132d Merge pull request #3260 from umbraco/temp8-remove-bower
Temp8 remove bower
2018-10-11 14:38:45 +01:00
Mads Rasmussen 9800f1bd9c fix paths in karma test 2018-10-11 15:31:39 +02:00
Mads Rasmussen 4f00082dd5 fix angular mocks 2018-10-11 15:06:12 +02:00
Shannon 1902ebd989 Fixes issue with umbsetdirtyonchange.directive 2018-10-11 14:56:22 +02:00
Mads Rasmussen 91a64c9ea9 Merge branch 'temp8-remove-bower' of https://github.com/umbraco/Umbraco-CMS into temp8-remove-bower 2018-10-11 14:51:09 +02:00
Mads Rasmussen 6071be79be set private to true in package.json. We don't need to publish on npm 2018-10-11 14:50:34 +02:00
elitsa 140e410dcc Revert changes 2018-10-11 14:40:18 +02:00
Warren Buckley e902bb08f6 Removes installing bower from the build powershell 2018-10-11 13:37:20 +01:00
Mads Rasmussen e390d28e29 fix jquery-ui 2018-10-11 14:34:02 +02:00
Warren Buckley ac5ee9053f Update & match momentjs version 2018-10-11 13:32:15 +01:00
Warren Buckley ecaedc547a Fixes moment locale copying 2018-10-11 13:31:54 +01:00
Shannon f816f19d60 Fixes some issues for rte 2018-10-11 14:25:33 +02:00
Mads Rasmussen a00875089c get the right version of ace 2018-10-11 14:10:18 +02:00
Shannon 926fef43d0 Fixes merge issues 2018-10-11 14:07:04 +02:00
Mads Rasmussen 7a372bf814 fix lazyload 2018-10-11 13:50:52 +02:00
Shannon f6c99f2bbc Merge remote-tracking branch 'origin/temp8' into temp-tinymce
# Conflicts:
#	src/Umbraco.Web.UI.Client/bower.json
#	src/Umbraco.Web.UI.Client/src/common/directives/components/grid/grid.rte.directive.js
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/embed/embed.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/embed/embed.html
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/mediaPicker/mediapicker.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.html
2018-10-11 13:33:18 +02:00
Mads Rasmussen 09f67c6c43 fix version 2018-10-11 13:26:35 +02:00
Mads Rasmussen efefa54601 remove all bower logic in gulp + remove bower.json 2018-10-11 13:26:21 +02:00
Mads Rasmussen bb5817ca92 fixing versions and files 2018-10-11 13:12:10 +02:00
elitsa e1c7d23c81 Adding a missing parameter 2018-10-11 12:54:32 +02:00
elitsa 79c363c900 Updating the admin user id to the correct userId 2018-10-11 12:54:06 +02:00
elitsa a73e288846 Few fixes - including completing a transaction, disabling the notifications so they can be handled manually. 2018-10-11 12:52:57 +02:00
Mads Rasmussen bd20518d50 move the last dependencies 2018-10-11 12:16:09 +02:00
Warren Buckley 7ebccb1a36 Don't need to globally install bower anymore in this helper batch script 2018-10-11 10:54:45 +01:00
Robert 00bad829c3 Removed rogue colon 2018-10-11 11:54:28 +02:00
Mads Rasmussen a0c7a45a4c move, move, move all day loong... 2018-10-11 10:44:14 +02:00
Shannon f996653a67 changes logic to Count 2018-10-11 10:35:23 +02:00
Shannon c6a4b014cb Merge remote-tracking branch 'origin/temp8-3087-tree-grouping' into temp8-3087-tree-grouping 2018-10-11 10:28:47 +02:00
Warren Buckley 6dd9bf56be Update logic for checking for groups to be more robust (as we could still have one named group) 2018-10-11 09:23:42 +01:00
Warren Buckley eb3fd54e2e Remove empty/unused keys for these tree header groupings 2018-10-11 09:21:39 +01:00
Warren Buckley 9572d195b5 Fixes based on Shan's feedback of the PR
Only does fancy group logic if more than one group - means other sections can be grouped in the future
2018-10-11 09:16:44 +01:00
Shannon a534457f53 Merge remote-tracking branch 'origin/temp8' into temp8-3087-tree-grouping 2018-10-11 10:15:07 +02:00
Mads Rasmussen 37d14f7413 moving moments + angular-dynamic-locale 2018-10-11 09:46:23 +02:00
Robert 9231d2e61c Merge branch 'temp8' into temp8-w220 2018-10-11 09:42:27 +02:00
Stephan 24ff605862 Merge pull request #3244 from umbraco/temp8-installbackground-issue-3243
Fixes issue #3243
2018-10-10 22:05:59 +02:00
Mads Rasmussen 7e85235e20 delete cssparser and less libraries 2018-10-10 21:32:08 +02:00
Mads Rasmussen 4d13c631ed aaand move some more 2018-10-10 21:29:42 +02:00
Mads Rasmussen a4903b9581 get jquery libraries to npm 2018-10-10 20:58:35 +02:00
Niels Hartvig f64cbfae60 Add info on release plan for Umbraco 8 to installer 2018-10-10 13:51:55 -05:00
Niels Hartvig dd6d292896 Updating installer background 2018-10-10 13:51:42 -05:00
Niels Hartvig b5b162cba1 Adds information about the Umbraco 8 release plan 2018-10-10 13:29:51 -05:00
Warren Buckley 4da6788cb8 Fix PartialView Tree Controller to display a folder icon as opposed to an article icon for nested folders - looks odd/broken to me otherwise 2018-10-10 16:27:13 +01:00
Warren Buckley c69590fd21 Move macro tree from Templating up into Settings group 2018-10-10 15:03:14 +01:00
Warren Buckley 5b3db88df9 Fix logic - so that Content Blueprints tree is added to the list of trees (Finding by name/title was not working, so switched to the AdditionalData["treeAlias"] instead 2018-10-10 15:02:50 +01:00
elitsa 8ed4013954 Merge branch 'temp8-sendToPublish' of https://github.com/umbraco/Umbraco-CMS into temp8-sendToPublish 2018-10-10 15:28:18 +02:00
elitsa f0bbce3117 Configuring the logic behind "Send to Publish". 2018-10-10 15:26:05 +02:00
elitsa 5c6bfe823d Configuring the logi behind "Send to Publish". 2018-10-10 15:23:40 +02:00
Mads Rasmussen 66333aa5ec fix label for schedule publish invariant content 2018-10-10 15:19:29 +02:00
elitsa 6db8f50ce3 Right arrow appears when there are child nodes 2018-10-10 15:13:46 +02:00
Mads Rasmussen 5a42259005 disable button if nothing is selected 2018-10-10 15:02:03 +02:00
Mads Rasmussen 75d5c7e30c add translations, autoslect active variant, order by active + clean up 2018-10-10 14:48:54 +02:00
Warren Buckley f1b20ebbb2 Orders the grouped trees by name (which means the custom trees will be last now)
Displays custom third party group - only if we have items to show in that group
2018-10-10 12:25:19 +01:00
Warren Buckley e2d3cbc8eb Decorate other settings trees with the correct grouping 2018-10-10 12:24:00 +01:00
Mads Rasmussen 8fdbfea23f wip publish descendants dialog 2018-10-10 11:33:42 +02:00
Robert a8449a4d01 Merge pull request #3155 from umbraco/temp8-222-variant-invariant-data-updates
variant to invariant data updates
2018-10-10 08:44:33 +02:00
Robert d41251819f RemoveItem now returns a bool 2018-10-10 08:27:20 +02:00
Robert 931fcd565a Removed the override of IsPropertyDirty as is not needed. 2018-10-10 08:26:10 +02:00
Stephan ee24fb4ef7 Make Tests Green Again 2018-10-09 23:02:22 +02:00
Kenn Jacobsen afa3e9b5eb Improve image cropper UX (#3149) 2018-10-09 22:54:51 +02:00
Jan Skovgaard 3aece09e09 3223 - Minor tweaks and code alignment for the checkbox and color picker styling (#3224)
* Make the focus effect on the toggle use the same box-shadow as is already being used in the color picker instead of doing it differently

* Use the color variables instead of hard coded color and also make use of LESS' fade function outputting an rgba() color
2018-10-09 22:25:42 +02:00
Dave Woestenborghs fd1a9bb365 #3214 - umbracoUrlAlias with uppercase characters (#3220) 2018-10-09 21:51:04 +02:00
Kenn Jacobsen 4d1b361f8f Style Public access dialog (#3194) 2018-10-09 21:32:54 +02:00
Mads Rasmussen 91d8b40216 move more libraries 2018-10-09 21:29:50 +02:00
Sebastiaan Janssen ee4a252b07 Revert "Fixed udi's rendered in rte content (#2531)"
This reverts commit b0374695b1.
2018-10-09 21:19:55 +02:00
Mads Rasmussen 5dd6ef18aa first round of moving libraries from bower to npm 2018-10-09 20:48:20 +02:00
Warren Buckley ecb46214d8 package lock JSON update post babel merge 2018-10-09 15:20:31 +01:00
Warren Buckley 3887a9091c Merge pull request #3190 from umbraco/temp8-babel
Temp8 - Add babel to gulp build
2018-10-09 14:46:08 +01:00
Mads Rasmussen 369971bf5f Merge branch 'temp8' into temp8-babel 2018-10-09 15:35:59 +02:00
Warren Buckley ebe52ed6b6 Updated package-lock.json 2018-10-09 14:30:25 +01:00
Warren Buckley 7cdfb65a60 Merge pull request #3213 from umbraco/temp8-223-scheduled-publishing
Temp8 223 scheduled publishing
2018-10-09 14:09:46 +01:00
Jan Skovgaard d1b1a1cf6d #3178 - Make the Checkbox/TrueFalse property editor configurable (#3179) 2018-10-09 14:23:09 +02:00
Poornima Nayar 7e16cf360a Issue with the bottom border looking out of place on the select editor screen fixed 2018-10-09 12:36:28 +02:00
Poornima Nayar 9986c10cec Cleaned up the view by removing inline styles and style tags on the view itself.
Removed inline styles in the code behind files
Moved all styles into the modals.less stylesheet
2018-10-09 12:35:32 +02:00
Anders Bjerner 9b4f879b6d Added XML documentation to the DatabaseSchemaHelper class (#3205) 2018-10-09 12:28:43 +02:00
Kenn Jacobsen 62d65f0e3a Style the sort result so it looks like e.g. the copy dialog result 2018-10-09 12:09:12 +02:00
Jan Skovgaard 8d35dac9b6 #3187 - Small UI fixes for the toggle directive (#3188) 2018-10-09 12:00:29 +02:00
Kenn Jacobsen b8890aee25 Safe(r) handling of invalid images in the image cropper 2018-10-09 11:12:47 +02:00
Paul Seal bb23e8e200 - fix styling of Learn Umbraco help list (#3184) 2018-10-09 10:56:54 +02:00
Paul Seal cbc3ca0768 Updated copyright year 2018-10-09 10:56:18 +02:00
Søren Kottal e76d7cf060 removes selector 2018-10-09 10:45:03 +02:00
Jan Skovgaard 471e47e11b #3163 - Don't overwrite the label name even though labels are disabled in the color picker (#3164) 2018-10-09 10:41:31 +02:00
Warren Buckley 31b616f0ae Merge branch 'temp8' into temp8-3087-tree-grouping
# Conflicts:
#	src/Umbraco.Web.UI/Umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/es.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/tr.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/nb.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/zh_tw.xml
#	src/Umbraco.Web/Trees/DictionaryTreeController.cs
2018-10-09 09:25:00 +01:00
Robert 6275a481aa Fixed order by "updater" query. 2018-10-09 10:21:32 +02:00
Sebastiaan Janssen 747edaa6ce #3141 fixed broken Do something else button (#3154) 2018-10-09 10:20:46 +02:00
Nathan Woulfe 08818c6358 removes ng-show from iframe, make loader background a solid color to hide iframe while it loads 2018-10-09 10:08:51 +02:00
Warren Buckley f63a9e93b0 Merge remote-tracking branch 'origin/temp8' into temp8-3087-tree-grouping
# Conflicts:
#	src/Umbraco.Web.UI/Umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/es.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/tr.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/zh_tw.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/zh_tw.xml
#	src/Umbraco.Web/Trees/DictionaryTreeController.cs
2018-10-09 08:53:40 +01:00
Mads Rasmussen a78230e135 lock version of flatpickr 2018-10-09 09:46:17 +02:00
Robert 4c6f297ce5 Merge branch 'temp8-w220' of https://github.com/umbraco/Umbraco-CMS into temp8-w220 2018-10-09 09:45:13 +02:00
Robert cc52652481 Added some comments detailing the hack that is in place for the where clause. 2018-10-09 09:44:44 +02:00
Dave Woestenborghs 94922ccbd2 #3141 fixed the problem differently after input from @markadrake 2018-10-09 08:51:02 +02:00
Robert b2d1a48c7a Added null check for EmailValidator value, fixed js error. 2018-10-09 08:19:36 +02:00
Mads Rasmussen 42830312d8 remove properties only needed for this dialog 2018-10-08 20:37:46 +02:00
Mads Rasmussen 501e2ea20b add docs 2018-10-08 19:53:30 +02:00
Mads Rasmussen 4d927e705d fix language file 2018-10-08 19:35:08 +02:00
Mads Rasmussen 92ffdaaca6 Merge branch 'temp8' into temp8-223-scheduled-publishing
# Conflicts:
#	src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml
2018-10-08 17:49:33 +02:00
Mads Rasmussen 5c121e733d small style tweaks to fit backoffice better 2018-10-08 17:31:37 +02:00
Stephan 69f4f0c8a8 Fix preview signalR due to browser throttling background tabs 2018-10-08 17:17:19 +02:00
Stephan 0726ee1a39 Get ContentFinderByUrl to work on preview urls 2018-10-08 17:17:19 +02:00
Stephan f5c5d9f9d5 Update ModelsBuilder to -alpha.24 2018-10-08 17:15:08 +02:00
Stephan 00017a0624 Version 8.0.0-alpha.52 for ModelsBuilder 2018-10-08 16:46:23 +02:00
Stephan d323d0f330 Fix nuspec 2018-10-08 16:45:12 +02:00
Stephan 0f7f6aad41 Add migration to drop task tables 2018-10-08 16:16:47 +02:00
Stephan 075b40444c Cleanup 2018-10-08 16:02:20 +02:00
Poornima Nayar 3977d24eb2 Button styling on inactive user profile & clean up user view (#3170) 2018-10-08 15:29:09 +02:00
Mads Rasmussen 3d345badc3 add comments to schedule controller + fix problem with backdrop clicks 2018-10-08 15:22:15 +02:00
Warren Buckley b2bc259bd5 Adds in lang keys 2018-10-08 14:19:52 +01:00
Kenn Jacobsen 2e135d2006 Register an audit on the parent node when sorting child nodes. 2018-10-08 15:11:51 +02:00
Warren Buckley be42783616 Remove dupe code & order by descending (still need to specify own sort order) 2018-10-08 14:10:11 +01:00
Mads Rasmussen 6869833c54 clean up settings when dates are cleared 2018-10-08 14:41:14 +02:00
Warren Buckley c306bdea47 Updates umb-tree directive to loop over the uodated WebAPI collection of SectionRootNodes 2018-10-08 13:36:59 +01:00
Warren Buckley b3f4e9da8f JS tweaks needed to deal with a collection of SectionRootNodes returning from the API 2018-10-08 13:36:14 +01:00
Warren Buckley 5a551bd3d6 Changed needed as GetApplicationTrees returns an IEnumerable of SectionRootNodes now 2018-10-08 13:34:11 +01:00
Warren Buckley 6c7c510eb9 Initial WIP of grouping trees for settings section - needs tidying 2018-10-08 13:33:14 +01:00
Warren Buckley 7db13960e9 Adds in GetAllTypes to ApplicationTreeService 2018-10-08 13:32:12 +01:00
Kenn Jacobsen b820baf643 Whe moving an item, make sure the current user is registered in Audit instead of the default user (#3150) 2018-10-08 14:27:18 +02:00
Kim Holzmann a3cf1d7d58 #3138 - Can add a null item to the grid
Don't perform submit function if selectedItem is undefined
2018-10-08 14:22:04 +02:00
KimHolzmann 4d7a36e017 #3001 Styles cannot be saved - Not sure if oldName is legacy (#3123) 2018-10-08 14:04:52 +02:00
Mads Rasmussen fb783e33af add flatpickr to variants 2018-10-08 13:59:25 +02:00
Mads Rasmussen 8c71aefe70 prevents overlay from closing when clicking inside date picker 2018-10-08 13:58:38 +02:00
Shannon Deminick e15992a66b Merge pull request #3197 from umbraco/temp8-I3089
Translation cleanup
2018-10-08 13:11:22 +02:00
Shannon 210102fcdc oops incorrect package version got reverted 2018-10-08 13:10:38 +02:00
Sebastiaan Janssen a9756e065c Don't show toggles to create templates when that feature is disabled.
Also default the toggle to false when the feature is disabled.
2018-10-08 13:07:54 +02:00
elitsa b68b962d6f Removed all keys which are not being referenced anywhere in the code base. 2018-10-08 11:58:22 +02:00
elitsa aa003713e6 Removed files which were added mistakenly discarding merge conflicts. 2018-10-08 11:57:13 +02:00
Shannon 975e08ba9f Fixes member/media list views, reformats some code and fixes js error 2018-10-08 11:23:12 +02:00
Shannon 13693bddef Ensures the correct default list view settings are loaded for media content type 2018-10-08 10:54:02 +02:00
Mads Rasmussen eda87cbbd2 prevent unpublish date to be before publish date and vice versa 2018-10-08 10:48:57 +02:00
elitsa 85309e8ce5 Merge branch 'temp8-I3089' of https://github.com/umbraco/Umbraco-CMS into temp8-I3089 2018-10-08 10:23:53 +02:00
elitsa 4bde59ed66 Translation clean up 2018-10-08 10:13:36 +02:00
Shannon 1bb4d3d3ec Merge remote-tracking branch 'origin/temp8' into temp8-w220 2018-10-08 10:10:56 +02:00
elitsa 9ad65e5fa8 Deleting 'Task' related references and implementations 2018-10-08 10:08:04 +02:00
Shannon Deminick b93dea5c38 Merge pull request #3171 from umbraco/temp8-I3089
Removed the old Developer section and replaced it with Packages section instead.
2018-10-08 10:00:59 +02:00
elitsa e2acc8b447 Remove sections icons - not needed anymore 2018-10-08 10:00:52 +02:00
Robert 59962c7afe Merge pull request #3136 from umbraco/temp-3063-xmlPublishedContent-lock
Lock XmlPublishedContent initialization for thread-safety
2018-10-08 09:58:58 +02:00
elitsa 8fdee9af85 Update trees.Release.config 2018-10-08 09:58:19 +02:00
Shannon b48202197f Merge remote-tracking branch 'origin/temp8' into temp8-I3089
# Conflicts:
#	src/Umbraco.Web/Trees/DataTypeTreeController.cs
2018-10-08 09:54:12 +02:00
Mads Rasmussen a629f8fb83 Merge branch 'temp8' into temp8-223-scheduled-publishing 2018-10-08 09:42:04 +02:00
Jan Skovgaard 0f3da1ae14 #3159 - Add border around the colors from the approved color picker (#3161) 2018-10-08 08:38:24 +02:00
Poornima Nayar 774f1d706c Fixed issue with actions dropdown menu being partially visible. 2018-10-08 08:17:48 +02:00
Sebastiaan Janssen 6b55c11321 Merge pull request #3156 from jannikanker/patch-1
Lecoati CSS reference removed (issue #3147)
2018-10-08 08:13:04 +02:00
Sebastiaan Janssen 2737085161 Merge pull request #3167 from rahulkumaran/licsene-patch
Update LICENSE.md
2018-10-08 08:10:21 +02:00
Mads Rasmussen b9ad98b357 package is a reserved word 2018-10-07 20:03:23 +02:00
Mads Rasmussen 0cd24e94bb can't delete variables 2018-10-07 20:03:06 +02:00
Mads Rasmussen 6dfb1e7e83 await is a reserved word 2018-10-07 20:01:54 +02:00
Mads Rasmussen 8c52529e47 add babel + babel config 2018-10-07 20:01:20 +02:00
Mads Rasmussen 90900067a8 wip Add flatpickr library + create flatpickr component 2018-10-07 15:29:24 +02:00
Shannon fdc94b9d1b Writes tests to ensure that property values are updated in docs that are of a composed type of the one that variants are being changed in. 2018-10-05 15:07:19 +02:00
Warren Buckley 2612f33283 Update trees using [CoreTree] attribute to use new property from our constants 2018-10-05 13:11:38 +01:00
Warren Buckley e013545cfc Adds property to [CoreTree] attribute that allows you to set the TreeGroup key - which will be from our constants 2018-10-05 13:10:31 +01:00
Warren Buckley 4ff15fbf04 Updates constants to include nested class in Constants.Trees.Groups for the various settings section subtree groupings - these keys will be used to help group the trees 2018-10-05 13:09:30 +01:00
Shannon 06d41086f3 adds stub code for clearing scheduled publishing 2018-10-05 11:56:47 +02:00
Shannon 2e5d0f85e8 clears redirects on variation change 2018-10-05 11:53:35 +02:00
elitsa 99257f2245 Updated the sortOrder also in the respective controllers, as well as updating to the new standards of string interpolation in those controllers. 2018-10-05 11:51:34 +02:00
elitsa 373dfde730 don't show down arrow when no doc types 2018-10-05 11:28:43 +02:00
Mads Rasmussen 8eac3c5894 clean up old schedule publshing button code 2018-10-05 11:15:21 +02:00
elitsa 0cc5a01069 packages section is there with translations sections and correct trees 2018-10-05 11:09:33 +02:00
Mads Rasmussen 41aa6e680e schedule button should always show an ellipsis because it always opens a dialog 2018-10-05 09:54:57 +02:00
Rahul Arulkumaran e7d7de6273 Update LICENSE.md 2018-10-05 11:43:41 +05:30
Mads Rasmussen a1abe568ce clean up 2018-10-04 21:01:47 +02:00
Mads Rasmussen 7d56ebf662 fix width of date picker 2018-10-04 20:21:13 +02:00
Jannik Anker b6c3297884 Lecoati CSS reference removed (issue #3147)
ApprovedColorPickerController had a reference for no apparent reason.
2018-10-04 17:16:57 +02:00
Shannon 0ae1d06c2d fix merge 2018-10-04 16:39:31 +02:00
Shannon 9222ede853 Merge remote-tracking branch 'origin/temp8' into temp8-222-variant-invariant-data-updates
# Conflicts:
#	src/Umbraco.Core/Persistence/Repositories/Implement/LanguageRepository.cs
2018-10-04 16:39:23 +02:00
Shannon 304c874006 removes comments 2018-10-04 16:36:19 +02:00
Shannon c5ae149d40 Gets remaining tests in place along with moving name values 2018-10-04 16:27:41 +02:00
Stephan b6679551d4 Fix url provider for variant/invariant urls 2018-10-04 16:16:56 +02:00
Stephan 9106dc9ca9 Fix ModelType and media picker converter for when picking only images 2018-10-04 16:16:56 +02:00
Mads Rasmussen 01bb00a8ec better date formatting 2018-10-04 16:04:14 +02:00
Mads Rasmussen 99e7fb008e remove unused styles 2018-10-04 16:03:13 +02:00
Dave Woestenborghs 9d36ee6bd8 #3141 fixed broken Do something else button 2018-10-04 15:49:32 +02:00
Mads Rasmussen 5b6c6c0cd1 remove schedule publish box from info app 2018-10-04 15:37:59 +02:00
Mads Rasmussen 1c5547e594 add better styling for scheduling of invariant content 2018-10-04 15:23:38 +02:00
Mads Rasmussen 8f9db82159 clean up states when dialog closes, prevent dialog from closing then date picker is open, wip support for invariant content 2018-10-04 14:21:30 +02:00
Shannon 7b41730b60 Changes how variant property data is updated with bulk SQL and gets tests working 2018-10-04 14:15:54 +02:00
Warren Buckley 811526859c Fix up unit test - Test_Section_Tabs after dahsboards moving around from dev into settings 2018-10-04 13:08:14 +01:00
Warren Buckley d1835d8ea0 Merge pull request #3151 from umbraco/temp8-219-IsolatedContentAppForms
#219 Isolated content app forms
2018-10-04 12:53:38 +01:00
Warren Buckley 17cb3604e0 After peer review with Shan & Mads - forgot to remove commented out code but both are happy with this implemtation for first iteration 2018-10-04 12:49:43 +01:00
Robert bed391d20f Merge branch 'temp8' into temp8-w220 2018-10-04 13:20:44 +02:00
Robert 24fe3b33f2 Cleaning some usings 2018-10-04 13:20:15 +02:00
Robert 76bacb3ba0 Moved the join and coalesce into GetBaseQuery, making sure that we append the right query if we are searching a variant list 2018-10-04 13:15:01 +02:00
Robert f33953e702 Moving the sql join and coalesce query in the DocumentRepository.GetBaseQuery(), renaming "ordering" to "variantName" to match the field created in GetBaseQuery. 2018-10-04 13:12:49 +02:00
Robert ff7356fea2 Extending the AndSelect to take an param array of fields 2018-10-04 13:06:07 +02:00
Warren Buckley 5bc2954650 Merge pull request #3109 from umbraco/update-dashboards
Merge dashboards from Developer to Settings section
2018-10-04 11:56:14 +01:00
Warren Buckley 8270888780 Merge remote-tracking branch 'origin/temp8' into temp8-219-IsolatedContentAppForms
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js
2018-10-04 10:38:37 +01:00
Bjarne Fyrstenborg 7355ba4b23 Add option to rename colorpicker labels (#3121) 2018-10-04 08:36:21 +02:00
Jan Skovgaard deca5d7bdb Refactor error handling to serve different error messages depending on the context. If we know that the id being moved is the same as the id we want to move it to then show a specific error message hinting the editor what's wrong and otherwise show the usual generic error message. 2018-10-04 08:19:51 +02:00
Anders Bjerner bc081db9e6 Sentences should end with a period (#3144) 2018-10-04 08:16:11 +02:00
Shannon f76df08cd2 ensures that property type variations are set to nothing if the content type is updated to nothing 2018-10-03 19:34:02 +02:00
Shannon 26759e97fa First iteration to populate property type changes when they are changed variant/invariant 2018-10-03 19:03:22 +02:00
Sebastiaan Janssen b6966055b4 Merge pull request #3140 from StrikerRUS/domain
updated domain in links to Umbraco community
2018-10-03 18:29:11 +02:00
Sebastiaan Janssen 2389901ba9 Merge pull request #3139 from ThomasAdams2/twitter-settings-typo
Fix typo in twitter settings section of EmbeddedMedia configs
2018-10-03 18:23:09 +02:00
Claus 9579b97dde fixes #3124 - logging in BaseDataCreation. 2018-10-03 18:17:46 +02:00
Claus c27b9d76db fixes #3126 - If no property data is found for a specific version - a null exception is thrown.
- Throwing an exception with a description instead of hitting a null exception.
2018-10-03 18:16:56 +02:00
KimHolzmann a8df8f484f #3022 media uploader in rte doesn't select uploaded image (#3117) 2018-10-03 18:13:35 +02:00
Warren Buckley e98cd3fe8f WIP - Get the custom content app icon as invalid if my form in my content app contains errors in the form 2018-10-03 16:42:58 +01:00
Stephan 5c2591f9a1 Merge pull request #2764 from AndyButland/u4-11502
U4-11502 - fall-back languages [v8]
2018-10-03 17:42:22 +02:00
Jan Skovgaard 0a245dda43 Add an outer check to make sure the scope.includeSubFolders property is not undefined, which makes the media render in the view again 2018-10-03 17:38:44 +02:00
BatJan 125bbdd5bd #3102 - Make styling for media search dialogue prettier (#3103) 2018-10-03 17:20:04 +02:00
Dave Woestenborghs 321460c395 #3099 Added docs for tour directives (#3100) 2018-10-03 17:05:25 +02:00
Sebastiaan Janssen 6bd31636f0 Merge pull request #3086 from kjac/fix-nc-dragging-discards-changes
Avoid data loss when dragging an unsaved Nested Content item
2018-10-03 17:03:49 +02:00
Sebastiaan Janssen e80c450e42 Merge pull request #3085 from kjac/fix-nc-config-duplicate-doctypes
Don't let the same doctype be selectable twice in the Nested Content configuration
2018-10-03 16:52:58 +02:00
Mads Rasmussen 0bbacf46ea add filters 2018-10-03 16:41:56 +02:00
Sebastiaan Janssen 262f7aff7c Merge pull request #3084 from kjac/fix-nc-rte-loading-v2
Fix loading issue for RTE's in Nested Content
2018-10-03 16:33:28 +02:00
StrikerRUS 62a82c17c2 updated domain in links to Umbraco community 2018-10-03 17:33:11 +03:00
Stephan 96acc1bd7e Contextualize variations in fallback, too 2018-10-03 16:19:41 +02:00
Stephan ef3099ec58 Expose variation context accessor on Current 2018-10-03 16:16:50 +02:00
Warren Buckley a3217a73d3 we need to NOT have umb-isolate-form or val-form-manager on the umb-editor-sub-view when its core's own content apps 2018-10-03 15:15:43 +01:00
Stephan 1ff92d819d Fix languages list 2018-10-03 16:08:25 +02:00
Thomas Adams 833137772d Fix typo in twitter settings section of EmbeddedMedia configs 2018-10-03 15:04:33 +01:00
Warren Buckley 6d604a37b6 WIP with Shan - Removes nested content app form validation error messages & then puts them back 2018-10-03 14:55:15 +01:00
Warren Buckley b2ec2ac592 Update bower to angular 1.7.4 2018-10-03 14:51:04 +01:00
Sebastiaan Janssen 69528704ca Merge pull request #3106 from umbraco/abjerner-patch-3
Hide the "Links" box when there are no links
2018-10-03 15:36:16 +02:00
Sebastiaan Janssen be140bd06c Merge pull request #3104 from umbraco/abjerner-patch-2
Hide "Created Date" field when the media hasn't yet been created
2018-10-03 15:35:35 +02:00
Sebastiaan Janssen 2bda1a211d Merge pull request #3107 from umbraco/abjerner-patch-4
Should be "JavaScript" instead of "javascript"
2018-10-03 15:34:40 +02:00
Stephan f42bb663ff Lock XmlPublishedContent initialization for thread-safety 2018-10-03 15:17:32 +02:00
Mads Rasmussen 991d960379 Merge branch 'temp8' into temp8-223-scheduled-publishing
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js
#	src/Umbraco.Web.UI.Client/src/common/services/contenteditinghelper.service.js
2018-10-03 15:13:54 +02:00
Stephan 2020c680d6 Merge branch temp8 into temp8-11502 2018-10-03 15:08:12 +02:00
Mads Rasmussen fbff56d911 change schedule flag to save flag 2018-10-03 14:57:45 +02:00
Mads Rasmussen 739effba46 add schedule publish to the publish combo button 2018-10-03 14:51:20 +02:00
Stephan 61a926e7e6 Cleanup npm package[-log].json files 2018-10-03 14:44:08 +02:00
Shannon Deminick 8f6329d165 Merge pull request #3135 from umbraco/temp8-241-unpublish
unpublish dialog in v8
2018-10-03 14:28:49 +02:00
Shannon 651b4a348a gets unpublish working 2018-10-03 14:27:48 +02:00
elitsa f3d1cc29bb Remove file related to old Developer's dashboard. 2018-10-03 14:21:41 +02:00
elitsa 7468c4ab04 Disabling packages section dashboard. 2018-10-03 14:20:46 +02:00
elitsa 83c66730e2 Updating tabs into Settings section. 2018-10-03 14:19:35 +02:00
elitsa 2fca4579e7 Relocate "Redirect URLs" markup and controller into a newly created 'content' folder. 2018-10-03 14:16:06 +02:00
elitsa f2825a6308 Adding back wrongly deleted code. 2018-10-03 14:12:18 +02:00
Sebastiaan Janssen ff0b95b337 Merge pull request #3083 from kjac/fix-nc-dragging-offset
Fix Nested Content "second time dragging" issue
2018-10-03 11:46:35 +02:00
Mads Rasmussen 1e501cc3c3 wip schedule publish dialog 2018-10-03 11:27:15 +02:00
Sebastiaan Janssen 7c28e8979a Merge pull request #3082 from kjac/fix-nc-icon-colors
Ensure the correct color for items in the Nested Content item picker
2018-10-03 11:17:27 +02:00
Stephan 914b8177bd Fix the migration plan 2018-10-03 11:11:55 +02:00
Stephan e44ed00c97 Another fallback iteration 2018-10-03 10:31:35 +02:00
Sebastiaan Janssen 93ae55c919 Removes the DatabaseSchemaValidationHealthCheck for now until we can improve it
Fixes #3132
2018-10-03 10:27:07 +02:00
Shannon b42cbbc0ff Merge branch 'temp8' into temp8-241-unpublish 2018-10-03 10:07:43 +02:00
Claus 985e1cc1b7 fixing annoying typo... 2018-10-03 07:49:36 +02:00
Shannon 6dba59585c Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-10-02 15:30:53 +02:00
Shannon 39458017ec removes old tag API 2018-10-02 15:29:17 +02:00
Sebastiaan Janssen c90e7735f9 Fix initial upload for svg and correct the way the cropper elements are hidden when cropping is not possible 2018-10-02 15:24:51 +02:00
Shannon 7196c855b2 Fixes tests 2018-10-02 15:19:01 +02:00
Claus 9cbb7f1d4a Merge pull request #3108 from umbraco/temp8-3094-save-button
Temp8 3094 save button
2018-10-02 15:14:58 +02:00
elitsa ce2cf7caa3 Updating the count of classes meeting the condition, due to uncommenting PackagesTreeController.cs 2018-10-02 14:21:28 +02:00
elitsa cda24b4fba Updating the right path to the Packages dashboard subviews. Adding new properties and attribute to meet the new implementation standards of a section. 2018-10-02 14:19:00 +02:00
elitsa 0ec789ca06 Enable PackagesTreeController while disabling the custom UI for the Packages dashboard. 2018-10-02 14:14:25 +02:00
elitsa 0e8d4eed63 Move dashboards from the Developer's section into Settings one. 2018-10-02 14:12:53 +02:00
elitsa 4e87abcc1e Update references to the right sections. 2018-10-02 14:11:48 +02:00
elitsa e2eaa1b9dd Change the location of the Developer section's dashboards markups and controllers into the respective Settings folder . 2018-10-02 14:08:45 +02:00
Mads Rasmussen ba295ddcf7 Merge branch 'temp8-234-disable-change-doctype-function' into temp8 2018-10-02 14:02:43 +02:00
Mads Rasmussen facaba2ed2 Remove save from comment 2018-10-02 13:07:57 +02:00
Shannon 0c5cf5256b manual merge pass #2 2018-10-02 12:57:19 +02:00
Warren Buckley 59c0e3f988 Uses underscorejs omit to remove the 'apps' from the object we copy to avoid a never ending nested tree of apps in the JSON 2018-10-02 11:45:06 +01:00
Shannon edc9744397 manual merge pass #1 2018-10-02 11:14:04 +02:00
Mads Rasmussen 1c0cf42f86 fixing dashboard paddings 2018-10-02 10:43:28 +02:00
Mads Rasmussen 92314a14f6 show load spinners in dialogs when those are used. Show load spinner on button when dialogs are not used. 2018-10-02 10:42:57 +02:00
Mads Rasmussen 41f4953013 add outlined button style 2018-10-02 10:40:44 +02:00
Shannon 7349b545b0 manually merging new media detectors 2018-10-02 09:38:27 +02:00
Anders Bjerner 3dffb59f72 Should be "JavaScript" instead of "javascript" 2018-10-01 21:55:13 +02:00
Anders Bjerner 38bd53978b Should be "JavaScript" instead of "javascript" 2018-10-01 21:53:53 +02:00
Anders Bjerner 9c04abc5ad Hide the "Links" box when there are no links 2018-10-01 21:40:24 +02:00
Anders Bjerner 66221364ca Hide "Created Date" field when the media hasn't yet been created 2018-10-01 21:21:17 +02:00
Stephan 8a29745b98 Merge branch temp8 into temp8-11502 2018-10-01 14:45:33 +02:00
Shannon 549d8d83ce reverts changes that shouldn't have been made, will manually merge these ones 2018-10-01 14:39:28 +02:00
Stephan eda6e084a7 Fix casing issue in member group service/repo 2018-10-01 14:37:40 +02:00
Shannon b96ba05d22 Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	build/Modules/Umbraco.Build/Get-UmbracoBuildEnv.ps1
#	build/NuSpecs/UmbracoCms.Core.nuspec
#	build/NuSpecs/UmbracoCms.nuspec
#	build/NuSpecs/tools/Readme.txt
#	src/Umbraco.Core/Configuration/UmbracoConfig.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/IContentSection.cs
#	src/Umbraco.Core/Constants-Conventions.cs
#	src/Umbraco.Core/Constants-System.cs
#	src/Umbraco.Core/IO/MediaFileSystem.cs
#	src/Umbraco.Core/Media/Exif/ImageFile.cs
#	src/Umbraco.Core/Models/Property.cs
#	src/Umbraco.Core/Models/PropertyTagBehavior.cs
#	src/Umbraco.Core/Models/PropertyTags.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenTwelveZero/SetDefaultTagsStorageType.cs
#	src/Umbraco.Core/Persistence/Repositories/AuditRepository.cs
#	src/Umbraco.Core/Persistence/Repositories/UserRepository.cs
#	src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs
#	src/Umbraco.Core/Security/AuthenticationExtensions.cs
#	src/Umbraco.Core/Security/BackOfficeCookieAuthenticationProvider.cs
#	src/Umbraco.Core/Services/Implement/PackagingService.cs
#	src/Umbraco.Core/Services/ServerRegistrationService.cs
#	src/Umbraco.Core/StringExtensions.cs
#	src/Umbraco.Core/packages.config
#	src/Umbraco.Tests/ApplicationUrlHelperTests.cs
#	src/Umbraco.Tests/Persistence/Repositories/AuditRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
#	src/Umbraco.Tests/Web/TemplateUtilitiesTests.cs
#	src/Umbraco.Tests/packages.config
#	src/Umbraco.Web.UI.Client/package.json
#	src/Umbraco.Web.UI.Client/src/common/directives/components/content/umbcontentnodeinfo.directive.js
#	src/Umbraco.Web.UI.Client/src/common/directives/components/imaging/umbimagegravity.directive.js
#	src/Umbraco.Web.UI.Client/src/common/directives/components/tree/umbtreeitem.directive.js
#	src/Umbraco.Web.UI.Client/src/common/resources/log.resource.js
#	src/Umbraco.Web.UI.Client/src/common/services/user.service.js
#	src/Umbraco.Web.UI.Client/src/less/belle.less
#	src/Umbraco.Web.UI.Client/src/less/components/card.less
#	src/Umbraco.Web.UI.Client/src/less/navs.less
#	src/Umbraco.Web.UI.Client/src/less/panel.less
#	src/Umbraco.Web.UI.Client/src/less/property-editors.less
#	src/Umbraco.Web.UI.Client/src/less/tree.less
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.html
#	src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/mediapicker/mediapicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.html
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/linkpicker/linkpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/mediaPicker/mediapicker.html
#	src/Umbraco.Web.UI.Client/src/views/components/content/umb-content-node-info.html
#	src/Umbraco.Web.UI.Client/src/views/components/notifications/umb-notifications.html
#	src/Umbraco.Web.UI.Client/src/views/components/umb-color-swatches.html
#	src/Umbraco.Web.UI.Client/src/views/components/umb-table.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/imagecropper/imagecropper.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/textarea/textarea.html
#	src/Umbraco.Web.UI/Umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/config/umbracoSettings.Release.config
#	src/Umbraco.Web.UI/packages.config
#	src/Umbraco.Web.UI/web.Template.Debug.config
#	src/Umbraco.Web.UI/web.Template.config
#	src/Umbraco.Web/Editors/AuthenticationController.cs
#	src/Umbraco.Web/Editors/BackOfficeController.cs
#	src/Umbraco.Web/Editors/CanvasDesignerController.cs
#	src/Umbraco.Web/Editors/ContentController.cs
#	src/Umbraco.Web/Editors/DashboardController.cs
#	src/Umbraco.Web/Editors/LogController.cs
#	src/Umbraco.Web/Editors/MediaController.cs
#	src/Umbraco.Web/Install/InstallHelper.cs
#	src/Umbraco.Web/Install/InstallSteps/NewInstallStep.cs
#	src/Umbraco.Web/Media/EmbedProviders/AbstractOEmbedProvider.cs
#	src/Umbraco.Web/Models/Mapping/DataTypeModelMapper.cs
#	src/Umbraco.Web/Models/Mapping/PreValueDisplayResolver.cs
#	src/Umbraco.Web/Mvc/MasterControllerFactory.cs
#	src/Umbraco.Web/PropertyEditors/FileUploadPropertyValueEditor.cs
#	src/Umbraco.Web/PropertyEditors/ImageCropperPropertyValueEditor.cs
#	src/Umbraco.Web/PropertyEditors/TextAreaPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/ValueConverters/MultiNodeTreePickerPropertyConverter.cs
#	src/Umbraco.Web/PublishedCache/MemberPublishedContent.cs
#	src/Umbraco.Web/Routing/RedirectTrackingEventHandler.cs
#	src/Umbraco.Web/Scheduling/HealthCheckNotifier.cs
#	src/Umbraco.Web/Scheduling/KeepAlive.cs
#	src/Umbraco.Web/Scheduling/LogScrubber.cs
#	src/Umbraco.Web/Scheduling/ScheduledPublishing.cs
#	src/Umbraco.Web/Scheduling/ScheduledTasks.cs
#	src/Umbraco.Web/Scheduling/Scheduler.cs
#	src/Umbraco.Web/Templates/TemplateUtilities.cs
#	src/Umbraco.Web/Trees/DataTypeTreeController.cs
#	src/Umbraco.Web/UmbracoModule.cs
#	src/Umbraco.Web/_Legacy/Packager/Installer.cs
#	src/Umbraco.Web/packages.config
#	src/Umbraco.Web/umbraco.presentation/keepAliveService.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dashboard/FeedProxy.aspx.cs
#	src/umbraco.businesslogic/IO/IOHelper.cs
#	src/umbraco.cms/packages.config
#	src/umbraco.cms/umbraco.cms.csproj
#	src/umbraco.controls/packages.config
#	src/umbraco.controls/umbraco.controls.csproj
#	src/umbraco.editorControls/packages.config
#	src/umbraco.editorControls/umbraco.editorControls.csproj
2018-10-01 14:32:46 +02:00
Warren Buckley 47bafdfc19 Removes ng-swipe-left-directive on the umb-navigation component/directive - aka make Mads happy :) 2018-10-01 13:07:12 +01:00
Mads Rasmussen 6b08af666a add ellipsis to save button when it opens the variant overlay 2018-10-01 13:39:14 +02:00
Warren Buckley 1ae1a462d4 Tempolarily removes the right click context menu item for 'Change DocType' 2018-10-01 12:15:06 +01:00
Mads Rasmussen 22ad787c95 fix border radius on button group 2018-10-01 13:06:13 +02:00
Mads Rasmussen f8bf94c4c9 remove save button from publish combo button + add new save button 2018-10-01 12:54:41 +02:00
Warren Buckley 7304c140a7 Update to make domain dropdown binding on load (if selected lang in top half is not selected) 2018-10-01 10:30:56 +01:00
Shannon b4f4d2cfe8 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-10-01 11:26:40 +02:00
Shannon 5c8fd56317 comment 2018-10-01 11:26:18 +02:00
Sebastiaan Janssen 328b4b1556 Merge pull request #3077 from umbraco/abjerner-patch-1
Removed "debugger" statement from linkpicker overlay controller
2018-09-30 22:19:05 +02:00
Anders Bjerner fabab44342 Removed "debugger" statement from linkpicker overlay 2018-09-30 19:31:40 +02:00
Stephan d56d39ee1a Fix nested content validation when null 2018-09-30 19:09:06 +02:00
Kenn Jacobsen 2c9256c672 Don't let the same doctype be selectable twice in the Nested Content configuration 2018-09-30 18:50:33 +02:00
Stephan 053e0e17a3 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-09-30 18:49:50 +02:00
Matthew-Wise a33ccd15c6 Convertion of assigndomain2.aspx to angular (#2897) 2018-09-30 16:02:09 +02:00
agrath 63a2a155d1 User invite flow review (#3000) 2018-09-30 15:03:52 +02:00
KimHolzmann 8fad718347 #2916 Media picker searches entire media archive (#3061) 2018-09-30 14:08:01 +02:00
Sebastiaan Janssen 3879b81ed3 Merge pull request #3062 from markadrake/temp-3058
If TinyMCE has not loaded yet, return the initialized value.
2018-09-30 13:44:11 +02:00
Mark Drake c5de33dcae Added an active css class for Umbraco Tree items (#3056) 2018-09-30 13:38:19 +02:00
Sebastiaan Janssen f36139619a Merge pull request #3060 from markadrake/temp-3051
Minimal changes to class `nav-tabs` styling
2018-09-30 13:29:01 +02:00
Sebastiaan Janssen 093182c56d Allow svg uploads 2018-09-30 13:12:11 +02:00
imranhaidercogworks 5f1fb144e0 Uploading SVG's Causes Error (Depending on imageFileTypes Setting) (#3072) 2018-09-30 13:09:44 +02:00
Sebastiaan Janssen 6b398a2d16 Merge pull request #3074 from arknu/tags-internal
Make TagSupport and related types public
2018-09-30 11:02:52 +02:00
Sebastiaan Janssen 3c73f6a764 Rename name property so title gets set for the doctype icon picker - relates to PR #2864 2018-09-30 10:59:20 +02:00
Bjarne Fyrstenborg 865cdc09c6 U4-11588 - Adjustments of color picker (#2864) 2018-09-30 10:50:05 +02:00
Asbjørn 7f107a8559 Make TagSupport and related types public #2988 2018-09-29 17:42:45 +02:00
Kenn Jacobsen 0dbbb585ad Fix loading issue for RTE's in Nested Content 2018-09-29 17:06:04 +02:00
Kenn Jacobsen a7573ce31f Avoid data loss when dragging an unsaved Nested Content item (#3014) 2018-09-29 07:35:16 +02:00
Kenn Jacobsen c6e2ced971 Fix Nested Content "second time dragging" issue 2018-09-29 07:30:27 +02:00
Kenn Jacobsen 45f574ed3a Ensure the correct color for items in the Nested Content item picker 2018-09-29 07:27:39 +02:00
Stephan b572407084 Fix nested content when empty or null 2018-09-28 16:59:00 +02:00
Stephan 621ef28680 Fix PublishedElementModel, must be abstract 2018-09-28 16:59:00 +02:00
Stephan 3382a4efdb Fix nested content breaking issue 2018-09-28 16:59:00 +02:00
Stephan b1be86c9d6 fix nuspec, app_browsers is gone 2018-09-28 16:53:48 +02:00
Mads Rasmussen a418322ee5 find languages for unpublishing 2018-09-28 13:52:36 +02:00
Mads Rasmussen 36520b0777 add support for invariant content 2018-09-28 13:01:27 +02:00
Mads Rasmussen 39ffb60a9d show mandatory language as text 2018-09-28 12:30:05 +02:00
Mads Rasmussen 90150fdc46 fine tuning selection 2018-09-28 11:19:29 +02:00
Robert 432fb7257a Merge pull request #3065 from umbraco/temp8-p181
Fixes: #181 Breadcrumbs should be contextual to the variant language
2018-09-28 09:47:44 +02:00
Shannon beb325eacf oops got a couple versions wrong 2018-09-28 15:01:47 +10:00
Shannon 8e45bcf23f changes targetFramework in web.config 2018-09-28 14:34:39 +10:00
Shannon 40dc49ed47 updates nuspecs 2018-09-28 14:27:03 +10:00
Shannon 4b07305dc5 Update HtmlAgilityPack 2018-09-28 14:10:45 +10:00
Shannon 2514a59e93 Latest MS libs for benchmark project 2018-09-28 14:00:03 +10:00
Shannon 6843da790c Latest MS libs for benchmark project 2018-09-28 13:57:48 +10:00
Shannon ba1a9c3758 Updates to latest compatible CodeAnalysis & DotNetCompilerPlatform libs 2018-09-28 13:54:20 +10:00
Shannon 332ad6349d Updates latest newtonsoft.json 2018-09-28 12:59:12 +10:00
Shannon 42e48426e4 Updates other MS libs: ValueTuple, Dataflow, Reflection.Metadata 2018-09-28 12:44:17 +10:00
Shannon a0cc788f27 Updates to latest Image Processor versions 2018-09-28 12:24:16 +10:00
Shannon aecf96d74d Updates to latest MVC, WebApi and Owin 2018-09-28 12:19:34 +10:00
Shannon c75938076e reinstalls all packages flagged as 'requiresReinstallation' 2018-09-28 11:54:05 +10:00
Shannon cebbcb711a csproj, etc... updates for 452 (and 462 for benchmark proj) 2018-09-28 11:29:56 +10:00
Mark Drake 12a9466cd7 if tinymce has not loaded yet, return the initialized value only 2018-09-27 17:03:24 -04:00
Mark Drake fce0dd98f9 minimal changes to class nav-tabs styling 2018-09-27 13:34:20 -04:00
Mads Rasmussen 7c55baf727 better check for published variants 2018-09-27 15:24:58 +02:00
Mads Rasmussen be7acb904d Unpublish dialog scaffolding 2018-09-27 15:24:38 +02:00
Robert 442e0c93a5 Merge branch 'temp8' into temp8-p181 2018-09-27 15:17:56 +02:00
Mads Rasmussen e41b435d85 small style adjustment 2018-09-27 15:03:06 +02:00
Mads Rasmussen ea3085a08c add ellipsis to unpublish button label if a node has variants 2018-09-27 12:56:16 +02:00
Mads Rasmussen f529a47e0a show unpublish button if a node has a published variant 2018-09-27 12:55:21 +02:00
Sebastiaan Janssen 25aa74b4cd Merge pull request #2937 from umbraco/temp-view-compilation
Changes compilation batch mode to true uses Roslyn compiler for views
2018-09-27 12:01:00 +02:00
Sebastiaan Janssen 976d329292 Merge pull request #3005 from dalyUSN/temp-U4-9967
Preview update: smartphone sizes
2018-09-27 11:55:05 +02:00
Shannon Deminick 2db32ef347 Merge pull request #3052 from umbraco/temp8-IDocumentEntity-updates
IDocumentEntity updates
2018-09-27 19:41:53 +10:00
Shannon 83501ba1eb Gets tree node states showing correctly for variants. 2018-09-27 19:30:31 +10:00
Sebastiaan Janssen b079593efd Merge pull request #2083 from Eyescream/#U4-5139
U4-5139 Error uploading a file when filename contains comma
2018-09-27 11:17:27 +02:00
Stephan 8ea4c10ce7 Fix GetCurrentRequestIpAddress when there is no request 2018-09-27 10:52:02 +02:00
Stephan e6d5af5c3a Fix DisposableTimer messages 2018-09-27 10:51:29 +02:00
Sebastiaan Janssen 883da4eaf1 Merge pull request #2408 from abjerner/patch-35
"Select editor" items shouldn't have a max height
2018-09-26 23:28:12 +02:00
Marc Goodson c021cc50ce U4-10669 7.8. Show 301 url redirects on info tab too (#2452) 2018-09-26 23:16:54 +02:00
Sebastiaan Janssen 85291b562e Merge pull request #2533 from ronaldbarendse/U4-10586
Added property editor alias to PreValueDisplayResolver warning
2018-09-26 23:03:57 +02:00
Sebastiaan Janssen ca8c6248c1 Merge pull request #2561 from umbraco/temp-U4-10816
fixes U4-10816 Umbraco V7.7.1 - Media - File upload taking full path
2018-09-26 22:53:41 +02:00
Sebastiaan Janssen 6843fa72aa Merge pull request #3016 from readingdancer/patch-1
Updated the URL for the issue tracker.
2018-09-26 22:02:35 +02:00
Sebastiaan Janssen 258baad127 Removed uneccessary properties 2018-09-26 22:01:09 +02:00
Chris Houston 0e6376f4e5 Updated the URL for the issue tracker.
Also updated the version number to reflect the current version.
2018-09-26 21:58:05 +02:00
Dave Woestenborghs b0374695b1 Fixed udi's rendered in rte content (#2531) 2018-09-26 21:51:20 +02:00
Dave Woestenborghs 471bc7f116 U4-11458 - Fix multiple issues for angular logResource (#2719) 2018-09-26 20:48:54 +02:00
Sebastiaan Janssen 9c0aa5e099 Merge pull request #2072 from Adolfi/U4-6961
U4-6961 Prevent from deleting default used datatypes (e.g. Label)
2018-09-26 18:04:13 +02:00
Sebastiaan Janssen 3940176f23 Just a bit of code cleanup 2018-09-26 18:01:50 +02:00
Dennis Adolfi 5832387484 Added the DefaultLabelDataTypeIdas a non-deletable datatype. 2018-09-26 17:55:28 +02:00
Stephan ad8c309f3d Variant-contextual breadcrumb 2018-09-26 16:27:34 +02:00
Mads Rasmussen 400d4552de remove the action button on editors in the settings/developer tree 2018-09-26 15:12:53 +02:00
Sebastiaan Janssen a1224da5e1 Fixes #3036
Removes WebClient completely except for in an old legacy class that is not used for anything
any more (umbraco.cms.businesslogic.packager.Installer.Fetch).
2018-09-26 13:27:16 +02:00
Robert 230875f3cf Merge pull request #3030 from umbraco/temp8-rollback
Temp8 rollback
2018-09-26 12:38:48 +02:00
Mads Rasmussen 03d13b90bd fix up styling quirks after umb-actions update 2018-09-26 12:20:38 +02:00
Robert 8b9f64b2c8 Merge pull request #3021 from umbraco/temp8-send-to-publish
Temp8 send to publish
2018-09-26 11:01:27 +02:00
Sebastiaan Janssen 540e4f17d6 Fixes #3042
Code comes from v8, commit: 9bfe9e6bbf
2018-09-26 09:48:24 +02:00
Sebastiaan Janssen 2e92172ed4 Merge pull request #2984 from bjarnef/dev-v7-momentjs-locales
Load specific locales for moment.js
2018-09-25 23:28:00 +02:00
Sebastiaan Janssen f0fbc808f2 Merge pull request #3025 from WebCentrum/temp-#3024
#3024: Removed unnecessary queries in MultiNodeTreePickerPropertyConv…
2018-09-25 23:05:09 +02:00
Sebastiaan Janssen c19bc0b296 Merge pull request #3007 from callumbwhyte/updating-macro-templates
Updating macro templates for V8
2018-09-25 22:48:58 +02:00
Sebastiaan Janssen fe64baba96 Merge pull request #3009 from AnthonyCogworks/umbplfest-hackathon-remove-obsolete-phase4
umbPLfest hackathon removed obsolete - phase 4
2018-09-25 22:22:19 +02:00
Sebastiaan Janssen 1e07fb48cc Preventing infinite loop into this method 2018-09-25 22:21:00 +02:00
Sebastiaan Janssen d61240e1fd Merge branch 'umbplfest-hackathon-remove-obsolete-phase4' of https://github.com/AnthonyCogworks/Umbraco-CMS into AnthonyCogworks-umbplfest-hackathon-remove-obsolete-phase4 2018-09-25 22:18:16 +02:00
Sebastiaan Janssen a531907853 Merge pull request #3008 from AnthonyCogworks/umbplfest-hachathon-remove-obsolete-phase3
umbPLfest hackathon - Removed obsolete methods - phase 3
2018-09-25 22:13:37 +02:00
Sebastiaan Janssen 5384e64879 Merge pull request #3006 from AnthonyCogworks/umbplfest-hackathon-remove-obsolete-phase2
umbPLfest hackathon - Removed obsolete methods and properties.
2018-09-25 22:11:07 +02:00
Sebastiaan Janssen a3ba3e9e8e Making MemberIdRuleType private so we won't expose it to people trying to use it somehow 2018-09-25 22:09:45 +02:00
Sebastiaan Janssen 75ab692955 Merge branch 'umbplfest-hackathon-remove-obsolete-phase2' of https://github.com/AnthonyCogworks/Umbraco-CMS into AnthonyCogworks-umbplfest-hackathon-remove-obsolete-phase2 2018-09-25 22:06:04 +02:00
Sebastiaan Janssen 6a25408c48 Merge pull request #3003 from AnthonyCogworks/umbplfest-hackathon-remove-obsolete
umbPLfest hackathon - Remove obsolete methods
2018-09-25 22:04:50 +02:00
Sebastiaan Janssen 84b59b1193 Removed tests for FlattenList 2018-09-25 22:03:12 +02:00
Sebastiaan Janssen 197361721f Merge branch 'umbplfest-hackathon-remove-obsolete' of https://github.com/AnthonyCogworks/Umbraco-CMS into AnthonyCogworks-umbplfest-hackathon-remove-obsolete 2018-09-25 21:49:30 +02:00
Sebastiaan Janssen dd7a4d262e Merge pull request #3019 from ed-parry/v8hackathon-remove-pageid-references
Replaced references of PageID with the UmbracoContext calls. [v8hackathon]
2018-09-25 21:45:06 +02:00
Sebastiaan Janssen 6dfb0f0711 Removes some unused code which relate to the pageID too 2018-09-25 21:37:00 +02:00
Sebastiaan Janssen c3e85796d8 Merge branch 'v8hackathon-remove-pageid-references' of https://github.com/ed-parry/Umbraco-CMS into ed-parry-v8hackathon-remove-pageid-references 2018-09-25 20:59:43 +02:00
Sebastiaan Janssen c44a22d205 Merge pull request #3023 from UEDevs/temp-U4-11302
Fixes content getting deleted when saving an RTE before it's fully loaded
2018-09-25 20:55:48 +02:00
Mads Rasmussen 98991d4cd0 fix tree root height 2018-09-25 18:22:51 +02:00
Stephan 14bd8a0851 Cleanup some DTOs 2018-09-25 18:05:14 +02:00
Sebastiaan Janssen 0f6ce1eeba Merge pull request #2965 from poornimanayar/2964
Removed the anchor tag around notification
2018-09-25 17:44:53 +02:00
Sebastiaan Janssen cbeb0de748 Merge pull request #2947 from readingdancer/Issue-#2910
Fixing issue #2910 -  List view shows dimmed link for saved item
2018-09-25 17:37:25 +02:00
Sebastiaan Janssen e06fef2b6d Merge pull request #2901 from umbraco/abjerner-patch-1
Hide "Created Date" field when the content hasn't yet been created
2018-09-25 17:33:21 +02:00
Sebastiaan Janssen 524f53d03f Merge pull request #2899 from villian/temp-U4-8143
U4-8143 - MNTP (content picker) does not set $dirty
2018-09-25 17:19:12 +02:00
Sebastiaan Janssen d2d77d2732 Merge pull request #2895 from marcemarc/temp-u4-11561
Make the file extension visible when picking a file using the media picker
2018-09-25 17:07:48 +02:00
Sebastiaan Janssen 31bdc9d9a6 Merge pull request #2894 from KimHolzmann/dev-v7
U4-8824 Selection in media grid doesn't match when filter has value
2018-09-25 16:58:32 +02:00
Stephan c791050058 Denormalize variants for perfs 2018-09-25 16:55:00 +02:00
Sebastiaan Janssen 8c8e23f981 Merge pull request #2861 from raduorleanu/temp2-U4-11570
Found additional usages for (var web = new HttpClient()) and replaced…
2018-09-25 16:17:26 +02:00
Sebastiaan Janssen 35ec07f970 Some tiny code style updates 2018-09-25 16:15:37 +02:00
Sebastiaan Janssen 917269a260 Merge branch 'temp2-U4-11570' of https://github.com/raduorleanu/Umbraco-CMS into raduorleanu-temp2-U4-11570 2018-09-25 16:09:58 +02:00
Sebastiaan Janssen 7c437998ec Merge pull request #2842 from leekelleher/U4-11555
[v8] U4-11555 - Remove App_Browsers folder
2018-09-25 16:06:54 +02:00
Sebastiaan Janssen 85dbf5b0da Merge pull request #2777 from nathanwoulfe/temp8-11849
U4-11849 - tree not aligned with editor
2018-09-25 15:59:28 +02:00
Sebastiaan Janssen 00fc1b7c26 Merge branch 'dev-v7' into temp-view-compilation 2018-09-25 15:13:22 +02:00
Sebastiaan Janssen d14b0236a2 Merge branch 'temp8-11849' of https://github.com/nathanwoulfe/Umbraco-CMS into nathanwoulfe-temp8-11849
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/less/components/application/umb-language-picker.less
#	src/Umbraco.Web.UI.Client/src/less/tree.less
#	src/Umbraco.Web.UI.Client/src/views/components/tree/umb-tree.html
2018-09-25 15:03:02 +02:00
Mads Rasmussen 2038603389 fix track by on pagination component 2018-09-25 14:46:54 +02:00
Sebastiaan Janssen 53c218428f Merge pull request #3029 from kedde/dev-v7
fix #3020 - casing errors
2018-09-25 14:41:35 +02:00
Sebastiaan Janssen b9f5ddab06 Merge pull request #2866 from umbraco/temp-U4-11458-2
Fixes SQL generation for paged results for both UserRepository and AuditRepository
2018-09-25 14:27:27 +02:00
Mads Rasmussen 0219f1c465 add white background to media files 2018-09-25 14:20:48 +02:00
Umbraco HQ f9973f602c Fixes the belle build (requires newer node version) 2018-09-25 14:03:21 +02:00
Mads Rasmussen 55324aa736 Merge pull request #3031 from umbraco/temp8-ui-cleanup
Temp8 ui cleanup
2018-09-25 13:11:03 +02:00
Robert 44ef428c2b Merge pull request #3004 from umbraco/temp8-166-search-ui
fixes: Temp8 166 search ui
2018-09-25 13:06:02 +02:00
Mads Rasmussen 598590c929 update correct html file 2018-09-25 13:03:13 +02:00
Mads Rasmussen 2a784719ce add focus to search when you click icon 2018-09-25 12:53:00 +02:00
Mads Rasmussen 54cc6f4968 reset backdrop options on close 2018-09-25 12:41:20 +02:00
Stephan 3d19acb97e Variants in EntityRepository 2018-09-25 12:01:38 +02:00
Mads Rasmussen 904be442ae we don't need these 2018-09-25 11:36:15 +02:00
Mads Rasmussen 5fc7f7bce5 Merge branch 'temp8' into temp8-ui-cleanup 2018-09-25 11:16:49 +02:00
Stephan 5f805b0804 Extend NPoco fluent querying 2018-09-25 10:55:06 +02:00
Mads Rasmussen b2e843089b add strike-through text for deleted parts 2018-09-25 10:34:40 +02:00
Mads Rasmussen cfa4512f8c lazy load diff library in rollback dialog instead of loading it globally 2018-09-25 10:12:41 +02:00
Mads Rasmussen a47ae2e5c3 add diff library + generate diff 2018-09-24 20:10:05 +02:00
kedde 3d0d8d7430 fix mysql casing 2018-09-24 20:00:08 +02:00
Stephan f4e87b9949 Merge branch temp8 into temp8-IDocumentEntity-updates 2018-09-24 19:12:56 +02:00
Stephan 1511fd9b38 Merge branch temp8 into temp8-IDocumentEntity-updates 2018-09-24 19:12:45 +02:00
Pavel Budik 70a851dbf9 #3024: Removed unnecessary queries in MultiNodeTreePickerPropertyConverter 2018-09-24 14:23:00 +02:00
Mads Rasmussen ef1684ca36 wip add rollback scaffolding 2018-09-24 13:44:02 +02:00
Mads Rasmussen a00b510563 load angular dialog 2018-09-24 13:43:20 +02:00
Jim Osborn 3f79067e26 Fixes content getting deleted when saving an RTE before it's fully loaded. 2018-09-24 12:38:04 +01:00
Stephan a1ee099987 Log content app duplicate aliases instead of throwing 2018-09-24 09:34:25 +02:00
Shannon Deminick 24439086d9 Merge pull request #3012 from umbraco/temp8-p212
Implement content apps code config and manifest
2018-09-24 13:51:25 +10:00
Shannon 3189ce75ae throw exception if duplicate content app aliases are found 2018-09-24 13:50:42 +10:00
Ed Parry 4184288afc Removed test aimed at testing the httpcontext works (after removal of storing page ID there) 2018-09-23 14:07:04 +01:00
Ed Parry 22f25ee467 Replaced references of PageID with the UmbracoContext calls. 2018-09-23 13:39:51 +01:00
Mads Rasmussen c36f9f9d31 use ellipsis in template, partial view and partial view macros editor 2018-09-21 15:25:36 +02:00
Mads Rasmussen ce38ea7695 clean up 2018-09-21 15:23:40 +02:00
Mads Rasmussen 15a696b9f7 remove unused language key 2018-09-21 15:23:26 +02:00
Mads Rasmussen 7787dd8644 set ellipsis when we create content buttons 2018-09-21 15:23:04 +02:00
Mads Rasmussen c1d1dad999 add ellipsis functionality to button and button group 2018-09-21 15:19:31 +02:00
Mads Rasmussen 3706f08803 disable submit button if nothing is selected 2018-09-21 13:11:03 +02:00
Mads Rasmussen 5f0379093e fine tune filters 2018-09-21 13:10:36 +02:00
Mads Rasmussen af7261c6f6 hide the unmodified list if is empty 2018-09-21 13:10:12 +02:00
Mads Rasmussen c017a73471 add unmodified languages list + show currently edited language preselected at the top of the list 2018-09-21 11:59:40 +02:00
Mads Rasmussen dfb3cde1c9 add basic scaffolding for send to publish dialog + show modified variants 2018-09-21 11:09:41 +02:00
Stephan 681ef67653 Support ordering content apps 2018-09-21 09:42:36 +02:00
Stephan b1b1d60712 Pre-parse show rules in ManifestContentAppDefinition (perfs) 2018-09-21 09:01:37 +02:00
Stephan c24f8810d8 Fix tests 2018-09-21 08:56:49 +02:00
Stephan d6775aa79a Implement content apps code config and manifest 2018-09-21 08:09:53 +02:00
Stephan 7f45727936 Compile SqlSyntax alias regex - why not? 2018-09-21 08:06:42 +02:00
Shannon a39e77d1cf Gets culture publishing info in IDocumentEntitySlim and has the tree showing the correct publish state, but missing 'edited' flag since i think that requires yet-another-query 2018-09-21 15:49:37 +10:00
Shannon 19e4352243 Revert "making an attempt at a single SQL statement to get publish info for variants ... but failing, will revert"
This reverts commit c65480cf77.
2018-09-21 15:28:36 +10:00
Shannon c65480cf77 making an attempt at a single SQL statement to get publish info for variants ... but failing, will revert 2018-09-21 12:28:29 +10:00
Stephan 16eab3eb49 Cleanup DisposableTimer log messages 2018-09-20 17:26:10 +02:00
Shannon 448850b2d0 I may have figured out how to get publish information into the IDocumentEntitySlim 2018-09-21 01:21:52 +10:00
Shannon 539c882adb Merge branch 'temp8' into temp8-IDocumentEntity-updates 2018-09-21 01:06:21 +10:00
Shannon bd613ec971 more components, more 1 way binding, more perf in angular 2018-09-21 01:04:08 +10:00
Anthony c6f3b2fe7c umbPLfest hackathon removed obsolete - phase 4 2018-09-20 16:02:49 +01:00
Shannon Deminick 1cf5c6c89d Merge pull request #2995 from umbraco/temp8-p188
Implement listviews variants sorting (p188)
2018-09-21 00:30:41 +10:00
Shannon 665055f130 1 way bindings where needed 2018-09-21 00:21:03 +10:00
Anthony 85d26ab47d umbPLfest hackathon - Removed obsolete methods - phase 3 2018-09-20 15:18:12 +01:00
Shannon 819e1235f7 Reduces digest cycle of list views, converts umb-layout-selector to a component 2018-09-21 00:04:26 +10:00
Callum Whyte 35227a8d58 Cleanup of partial view macro templates for consistency 2018-09-20 14:00:01 +01:00
Anthony 8cd0bc5f50 umbPLfest hackathon - Removed obsolete methods and properties. 2018-09-20 13:56:02 +01:00
Mads Rasmussen 2ef524b6e3 remove old search controller 2018-09-20 14:17:14 +02:00
Paul Daly 1050e9d0a1 Preview update: smartphone sizes
The current most used screen size on a smarthphone is 360x640 according to Globalstats Statcounter. With this in mind I have adjusted the sizes of the preview frames for both portrait and landscape. Minor change but something that has been on my mind for a while.
2018-09-20 13:15:22 +01:00
Anthony 1ab324ebb9 umbPLfest hackathon - Remove obsolete methods 2018-09-20 13:14:16 +01:00
Mads Rasmussen 029707a34b add button to quickly clear the search query 2018-09-20 14:02:50 +02:00
Mads Rasmussen ca341d2732 remove unused code 2018-09-20 13:03:17 +02:00
Callum Whyte 4976ffc106 Updating legacy macro examples with latest V8 equivalents 2018-09-20 10:45:45 +01:00
Mads Rasmussen a8ceaf53f7 add code comments 2018-09-20 11:40:07 +02:00
Mads Rasmussen d9731728de remove console log 2018-09-20 11:28:14 +02:00
Stephan 4b31a98812 Fix test broken by e771e78 2018-09-20 11:27:44 +02:00
Mads Rasmussen 74c4e68efc close search when item is clicked 2018-09-20 11:27:39 +02:00
Sebastiaan Janssen 8bf8e0a741 Updates CDF 2018-09-20 08:48:46 +02:00
Stephan 8649062500 Merge pull request #2987 from umbraco/temp8-decouple-serilog-from-httpreqid
Decouple Serilog from HTTP Request ID in UmbracoModule Begin & End logs
2018-09-20 08:36:06 +02:00
Shannon feeb1c56cf wip for IDocumentEntitySlim changes 2018-09-20 14:58:15 +10:00
Stephan e6e3716dda Detect SqlServer 2012+ 2018-09-19 18:51:27 +02:00
Stephan 97b726ba20 Fix listviews sorting 2018-09-19 17:50:43 +02:00
Mads Rasmussen 6a630e413f use correct subtitle 2018-09-19 16:04:09 +02:00
Mads Rasmussen b2fa7ea475 close on outside click and escape 2018-09-19 16:01:12 +02:00
Mads Rasmussen ff6509be34 use our own auto focus - it works better 2018-09-19 15:17:41 +02:00
Mads Rasmussen 402f724396 make sure the close the overlay when the component gets destroyed. 2018-09-19 15:17:22 +02:00
Mads Rasmussen bf3234c8b2 register search in appState + launch when click search icon 2018-09-19 15:13:55 +02:00
Mads Rasmussen 5b4c273133 Add search icon + focus indention 2018-09-19 14:50:29 +02:00
Mads Rasmussen ca5e9940d5 add styling for search results + basic wire up of search service 2018-09-19 14:24:21 +02:00
Mads Rasmussen 34ca7a420a add basic UI scaffolding for search 2018-09-19 11:31:41 +02:00
Shannon 479f38b141 attempting to fix sorting due to aliased column names 2018-09-19 16:24:31 +10:00
Shannon 82b2778a59 Merge branch 'temp8' into temp8-p188 2018-09-19 16:16:03 +10:00
Stephan a0821cbc95 Refactor ordering in services to support listviews variants sorting 2018-09-18 11:53:33 +02:00
Sebastiaan Janssen fd0e2f5a9c Merge pull request #2992 from dampee/patch-3
old issue tracker reference
2018-09-17 21:30:10 +02:00
Damiaan 6ee235b640 old issue tracker reference
Since the github issue tracker is used, we should at least mention that.
2018-09-17 20:42:22 +02:00
Sebastiaan Janssen 2921413476 Merge pull request #2941 from AliSheikhTaheri/temp-2939
temp-2939 - Removed hardcoded number of rows from textarea with the d…
2018-09-17 20:18:17 +02:00
Stephan 95361da1f8 Cleanup/fix content variants mapping 2018-09-17 13:19:29 +02:00
Stephan fb246de5fc Cleanup/fix listviews configuration (prevalues) 2018-09-17 13:07:31 +02:00
Stephan a979e8023e Improve NPoco extensions 2018-09-17 13:06:20 +02:00
Stephan e412fd8802 Ensure data types get a proper default configuration when created 2018-09-17 12:54:22 +02:00
Stephan 4ac188f564 Forgot to create languages lock object on install 2018-09-17 12:36:45 +02:00
Shannon Deminick 1f27f6731b Merge pull request #2969 from umbraco/temp8-p103
Remove mandatory constraint on default language
2018-09-17 14:35:44 +10:00
Warren Buckley 8bad44782b Move logic from the HttpRequestIdEnricher into our own class so its not coupled to Serilog when attempting to get ReqId in UmbracoModule start & end log requests 2018-09-14 14:44:00 +01:00
Mads Rasmussen daa8b90372 Merge pull request #2982 from umbraco/temp8-get-preview-working
v8 - Gets previewing working with variants
2018-09-14 13:41:18 +02:00
Mads Rasmussen 82fbdff993 Merge branch 'temp8' into temp8-ui-cleanup 2018-09-14 12:35:58 +02:00
Mads Rasmussen e90ac06d82 Merge pull request #2968 from umbraco/temp8-203
fixes 205: Only show preview/publish/save etc buttons on the "Content" content app.
2018-09-14 12:28:13 +02:00
Mads Rasmussen c9601365d6 update list view empty state 2018-09-14 11:56:28 +02:00
Warren Buckley ab250b0549 Merge branch 'temp8-203' of https://github.com/umbraco/Umbraco-CMS into temp8-203 2018-09-14 10:54:40 +01:00
Warren Buckley 41fd9afab5 Update API Scaffold call to remove the List View app, now the alias has changed 2018-09-14 10:53:59 +01:00
Warren Buckley cd151ac19a Update MediaApp resolver with new aliases 2018-09-14 10:53:12 +01:00
Mads Rasmussen 2ef33090a9 update alias for node with list view scaffolds 2018-09-14 11:52:22 +02:00
Poornima Nayar 7f4280c67f added checks for whitespace 2018-09-14 10:06:32 +01:00
Mads Rasmussen f27bded4e8 fix audit trail 2018-09-14 10:59:25 +02:00
Mads Rasmussen fe60cdda5c fix app aliases client side 2018-09-14 10:46:22 +02:00
Warren Buckley cdf9260f02 Update the hard coded content app aliases until this gets moved into a package.manifest or similar?! 2018-09-14 09:20:05 +01:00
Mads Rasmussen d3ba17484d Merge branch 'temp8' into temp8-ui-cleanup 2018-09-14 08:00:25 +02:00
Shannon 187028146e Merge branch 'temp8' into temp8-203 2018-09-14 12:29:50 +10:00
Shannon Deminick ae9805f082 Merge pull request #2970 from umbraco/temp8-206-listview-variant-states
V8 Listview child items display variant states
2018-09-14 11:53:51 +10:00
Shannon b62477ec3b null check 2018-09-14 11:52:59 +10:00
Shannon 458b9dac4d Ensure list view is updated when cultures are changed 2018-09-14 11:47:29 +10:00
Shannon ec71814ec2 Fixes up nullable State, fixes up tracking global query strings in case they are removed by other routes 2018-09-14 11:31:43 +10:00
Shannon 8c90b7fa28 Cleans up code, fixes tests, adds comments 2018-09-14 10:08:09 +10:00
Shannon 5009dfa0d7 Merge remote-tracking branch 'origin/temp8' into temp8-206-listview-variant-states 2018-09-14 09:15:51 +10:00
Shannon 62c0719712 Merge remote-tracking branch 'origin/temp8' into temp8-get-preview-working 2018-09-14 09:14:59 +10:00
Bjarne Fyrstenborg e9f8fb8d1f Remove console.log 2018-09-14 01:10:17 +02:00
Bjarne Fyrstenborg 28ae25c166 Move logic to load moment.js locales to public function in userservice 2018-09-14 00:57:19 +02:00
Ali.Taheri 1acc61ede8 temp-2939 - corrected the data type from boolean to int for rich text editor. 2018-09-13 16:24:50 +01:00
Shannon 59a5f50b5f now you can preview specific variants 2018-09-14 00:44:36 +10:00
Mads Rasmussen e93f822528 Merge branch 'temp8' into temp8-ui-cleanup 2018-09-13 16:43:24 +02:00
Shannon e771e781dd finally it actually previews 2018-09-14 00:14:03 +10:00
Mads Rasmussen 90a425da5f add background-color to media folders 2018-09-13 15:06:58 +02:00
Stephan 25c87d76b8 Fix merge 2018-09-13 14:59:45 +02:00
Mads Rasmussen 75c73a181a better alignment of alias 2018-09-13 14:50:23 +02:00
Mads Rasmussen f0c487d9c4 fix alignment of group sort order 2018-09-13 14:41:10 +02:00
Shannon Deminick 53057d6e20 Merge pull request #2962 from umbraco/temp8-204-ListView-Variant-PublishedStates
204 V8 - ListView Variants - Get Published State & UpdateDate for Variant
2018-09-13 22:28:01 +10:00
Warren Buckley 4782f03334 ping pong with shan's reviews - checks for doctype/contenttype is variant or not 2018-09-13 13:25:54 +01:00
Mads Rasmussen 598eb75e8c add active state to tree language dropdown 2018-09-13 14:23:42 +02:00
Stephan 685e3028a6 Merge pull request #2935 from umbraco/temp8-MOAR-LOGGING
MOAR Logging for V8
2018-09-13 14:11:57 +02:00
Stephan 33af498f88 Merge branch origin/temp8-p103 into temp8-11502 2018-09-13 14:11:17 +02:00
Warren Buckley 082d6e6792 Rather than throw null ex's if culture not set - return the underlying source property (As used for both variant & invariant mapping in list views) 2018-09-13 13:05:36 +01:00
Warren Buckley c41bdccd5a Merge branch 'temp8' into temp8-204-ListView-Variant-PublishedStates
# Conflicts:
#	src/Umbraco.Web/Models/Mapping/ContentMapperProfile.cs
2018-09-13 12:13:17 +01:00
Warren Buckley 772c0b7b6a Merge branch 'temp8' into temp8-204-ListView-Variant-PublishedStates
# Conflicts:
#	src/Umbraco.Web/Models/Mapping/ContentMapperProfile.cs
2018-09-13 12:10:50 +01:00
Warren Buckley 4b715d2081 Null checks for culture added and moved date to var to avoid getting item twice 2018-09-13 12:07:33 +01:00
Sebastiaan Janssen 31ed4e0574 Merge pull request #2973 from prjseal/patch-1
update the release notes url
2018-09-13 12:01:01 +02:00
Poornima Nayar a0ae39a147 Reworked the notifications banner to use ng-switch to show the anchor tag when there is a notification url. 2018-09-13 10:27:48 +01:00
Shannon Deminick bf7273e42e Merge pull request #2960 from umbraco/temp8-listview-variant-defaultname
V8 Listview Variant Default Nodename fallback
2018-09-13 15:14:23 +10:00
Warren Buckley 46ff45c2f0 Makes State a ContentSavedState enum nullable - otherwise media items was getting a default enum of not created 2018-09-12 15:34:48 +01:00
Mads Rasmussen b06ba12e42 fix js error on invariant nodes 2018-09-12 15:15:11 +02:00
Mads Rasmussen 0c135ea3e2 Add state to list view 2018-09-12 14:52:29 +02:00
Paul Seal 9e3cf00cc0 update the release notes url 2018-09-12 13:32:10 +01:00
Warren Buckley 551e8120c9 Adds state property to ContentItemBase (Not sure if this will blow things up or if I need to use a diff model for ListView children now)
Adds/copies the same logic from ContentSavedStateResolver.cs
2018-09-12 12:08:51 +01:00
Stephan a5aa38c7ca Merge branch temp8 into temp8-11502 2018-09-12 12:01:49 +02:00
Stephan 380e2aff2e Merge branch temp8 into temp8-p103 2018-09-12 11:59:21 +02:00
Stephan 4cbd0d9178 Remove mandatory constraint on default language 2018-09-12 11:47:04 +02:00
Poornima Nayar fbbc89b477 Removed the anchor tag around notification 2018-09-11 16:29:21 +01:00
Mads Rasmussen 9f65102916 use border color on node name input hover 2018-09-11 15:36:24 +02:00
Mads Rasmussen 62043f7cf9 only allow changing the node name if the active content app is "Content". 2018-09-11 15:33:26 +02:00
Mads Rasmussen e8322edc84 maybe test is not needed 2018-09-11 14:47:56 +02:00
Mads Rasmussen e27a982bf6 Add empty state if a node has no properties 2018-09-11 14:43:07 +02:00
Mads Rasmussen ad1f11f1da only show save/publish/preview on "Content" content app 2018-09-11 14:17:55 +02:00
Warren Buckley d39bb96056 Update ContentMapper to display variant information for bool Published and UpdateDate for Variant ListView 2018-09-11 12:33:32 +01:00
Warren Buckley af3e5f2db0 Merge pull request #2954 from umbraco/temp8-200
fixes 200: Stay on the same content app when changing language
2018-09-11 10:03:53 +01:00
Warren Buckley ed94ea485d Gets the same HttpRequestId from the Enricher to use in the message template for text log files for begin & end request verbose logs 2018-09-11 09:04:29 +01:00
Warren Buckley 4b47943e05 Remove quotes within logging message templates - as when doing querying with logs makes these logs impossible to find 2018-09-11 08:44:58 +01:00
Shannon 647eac2d9b Merge remote-tracking branch 'origin/temp8' into temp8-get-preview-working 2018-09-11 13:57:17 +10:00
Shannon 003e83f883 wip on preview 2018-09-11 08:54:04 +10:00
Mads Rasmussen cc7ae2b930 split up editor-header into editor-header and editor-content-header 2018-09-10 20:23:15 +02:00
Warren Buckley e86b7a5982 Updates name of variant model mappign in list views - to use same logic as the content tree if a variant has not been set - we fallabck to the base/master lanaguage of the node name 2018-09-10 16:20:23 +01:00
Stephan 4ef2d27da2 Fix various build issues 2018-09-10 16:23:27 +02:00
Mads Rasmussen 8e713e2350 clean up dependecies 2018-09-10 15:41:54 +02:00
Mads Rasmussen 3001c656d1 remove unused code 2018-09-10 15:39:04 +02:00
Mads Rasmussen 3358c70312 Fixes: Stay on the same content app when changing language 2018-09-10 15:32:12 +02:00
Mads Rasmussen b1aef27388 use cculture in list view 2018-09-10 14:11:32 +02:00
Shannon Deminick fe6b2bb43f Merge pull request #2944 from umbraco/temp8-18-ListViewVariants
List View - Updates Node Name based on selected Variant
2018-09-10 18:31:18 +10:00
Warren Buckley 94a6639bc7 Remove unecessary string null check - the culture ext in mapping code will deal with this 2018-09-10 09:29:50 +01:00
Warren Buckley 2fcabdee0a Use ResolutionContext as opposed to an inline AfterMap function with a CustomResolver class 2018-09-10 09:09:24 +01:00
Shannon 59f9354ff4 Merge remote-tracking branch 'origin/temp8' into temp8-get-preview-working 2018-09-10 15:04:37 +10:00
Shannon Deminick b217c6f2c7 Merge pull request #2942 from umbraco/temp8-134
fixes: Prevent the same language from being open in split view
2018-09-10 12:40:58 +10:00
Shannon 09aecddf6f Merge remote-tracking branch 'origin/temp8' into temp8 2018-09-10 11:34:50 +10:00
Shannon e6ef924b1b init commit to getting preview working 2018-09-10 11:34:31 +10:00
Shannon 47347ed966 updates wording 2018-09-10 11:32:49 +10:00
Shannon 2f74720c38 updates wording 2018-09-10 11:12:46 +10:00
Sebastiaan Janssen 91ebc649d4 Re-apply missing changes from #2446 2018-09-09 16:35:48 +02:00
Chris Houston b2133aace1 Fixing issue #2910 2018-09-08 23:28:44 -04:00
Warren Buckley d61e71aae6 Updates ContentResouce and the ListView Controller to pass along the CultureName 2018-09-07 15:09:51 +01:00
Warren Buckley f368b493de Updates Content Controller - that uses the Mapping AfterMap to allow us to update the Name of the node based on the culturename passed into the WebAPI 2018-09-07 15:02:44 +01:00
Sebastiaan Janssen 32591eec36 Merge branch 'shoecake-U4-5572' into dev-v7 2018-09-07 15:20:36 +02:00
Sebastiaan Janssen e05a55c532 Fixes incorrectly named method and removes extraneous spaces 2018-09-07 15:20:29 +02:00
Sebastiaan Janssen f3d96ad45e Merge branch 'U4-5572' of https://github.com/shoecake/Umbraco-CMS into shoecake-U4-5572 2018-09-07 15:15:52 +02:00
Poornima Nayar 010a2e012e Clean up multiple textstring(repeatable textstring) view - (#2934)
* Clean up multiple textstring(repeatable textstring) view - Introduced some styling rules to make the view look cleaner

* Removes unnecessary additional included files from csproj
2018-09-07 14:54:20 +02:00
Mads Rasmussen 9d6c287028 Merge branch 'temp8' into temp8-ui-cleanup 2018-09-07 14:20:31 +02:00
Mads Rasmussen 006bec25c9 fixes: Prevent the same language from being open in split view 2018-09-07 13:28:10 +02:00
Ali.Taheri da88cc2d04 temp-2939 - Removed hardcoded number of rows from textarea with the default value of 10. 2018-09-07 11:04:35 +01:00
Stephan 69e8b11a79 Fix tests 2018-09-07 11:43:57 +02:00
Shannon 03f204c22f deletes old webform files not referenced in the project 2018-09-07 17:01:52 +10:00
Shannon 5e8245c5b4 package-lock update 2018-09-07 16:12:43 +10:00
Shannon 8ff671a7c6 Changes compilation batch mode to true uses Roslyn compiler for views 2018-09-07 13:10:55 +10:00
Warren Buckley 4184b277aa Reduce the number of different properties, for the timing based logs for the duration in milliseconds to be consistently called 'Duration' 2018-09-06 20:38:03 +01:00
Warren Buckley a825dd1b92 Configures the default logging pipeline to use the new enrichers 2018-09-06 20:35:02 +01:00
Warren Buckley d27b4cce09 Adds a few most useful enrichers from the Serilog.Classic.Web project (we dont want all thex extra bloat such as handlers etc) 2018-09-06 20:20:24 +01:00
Warren Buckley cd20348be5 Move Log4NetLevelMapper enricher into seperate folder - as we plan to add more 2018-09-06 20:19:32 +01:00
Warren Buckley 64e148f994 Update UmbracoModule to only log the end of the request & its time - not sure how useful a log for start & end request IMO (Stephan may think otherwise) 2018-09-06 20:18:33 +01:00
Mads Rasmussen 31f84ff130 Merge branch 'temp8' into temp8-ui-cleanup 2018-09-06 16:32:47 +02:00
Stephan 68d083249b Fix merge 2018-09-06 16:09:31 +02:00
Stephan 7a1744a38b Merge branch temp8 into temp8-11502 2018-09-06 16:07:32 +02:00
Stephan 04c654c290 Fix merges 2018-09-06 15:59:10 +02:00
Mads Rasmussen 33df7647d2 Merge pull request #2900 from umbraco/temp8-validation-quirks
v8 validation quirks
2018-09-06 15:00:05 +02:00
Mads Rasmussen 0d0179ecee allow uncheck of active variants in save/publish dialogs - often in split views you don't want to publish both languages 2018-09-06 14:45:54 +02:00
Mads Rasmussen dfeedf9819 removed auto complete from header name field 2018-09-06 14:44:50 +02:00
Shannon ad85f1b3dd resets dirty state for successfully saved variants when validation fails for other ones, updates the dialogs to show the notifications when filtered. 2018-09-06 22:22:08 +10:00
Stephan d9d51584ea Fix merge 2018-09-06 14:10:26 +02:00
Stephan bbd8315176 Merge remote-tracking branch 'origin/temp8' into temp8-nuget-pkgs 2018-09-06 13:57:34 +02:00
Stephan 612c38654d Merge branch origin/dev-v7 into temp8 2018-09-06 13:07:09 +02:00
Shannon 729177ffef Fixes issue with not showing validation errors in the dialogs when creating content and saving/publishing when the names haven't been filled out, adds unit tests to support. 2018-09-06 20:33:32 +10:00
Sebastiaan Janssen 5986899b5e Fixes #U4-10383 Feature request - Ignore casing when getting member email and username from IPublishedContent 2018-09-06 11:07:04 +02:00
Shannon 20c0185ddf Adds unit tests for content controller 2018-09-06 17:37:47 +10:00
Shannon bf666fc6d3 fixes saving invariant content 2018-09-06 15:21:02 +10:00
Mads Rasmussen 00491a9963 Fallback to main language 2018-09-05 15:24:34 +02:00
Mads Rasmussen 91d12635cd always create new nodes based on the language set in the tree 2018-09-05 15:24:03 +02:00
Mads Rasmussen 35b798f16f fix styling for variant state in publish and save dialog 2018-09-05 11:15:50 +02:00
Stephan e8e2a21e9f Handle binding redirects 2018-09-04 19:44:24 +02:00
Warren Buckley 2ae9405fcf Merge pull request #2906 from umbraco/temp8-190
fixes: 190 - Re-enable tours
2018-09-04 13:42:29 +01:00
Warren e0c0bc7da4 Update getting started tour template tour - to use Model.Name as opposed to older Model.Content.Name 2018-09-04 13:29:42 +01:00
Anders Bjerner c8664a886a ID property is now hidden as well when creating new content 2018-09-04 14:27:58 +02:00
Stephan 7611f89642 Update nuspec and dependencies 2018-09-04 13:42:04 +02:00
Mads Rasmussen e221a1af36 fix the rest of the create media tour 2018-09-04 13:35:31 +02:00
Mads Rasmussen 0286984c5b prefix directive 2018-09-04 13:19:34 +02:00
Warren 306c12de69 Merge branch 'temp8-190' of https://github.com/umbraco/Umbraco-CMS into temp8-190 2018-09-04 11:35:26 +01:00
Warren 0ea2682661 Adds in new util directive isolate-form used for nested forms that you do not want dirty to propogate upwards to parent forms 2018-09-04 11:34:10 +01:00
Mads Rasmussen 54255b41a0 make special zIndex's for the tour 2018-09-04 11:17:27 +02:00
Stephan b1a59569a3 Cleanup readmes 2018-09-04 11:12:47 +02:00
Mads Rasmussen 5b3b160f3b Make header styling consistent 2018-09-04 10:27:53 +02:00
Stephan ee5a3fc99a Cleanup UmbracoCms.nuspec 2018-09-04 10:18:33 +02:00
Mads Rasmussen b8f141982b fix create doc type tour 2018-09-04 09:42:34 +02:00
Mads Rasmussen 3bc7f0a124 wait for animations to be done 2018-09-04 09:41:26 +02:00
Sebastiaan Janssen 5dd04d9a3e Merge pull request #2902 from umbraco/abjerner-patch-2
The name field is not automatically in focus when creating a new data type folder
2018-09-04 09:38:15 +02:00
Stephan a1a06609b9 Version 8.0.0-alpha.50 with 3 NuGet packages 2018-09-04 09:36:58 +02:00
Stephan f603cb3b05 Recent Node upgrade touches package[-lock].json 2018-09-04 09:36:26 +02:00
Stephan ffc7d5ba04 Fix build script 2018-09-04 09:35:39 +02:00
Shannon 3f4e6dfce8 Gets success notifications showing in the save/publish dialogs 2018-09-04 16:16:11 +10:00
Anders Bjerner 6ff2f1eabb The name field is not automatically in focus when creating a new data type folder 2018-09-03 18:06:15 +02:00
Anders Bjerner cbdfb6f25f Hide "Created Date" field when content hasn't yet been created 2018-09-03 17:32:39 +02:00
Stephan 1fb7bcb980 Cleanup nuspecs 2018-09-03 17:26:07 +02:00
Stephan 34fb19ac76 Merge remote-tracking branch 'origin/temp8' into temp8-nuget-pkgs 2018-09-03 17:24:58 +02:00
Shannon f9657ae04d Gets mixed validation and success messages returning when persisting multiple variants at once. 2018-09-04 01:13:26 +10:00
villian 1437af62b3 fix U4-8143 2018-09-03 17:39:17 +03:00
Mads Rasmussen b72fc95d1f fix up getting started and create content tours 2018-09-03 16:02:39 +02:00
Shannon 124e1691fc Fixes how culture validation is reported and fixes the problem of validating required langs after we've changed the publish state. 2018-09-03 22:46:24 +10:00
Sebastiaan Janssen ac9c6305e7 Update CONTRIBUTING_DETAILED.md 2018-09-03 12:12:27 +02:00
Sebastiaan Janssen b2b9b53af1 Whoops, fixes previous commit for #2896 2018-09-02 10:03:51 +02:00
Sebastiaan Janssen 2dd5010d2c Seems there is no need to hide the .small class, fixes #2896 2018-09-02 09:57:45 +02:00
Marc Goodson c6a31b30f1 position relative to stack the item above to avoid opacity issue 2018-09-01 19:27:55 +01:00
Kim Holzmann ef3abea005 U4-8824
Selection in media grid doesn't match when filter has value.
2018-09-01 12:57:32 +02:00
Marc Goodson c95cc14703 Make the file extension for files visible when picking a file using the media picker 2018-09-01 11:57:05 +01:00
Sebastiaan Janssen 83ce9050e8 Fix U4-10029 Umbraco.ReplaceLineBreaksForHtml should return an IHtmlString #2881 2018-08-31 21:07:56 +02:00
Sebastiaan Janssen d8cd2c109f Merge branch 'feature/remove-logout-aspx' of https://github.com/imranhaidercogworks/Umbraco-CMS into imranhaidercogworks-feature/remove-logout-aspx
# Conflicts:
#	src/Umbraco.Web.UI/umbraco_client/Application/UmbracoApplicationActions.js
2018-08-31 21:07:32 +02:00
Sebastiaan Janssen bfd12b3a7b Merge pull request #2888 from mvanhelmont/#2886
Media Picker should not show deleted items #2886
2018-08-31 20:43:47 +02:00
Sebastiaan Janssen 396b499e81 Merge pull request #2885 from adhaliwal34/comment-change
Fix comment regarding the length of the salt bytes array
2018-08-31 20:27:32 +02:00
Sebastiaan Janssen 61ce1bcdca Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-08-31 20:21:58 +02:00
Sebastiaan Janssen ec1d2a6433 Merge branch 'mvanhelmont-U4-11589' into dev-v7 2018-08-31 20:21:05 +02:00
Sebastiaan Janssen 9ea9c5d6b7 Don't repeat the code to check for and create a template 2018-08-31 20:20:37 +02:00
Sebastiaan Janssen fee9bce110 Merge branch 'U4-11589' of https://github.com/mvanhelmont/Umbraco-CMS into mvanhelmont-U4-11589 2018-08-31 20:11:50 +02:00
Sebastiaan Janssen 222720aea4 Merge pull request #2884 from AliSheikhTaheri/temp-u4-8310
Temp u4 8310 - Fixed can't rename of a document type alias by changing its casing
2018-08-31 20:06:07 +02:00
Sebastiaan Janssen 9e3213147f Merge pull request #2883 from mvanhelmont/U4-11145
U4-11145 Email validation is too strict on password reset screen
2018-08-31 19:50:54 +02:00
Sebastiaan Janssen 075fcdc155 Merge pull request #2881 from skttl/patch-10
U4-10029 Umbraco.ReplaceLineBreaksForHtml should return an IHtmlString
2018-08-31 19:42:57 +02:00
Stephan c42f3a1158 Merge branch temp8 into temp8-11502 2018-08-31 08:43:11 +02:00
Marcel van Helmont c29357b845 inside ensureWithinStartNode also check if node is trashed otherwise go to startnode. 2018-08-30 21:06:29 +02:00
Mads Rasmussen f450abb5c2 wip clean up doc type editor 2018-08-30 19:42:30 +02:00
Mads Rasmussen 748fc3310b add border radius to login box 2018-08-30 19:41:53 +02:00
Stephan 4a32eebb0b Cleanup logging 2018-08-30 19:08:55 +02:00
Stephan 8b4e2c5bcb Fix tests, a culture is not edited if not available 2018-08-30 13:06:41 +02:00
Stephan 7ab393f2b2 Fix TestHelper for properties comparisons 2018-08-30 12:51:55 +02:00
Shannon 506d57ab07 Allows the overlay view to be created with a custom parent scope so that broadcast/emit work correctly for the code within the overlay to be a 'child' of the editor that invoked it. 2018-08-30 20:21:25 +10:00
Stephan 52c6377366 Fix failing test due to 66a00546d 2018-08-30 12:08:01 +02:00
AJ_Dhaliwal cc680f2cfb Fix comment regarding the length of the salt bytes array 2018-08-30 18:03:44 +08:00
Stephan 069c42ef36 Ensure all ILogger impl support message templates 2018-08-30 10:48:27 +02:00
Sebastiaan Janssen 58dab23d04 Fix links 2018-08-30 10:00:29 +02:00
Sebastiaan Janssen 90a47cd042 Move from docs to github folder 2018-08-30 09:58:29 +02:00
Sebastiaan Janssen fb6079d4e2 Add issue templates and updated PR template 2018-08-30 09:57:17 +02:00
Shannon f359648215 fixes U4-11463 MembershipHelper is not working with basic auth on the initial request 2018-08-30 09:57:16 +02:00
Shannon 53ae01c123 small fix after refactor 2018-08-30 16:21:53 +10:00
Shannon c615f7bd9f small fix after refactor 2018-08-30 16:15:42 +10:00
Shannon 2bb2f7bbbd componentizes umb-variant-content and umb-variant-content-editors, moves the logic dealing with the editors array to a component and out of the content controller, ensures that the editor array is updated correctly so that all directives are re-bound 2018-08-30 16:12:42 +10:00
Marcel van Helmont 74ca315197 added val-email to corrrectly validate emails supporting new TLD 2018-08-29 15:38:12 +02:00
Ali.Taheri 541e546f7b u4-8310 - Added error message to the xml file. 2018-08-29 14:35:20 +01:00
Ali.Taheri 26a8d680d4 u4-8310 - Fixed rename content type with the same alias but with different casing. 2018-08-29 14:28:33 +01:00
Mads Rasmussen f2e85beb49 polish 2018-08-29 13:23:07 +02:00
Mads Rasmussen cb102d761a align dashboard tabs 2018-08-29 13:09:17 +02:00
Mads Rasmussen fb2914ca09 remove flashing overlay from examine dashboard 2018-08-29 13:08:08 +02:00
RaduOrleanu 412069414b U4-11570 - performed instantiation locally in classes where WebClient or HttpClient is used only in 1 method and added null check 2018-08-29 12:39:06 +02:00
Mads Rasmussen 9b8a30e73b align language picker with editor header 2018-08-29 12:23:38 +02:00
Mads Rasmussen eff425ff46 more background fixes 2018-08-29 12:23:04 +02:00
Mads Rasmussen a85ea0a932 add boxes to dashboards 2018-08-29 11:45:31 +02:00
Stephan 451b58ee50 Fix for Serilog PR 2018-08-29 11:41:04 +02:00
Stephan 3e183a057e Fix for Serilog PR 2018-08-29 11:37:36 +02:00
Mads Rasmussen 15b0d01517 remove inline style 2018-08-29 10:30:47 +02:00
Mads Rasmussen 2f504383d0 add margin to badge 2018-08-29 10:30:24 +02:00
Mads Rasmussen ca98409379 add white box behind create user confirm 2018-08-29 10:12:33 +02:00
Mads Rasmussen 40e1d2445c Merge branch 'temp8' into temp8-ui-cleanup 2018-08-29 09:54:20 +02:00
Stephan 9e07bf0948 Improve ILogger documentation 2018-08-29 09:12:14 +02:00
Shannon 0fc8da4642 Fixes issue with exception swallowing and tree syncing in the content which made the save dialog not close. 2018-08-29 16:05:33 +10:00
Shannon 016ed4a49d fixing some validation issues 2018-08-29 15:24:50 +10:00
Shannon c85128dd11 Fixes redirect when creating new content for a specific culture 2018-08-29 13:30:48 +10:00
Shannon aed9ad3a66 Merge remote-tracking branch 'origin/temp8' into temp8-nuget-pkgs
# Conflicts:
#	build/NuSpecs/UmbracoCms.nuspec
2018-08-29 12:24:38 +10:00
Shannon b3442be768 removes manual copying of sqlce files, this is taken care of with the Umbraco.sqlce package 2018-08-29 12:16:52 +10:00
Shannon fe508c5a0f Removes MB files that are already included in the MB package 2018-08-29 11:57:31 +10:00
Shannon 09ee58ddad Removes more refs to umbraco_client, fixes up nuspecs 2018-08-29 10:49:55 +10:00
Marcel van Helmont ec1a3f0fe8 make sure alias is camelCase format 2018-08-28 22:44:53 +02:00
Marcel van Helmont 8ce200bd16 added toggles to allow creating templates for collection and collection item 2018-08-28 21:32:18 +02:00
Søren Kottal a6fd377f31 Update UmbracoHelper.cs 2018-08-28 20:21:49 +02:00
Søren Kottal ba22ac4e83 Update HtmlStringUtilities.cs 2018-08-28 20:18:12 +02:00
Stephan c743ac760d Update ModelsBuilder to -alpha.22 2018-08-28 20:02:25 +02:00
Stephan f791198817 Version 8.0.0-alpha.49 for ModelsBuilder 2018-08-28 18:45:37 +02:00
Shannon 46c193c9e2 updates nuspec 2018-08-29 01:45:05 +10:00
Shannon 029eff1f8a Some refactoring to decouple web based assemblies from Umbraco.Core and move whatever we can to Umbraco.Web where web based assemblies are used. Decouples System.Drawing entirely from Umbraco.Core and removes the Active Directory dependency from Umbraco.core. 2018-08-29 01:15:46 +10:00
Stephan eaacdc0514 Deal with fixmes in IContent IsCultureSomething 2018-08-28 15:11:13 +02:00
Shannon ab6758e7bf Merge branch 'temp8' into temp8-nuget-pkgs
# Conflicts:
#	build/NuSpecs/UmbracoCms.Core.nuspec
2018-08-28 20:53:19 +10:00
Shannon Deminick a151829b26 Merge pull request #2845 from umbraco/temp8-serilog
Bye bye Log4Net, Hello Serilog
2018-08-28 20:31:12 +10:00
Warren 91ab3b4894 Comments out a lot of the serilog.user.config to give some guidance and examples on what can be setup & configured 2018-08-28 10:11:08 +01:00
Warren 34452e72c0 Adds the shared option to the File sink to avoid file locking & if app restarts we don't get _001 or _002 files etc 2018-08-28 09:46:51 +01:00
Shannon 61c52913dd Fixes MediaCacheRefresher, it wasn't checking if there was an IMedia cache 2018-08-28 16:50:56 +10:00
Shannon Deminick e1e435cc33 Merge pull request #2877 from umbraco/temp8-97
Temp8 97
2018-08-28 16:11:59 +10:00
Shannon 94cbe3b1b8 updates timing id 2018-08-28 15:40:20 +10:00
Shannon 6506abd451 Simplifies logger calls to proxy all calls to a single method of it's type 2018-08-28 15:38:36 +10:00
Shannon 8d6e297c37 Adds additional Fatal methods to match Error and move Fatal code above error so all logger code goes from Fatal -> Verbose 2018-08-28 15:24:45 +10:00
Mads Rasmussen db385bbf17 make umb-variant-state directive reusable + reuse in umb-editor-header 2018-08-27 15:53:56 +02:00
Mads Rasmussen e96d16536b Make sure two overlays can't be open at the same time 2018-08-27 12:36:40 +02:00
Mads Rasmussen 8c663b5993 Add option to prevent close on backdrop click 2018-08-27 11:44:55 +02:00
Mads Rasmussen db37a34bac fix z-index problem 2018-08-27 11:28:10 +02:00
Stephan a2e80f27f3 Merge branch temp8 into temp8-11502 2018-08-27 09:57:41 +02:00
Shannon 06d08e2cb1 removes last log4net strings i can find 2018-08-27 16:49:54 +10:00
Sebastiaan Janssen 26e2bc6afa Merge pull request #2879 from umbraco/temp-u4-11599
U4-11599 - do not abort inst processing on error
2018-08-27 08:45:04 +02:00
Sebastiaan Janssen 546458bcfd Merge pull request #2322 from umbraco/validate-using-schema
Updates sql to include current schema in queries
2018-08-27 08:16:57 +02:00
Stephan f2090e9fc7 U4-11599 - do not abort inst processing on error 2018-08-27 08:10:39 +02:00
Sebastiaan Janssen 46b0063921 Fixes U4-11598 Scheduling the content does not reload the page at the same time 2018-08-27 06:56:05 +02:00
Sebastiaan Janssen 7fd1617759 Merge branch 'dev-v7' into validate-using-schema 2018-08-26 23:13:08 +02:00
Sebastiaan Janssen 5e7c9f2341 Merge pull request #2876 from RNHornets/temp-u4-9030
U4-9030 Moving a RTE between grid cells causes rendering issues for other RTEs
2018-08-26 22:57:17 +02:00
Sebastiaan Janssen bec8aabede Merge pull request #2442 from madsoulswe/temp-U4-10962
U4-10962 - Disable stickyheader when nested, fix margins when disabled
2018-08-26 22:17:44 +02:00
Sebastiaan Janssen c07780caff Merge pull request #2481 from SaDa1337/dev-v7.9
fix x alignment in colorpicker transparent option in umbraco skin
2018-08-26 22:08:24 +02:00
Sebastiaan Janssen 0c3d3ca545 Merge pull request #2506 from PeteDuncanson/temp-U4-11074
Added web.config to fonts folder to allow for caching out of the box
2018-08-26 21:26:45 +02:00
Sebastiaan Janssen 35a0d4451f Merge pull request #2483 from kccsf/U4-4441
U4-4441 Fix: TinyMCE overlay was showing in front of login overlay
2018-08-26 21:01:58 +02:00
Sebastiaan Janssen 03fdba6a3b Merge pull request #2512 from NathalieLarsson/dev-v7
Quick fix for U4-11085 and added filtering to list view in MNTP
2018-08-26 20:51:53 +02:00
Sebastiaan Janssen 550c383598 Also make sure there's a value for dialogOptions.filterTypes if it doesn't start with "!"
Else you get errors on `dialogOptions.filterTypes.toLowerCase()`
2018-08-26 20:47:26 +02:00
Sebastiaan Janssen 9d3d718e16 Merge branch 'dev-v7' into dev-v7 2018-08-26 20:33:00 +02:00
Ben Palmer b09bf518c6 U4-9237 Validate application parameter when getting application trees (#2315) 2018-08-26 18:12:07 +02:00
Sebastiaan Janssen 8666b222ac Merge pull request #2841 from leekelleher/U4-11556
U4-11556 - Removed metablogConfig.config
2018-08-26 18:04:50 +02:00
Sebastiaan Janssen 9e564d70ef Merge branch 'drpeck-U4-8550' into dev-v7 2018-08-26 17:57:00 +02:00
Sebastiaan Janssen 276810be6c Bump to v7.13.0 2018-08-26 17:56:13 +02:00
Sebastiaan Janssen 49df6e7c9d Merge branch 'U4-8550' of https://github.com/drpeck/Umbraco-CMS into drpeck-U4-8550
# Conflicts:
#	src/Umbraco.Web.UI/config/umbracoSettings.config
#	src/Umbraco.Web/PublishedContentExtensions.cs
2018-08-26 17:45:34 +02:00
Sebastiaan Janssen 16155ea416 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-08-26 17:25:18 +02:00
Sebastiaan Janssen f183e27cae Merge branch 'jamescoxhead-U4-11166' into dev-v7 2018-08-26 17:24:18 +02:00
Sebastiaan Janssen a411c9c300 Make sure inactive users get the correct state attached to them 2018-08-26 17:23:52 +02:00
Sebastiaan Janssen 342ac7b1b2 Merge branch 'U4-11166' of https://github.com/jamescoxhead/Umbraco-CMS into jamescoxhead-U4-11166 2018-08-26 16:52:58 +02:00
Sebastiaan Janssen f5ac5f20a8 Merge pull request #2869 from Bazmech/temp-U4-11594
U4-11594 HasFocalPoint in ImageCropDataSet does not return correct value
2018-08-26 16:44:19 +02:00
Chris Houston 56de9ff4ae Fix for issue: U4 11409 - "Create content" tour is failing when doing the tour with the starter kit installed (#2851) 2018-08-26 14:52:14 +02:00
Mads Rasmussen 7fce9799e7 clear editorService and overlayService when a new user logs in 2018-08-24 21:06:48 +02:00
Mads Rasmussen d8006b54e8 soften overlay shadow 2018-08-24 21:05:36 +02:00
Robert e3ee485126 Merge pull request #2875 from umbraco/temp8-141
Editing all variants at once - Deal with invariant property value syncing
2018-08-24 14:43:46 +02:00
Robert 3b4aa66516 Merge branch 'temp8' into temp8-141 2018-08-24 14:43:15 +02:00
Mads Rasmussen 32d263a398 translate labels 2018-08-24 14:08:36 +02:00
Mads Rasmussen 3f05396c2b show discard changes dialog when changing location and infinite editors are open + reuse same overlay for unsaved changes 2018-08-24 13:51:07 +02:00
Robert 09719d0ca3 Fixes slider 2018-08-24 12:50:46 +02:00
Arbie Sarkissian e4d8fcf019 U4-11506 - Fix Gregorian DateTime.MinValue is out of range for some calendars (like PersianCalendar) (#2821) 2018-08-24 11:15:53 +02:00
Sebastiaan Janssen e1f7e835ea Fixes U4-11584 RelatedLinks2 throws exception with null value in Link field 2018-08-24 11:08:27 +02:00
Sebastiaan Janssen d83bb6aa49 Whoops, committed the wrong file! Revert "Fixes U4-11584 RelatedLinks2 throws exception with null value in Link field"
This reverts commit 612138f0e1.
2018-08-24 11:07:55 +02:00
Robert Johnston 06e55c8c4e Use offsetParent to get the grid cell for the moved item since parents() always returns 0 results 2018-08-24 09:50:24 +01:00
Sebastiaan Janssen 612138f0e1 Fixes U4-11584 RelatedLinks2 throws exception with null value in Link field 2018-08-24 10:49:39 +02:00
Sebastiaan Janssen bfc627857d Merge pull request #2840 from WebCentrum/temp-U4-11527
U4-11527 Fix concurrency issue
2018-08-24 00:02:30 +02:00
BatJan 7d439566cd U4-11526 - Member Group Picker doesn't remove group after unselecting it during selection. (#2835) 2018-08-23 23:56:32 +02:00
Sebastiaan Janssen d224a93ce1 Merge branch 'BatJan-feature/temp-U4-11577' into dev-v7 2018-08-23 23:44:23 +02:00
Sebastiaan Janssen 3454db6ee8 No need to do an extra userService request, if the contentType is null we can't access the settings section, that's a good enough test
Also fixed the bug where editors would see the node name instead of the content type name
2018-08-23 23:36:50 +02:00
Sebastiaan Janssen b67c06a85a Remove console.log that was left behind 2018-08-23 22:23:41 +02:00
Sebastiaan Janssen 44bd3dec9a Merge branch 'dev-v7' into feature/temp-U4-11577 2018-08-23 22:22:57 +02:00
Thomas Nielsen 68ac84aa1d Sort the Umbraco.UserPicker list alphabetically by name (#2872) 2018-08-23 22:15:28 +02:00
Sebastiaan Janssen c1bf8259ef Merge branch 'rasmusjp-fix/linkpicker-url-empty' into dev-v7 2018-08-23 21:34:06 +02:00
Sebastiaan Janssen 1b1df84863 Populates the anchor when found
Also fixes one of the JS files where .model was seemingly used randomly, but the view doesn't want a .model in there
2018-08-23 21:31:31 +02:00
Sebastiaan Janssen 05fdfc6b34 Merge branch 'fix/linkpicker-url-empty' of https://github.com/rasmusjp/Umbraco-CMS into rasmusjp-fix/linkpicker-url-empty 2018-08-23 20:52:14 +02:00
Sebastiaan Janssen 18b690f11a Bump the version to 7.12.2 2018-08-23 20:45:49 +02:00
Sebastiaan Janssen d3b577fe37 Merge pull request #2867 from BatJan/features/temp-U4-11587
U4-11587 Media link does not update when the file is swapped
2018-08-23 20:37:45 +02:00
Sebastiaan Janssen 720409ef54 Merge pull request #2871 from leekelleher/U4-11595
umb-node-preview directive - corrected the title of the "Edit" button
2018-08-23 19:21:30 +02:00
Sebastiaan Janssen 919a63d0ea Merge pull request #2848 from readingdancer/U4-11569
Small tweaks to the Getting Started tour text.
2018-08-23 18:53:40 +02:00
Warren 24f91f1917 Adds in Error without ex for just a message and a message template with params 2018-08-23 14:43:38 +01:00
Warren fb4b0ceb69 Verified the log works correctly from my TODO note 2018-08-23 13:23:40 +01:00
Warren e17ba1c876 Verified the log output for genRef is all ok & remove TODO note 2018-08-23 13:09:51 +01:00
Warren 224a7de61f Update ignore list for typefinder tests to include Serilog. in exclusion filters 2018-08-23 12:56:35 +01:00
Warren 4070fc65b7 Remove some //WB TODOs to check if the enum returns the string and not 0,1 etc- check & verified all good :) 2018-08-23 12:49:27 +01:00
Warren afebd88d45 Update ImageProcessorLogger - to use the new Error logger method that contains only an ex - and under the hood it will pass on an empty string to the message 2018-08-23 12:26:33 +01:00
Warren 219e8c730d Add inline null checks as requested 2018-08-23 12:22:05 +01:00
Warren 0c9ac7fa45 Make Log4NetLevel enricher internal - no need for it to be public 2018-08-23 12:16:43 +01:00
Warren 66e4e1f0f4 Adds new method to ILogger for taking only the exception - NOTE will add an empty string for the message 2018-08-23 12:14:07 +01:00
Warren Buckley 5b219af3ad Merge pull request #2874 from umbraco/temp8-93
fixes: 93 - Content editing: convert overlays into infinite editors
2018-08-23 10:32:58 +01:00
Mads Rasmussen ec7610f290 Merge pull request #2865 from umbraco/temp8-w150
Temp8 w150
2018-08-23 10:42:35 +02:00
Mads Rasmussen 1a465a7bee move inline styling to a class 2018-08-23 10:31:54 +02:00
Mads Rasmussen 6187018ee7 simplify width calculation to use the browser width instead of the element widths + reuse dropdown component 2018-08-23 10:22:00 +02:00
Shannon e0610fc85d Gets tinymce syncing with the view model 2018-08-23 18:11:16 +10:00
Mads Rasmussen ef6822e15b Merge pull request #2873 from kjac/media-picker-update
Media picker: Minor style update + add help text.
2018-08-23 09:29:05 +02:00
Shannon 7f734f19f0 Fixes radio button editor 2018-08-23 17:11:57 +10:00
Shannon c0d617a044 Fixes checkbox list to sync the model value and view model nicely 2018-08-23 16:56:40 +10:00
Shannon b1ba25debe Fixes contentpicker to update model.value correctly and sync it's renderModel and deal with the quirks of the ui-sortable stuff 2018-08-23 15:31:59 +10:00
Mads Rasmussen 1f4094c676 Revert "move grid layout config to new location"
This reverts commit 5e0ca12d72.
2018-08-22 13:55:02 +02:00
Mads Rasmussen 5e0ca12d72 move grid layout config to new location 2018-08-22 13:43:32 +02:00
Mads Rasmussen c165226688 use infinite media picker in grid media picker 2018-08-22 13:35:35 +02:00
Mads Rasmussen 46dc0baf86 remove unused overlay markup 2018-08-22 12:57:03 +02:00
Mads Rasmussen 973696329d convert memberGroupPicker into an infinite editor 2018-08-22 12:55:27 +02:00
Mads Rasmussen 61312bf61b move member group picker to new location 2018-08-22 12:46:10 +02:00
Jan Skovgaard 015e89b927 Make sure the "open" action is only visible when logged in as an administrator 2018-08-22 11:31:07 +02:00
Jan Skovgaard 05e48376c7 Use the node object to get the name and icon so it's also displayed for non-admin users 2018-08-22 11:30:39 +02:00
Jan Skovgaard a2cc0ec411 Shorten comments 2018-08-22 11:30:07 +02:00
Jan Skovgaard d4fff97814 Move the setModePublishStatus function above the scope.previewOpenUrl...not sure why but this makes the status be visible when logged in as something other than an administrator. When logged in as an admin it worked fine before. Can't quite make sense of this. But now it works. 2018-08-22 11:23:51 +02:00
Lee Kelleher 06e99c3b33 Corrected the title of the "Edit" button
umb-node-preview directive - corrected the title of the "Edit" button
2018-08-22 09:13:43 +01:00
Jan Skovgaard ad3d27be76 Reference the node object instead of the documentType object, which returns null if the user is not logged in as an admin. 2018-08-22 10:00:54 +02:00
Jan Skovgaard 2e2fc6ad84 Make sure to check whether the open anchor for the template should be displayed or not 2018-08-22 09:31:44 +02:00
Jan Skovgaard 9f396e4b15 By default set the "allowOpen" to be false and only set it to true if the current user is an admin. This ensures that the "Open" anchors are never displayed for other than admin users. 2018-08-22 09:13:46 +02:00
Shannon 128c14d06f Fixes datepicker to sync the model value with it's view model correctly 2018-08-22 15:47:12 +10:00
Shannon 320fd82c24 Fixes slider value syncing 2018-08-22 15:00:24 +10:00
Shannon cc57724834 fixes media picker so that it's model.value stays in sync with it's view model 2018-08-22 14:15:43 +10:00
Shannon 30014ee86b fixes boolean checks and problems with removed angular.lowercase deprecated method 2018-08-22 14:15:23 +10:00
Shannon 5b32268cd7 Merge remote-tracking branch 'origin/temp8' into temp8-141 2018-08-22 14:14:14 +10:00
Shannon c164a4789b Fixes Slider 2018-08-22 14:13:33 +10:00
Barry Bell f42862c42a Update ImageCropDataSet.cs
If only one of the Left or Right values changed the HasFocalPoint function would return false but this should now return true if only one is altered
2018-08-21 21:07:54 +01:00
Mads Rasmussen f7201a70bd add colored border 2018-08-21 21:20:38 +02:00
Mads Rasmussen ec67ab83af Merge branch 'patch-1' of git://github.com/jannikanker/Umbraco-CMS into jannikanker-patch-1 2018-08-21 21:10:01 +02:00
Mads Rasmussen 6678f42f42 use infinite macro picker in grid 2018-08-21 20:01:55 +02:00
Mads Rasmussen dcdf21d86c use infinite editor in grid embed 2018-08-21 19:42:49 +02:00
Rasmus John Pedersen a725ddae5a Only remove ? or # if it's part of the url 2018-08-21 17:10:46 +02:00
Mads Rasmussen 08c1a2d095 grid rte - use infinite editors instead of overlays 2018-08-21 16:07:38 +02:00
Mads Rasmussen 6a0dc77be3 remove unused overlay markup 2018-08-21 15:55:15 +02:00
Mads Rasmussen 8280b522a5 use infinite media picker in markdown editor 2018-08-21 15:51:53 +02:00
Mads Rasmussen 3ed76a34b9 remove unused overlay markup 2018-08-21 15:34:56 +02:00
Mads Rasmussen e18598e836 use infinite icon picker in list view prevalues 2018-08-21 15:31:16 +02:00
Mads Rasmussen f35c1866b9 remove icon picker overlay 2018-08-21 15:23:54 +02:00
Mads Rasmussen 564eb0f059 remove media picker overlay 2018-08-21 15:23:24 +02:00
Mads Rasmussen b6ca017033 add feature toggle for edit media in media picker 2018-08-21 15:17:24 +02:00
Mads Rasmussen c81ce94f1f use infinite media picker in link picker 2018-08-21 14:54:11 +02:00
Jan Skovgaard 8f2c253138 Refactort the scope.nodeUrl to be updated whenever save is hit in the existing update watcher 2018-08-21 14:52:00 +02:00
Mads Rasmussen 892a88179e rename controller 2018-08-21 14:30:06 +02:00
Mads Rasmussen fab08f4dde convert linpicker overlay to infinite editor 2018-08-21 14:29:21 +02:00
Mads Rasmussen bc1c400481 open link picker and media picker infinite editors from rte 2018-08-21 14:13:27 +02:00
Mads Rasmussen f02382d3ab add linkpicker to editorService 2018-08-21 14:12:57 +02:00
Warren 3baf5697e4 Add in MachineName as a Serilog property 2018-08-21 12:48:06 +01:00
Mads Rasmussen b9b45336d4 move linkpicker to new location 2018-08-21 13:38:29 +02:00
Mads Rasmussen 08eaf16f11 turn embed overlay into infinite editor 2018-08-21 12:54:23 +02:00
Mads Rasmussen bdcbb0511f move embed overlay to new location 2018-08-21 12:41:39 +02:00
Mads Rasmussen 55a9fec64f embed overlay was broken. now its fixed 2018-08-21 12:40:24 +02:00
Mads Rasmussen 3c8b43cc3b use infinite macro picker in RTE 2018-08-21 11:29:04 +02:00
copilaurobert 4fa595edd9 Content apps will now move into the tray based on window width 2018-08-21 11:09:10 +02:00
Mads Rasmussen 1c0d09a1cb Merge branch 'temp8' into temp8-93 2018-08-21 11:08:45 +02:00
Mads Rasmussen e470436519 use overlayService to open media type child nodes overlay 2018-08-21 11:03:12 +02:00
Warren Buckley 3568a6565d Merge pull request #2863 from umbraco/temp8-95
Temp8 95
2018-08-21 10:03:10 +01:00
Mads Rasmussen afadf9999b remove unused overlay markup 2018-08-21 10:32:20 +02:00
Mads Rasmussen 5671103cd2 remove unused overlay markup 2018-08-21 10:09:23 +02:00
Mads Rasmussen 75cc69454a convert move dialog to infinite editor 2018-08-21 10:06:16 +02:00
Mads Rasmussen 7bd8c35d37 update copy dialog markup to make it work as an infinite editor 2018-08-21 09:02:38 +02:00
Shannon efbcce5261 Fixes SQL generation for paged results for both UserRepository and AuditRepository 2018-08-21 10:41:50 +10:00
Sebastiaan Janssen e6597d47e3 Fixes U4-11574 - return an empty string if the datatype is in "single" mode and nothing is selected 2018-08-20 16:12:23 +02:00
Nathan Woulfe 89f69bd2a8 U4 4732 - fix regressions in 7.12 (#2862) 2018-08-20 16:10:36 +02:00
copilaurobert ab6d5d09e2 "More" button now shows a tray containing overflowing apps that passed the set app limit 2018-08-20 15:57:58 +02:00
Mads Rasmussen 880eff5e71 use editorService to open copy dialog 2018-08-20 15:54:36 +02:00
Mads Rasmussen 7ffa4969b9 move copy-files to new location 2018-08-20 15:51:38 +02:00
Mads Rasmussen 3b4e5ad8c9 Revert "move copy files to new location"
This reverts commit 4c8c4e7578.
2018-08-20 15:49:23 +02:00
Mads Rasmussen 4c8c4e7578 move copy files to new location 2018-08-20 15:48:23 +02:00
Mads Rasmussen 745ac7600d remove compositions from the editorService again 2018-08-20 14:42:18 +02:00
Mads Rasmussen b58bce7c64 move confirm logic to compositions controller 2018-08-20 14:30:59 +02:00
Mads Rasmussen ab25713486 remove unsed overlay component 2018-08-20 14:16:16 +02:00
Mads Rasmussen 97b8aa8b3a open compositions dialog through infinite editing 2018-08-20 13:13:02 +02:00
Sebastiaan Janssen 8087fc4c9a Merge pull request #2858 from umbraco/temp-U4-11579
U4-11579 Take startNodeId into account before picking the current nod…
2018-08-20 12:06:45 +02:00
Mads Rasmussen 807f0be9df move compositions overlay to infinite editors folder 2018-08-20 11:18:58 +02:00
Nathan Woulfe 3775c7d653 Merge branch 'umbraco-temp8' into temp8-11849 2018-08-20 18:51:36 +10:00
Nathan Woulfe 9593f0dc01 update from temp8 2018-08-20 18:49:28 +10:00
Shannon 04db0caa63 Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Core/Migrations/Install/DatabaseSchemaCreator.cs
#	src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/AddRelationTypeForMediaFolderOnDelete.cs
#	src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/IncreaseLanguageIsoCodeColumnLength.cs
#	src/Umbraco.Core/Persistence/DatabaseModelDefinitions/ConstraintDefinition.cs
#	src/Umbraco.Core/Persistence/DatabaseModelDefinitions/DbIndexDefinition.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/AddIndexToCmsMacroPropertyTable.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/AddIndexToCmsMacroTable.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/AlterTagsTable.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/AssignMissingKeysAndIndexes.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenEightZero/AddIndexToPropertyTypeAliasColumn.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddForeignKeysForLanguageAndDictionaryTables.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateAndRemoveTemplateMasterColumn.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/UpdateUniqueIdToHaveCorrectIndexType.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenTwoZero/AddMissingForeignKeyForContentType.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixTwoZero/AdditionalIndexesAndKeys.cs
#	src/Umbraco.Core/Persistence/SqlSyntax/ISqlSyntaxProvider.cs
#	src/Umbraco.Core/Persistence/SqlSyntax/MySqlSyntaxProvider.cs
#	src/Umbraco.Core/Persistence/SqlSyntax/SqlCeSyntaxProvider.cs
#	src/Umbraco.Core/Persistence/SqlSyntax/SqlServerSyntaxProvider.cs
#	src/Umbraco.Core/Persistence/SqlSyntax/SqlSyntaxProviderBase.cs
#	src/Umbraco.Core/Persistence/SqlSyntax/SqlSyntaxProviderExtensions.cs
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/nestedcontent/nestedcontent.editor.html
#	src/Umbraco.Web/HealthCheck/Checks/DataIntegrity/DatabaseSchemaValidationHealthCheck.cs
#	src/Umbraco.Web/Scheduling/KeepAlive.cs
#	src/Umbraco.Web/Trees/ApplicationTreeExtensions.cs
2018-08-20 15:16:58 +10:00
RaduOrleanu 07e5161988 U4-11570 - changed WebClient() from created inside of using to check if null and then creating it 2018-08-18 20:21:24 +02:00
Mads Rasmussen 655d6356b5 fix padding for dashboard content 2018-08-17 22:03:10 +02:00
Mads Rasmussen a5d0fc28d5 add background-color to dropzone 2018-08-17 21:55:13 +02:00
Mads Rasmussen 25d0437363 add background color to user cards 2018-08-17 21:14:41 +02:00
Mads Rasmussen 63a761512f turn user group overview into real table 2018-08-17 20:06:20 +02:00
Mads Rasmussen 739dc7905b add table header on languages 2018-08-17 20:04:57 +02:00
Warren 9e996c68bb Refactored the error params, so that exception is before the message/template so its more in sync with Serilog signature & was an easy way to find some more logs I missed too 2018-08-17 15:41:58 +01:00
RaduOrleanu 03e642fced Found additional usages for (var web = new HttpClient()) and replaced with private static readonly HttpClient HttpClient = new HttpClient(); 2018-08-17 15:21:33 +02:00
RaduOrleanu 051b595f82 Found additional usages for (var web = new HttpClient()) and replaced with private static readonly HttpClient HttpClient = new HttpClient(); 2018-08-17 15:18:08 +02:00
RaduOrleanu 0cd3bb38ed Found additional usages for (var web = new HttpClient()) and replaced with private static readonly HttpClient HttpClient = new HttpClient(); 2018-08-17 15:07:57 +02:00
copilaurobert 4efc0c8be2 Initial commit on "more" button 2018-08-17 14:14:01 +02:00
Radu Orleanu f665f8af89 fixing U4-11570 (#2860) 2018-08-17 14:04:35 +02:00
Mads Rasmussen b7005127b2 add alias to user subviews to fix broken track by 2018-08-17 13:26:28 +02:00
Warren 38984181fc Adds the Fatal Logger Extension method <T> 2018-08-17 11:38:31 +01:00
Warren a020d60f3e Adds in new log level from Serilog to our Umbraco ILogger - Fatal (Worse than Error) 2018-08-17 11:26:22 +01:00
Kenn Jacobsen de8a24c691 Add "info" style to upload button + add help text when the dropzone is hidden. 2018-08-17 12:22:54 +02:00
Warren Buckley 0ee84c52b3 Merge pull request #2853 from umbraco/temp-variant-save-dialog
Save dialog for variants
2018-08-17 11:06:52 +01:00
Sebastiaan Janssen c4163e94c0 Merge pull request #2856 from dawoe/remove-deleted-scripts-from-solution
Removed files from solution that are not longer present in repo
2018-08-17 08:25:50 +02:00
Sebastiaan Janssen 62855d021f Merge pull request #2857 from umbraco/temp-U4-11581
U4-11581 In rare cases the umbracoLanguage table has a constraint ins…
2018-08-17 08:24:43 +02:00
Shannon 49430ca0a5 fixes logic order of dropping indexes 2018-08-17 16:07:53 +10:00
Shannon 9d75e36eb4 Ensures that checking for constraints/indexes is done within the transaction before dropping anything instead of before the transaction. 2018-08-17 15:20:12 +10:00
Shannon 5068b8ae9f Fixes DB schema validation 2018-08-17 11:16:10 +10:00
Shannon cdf3581721 code simplification 2018-08-17 10:53:45 +10:00
Shannon 0c6cca44d8 Fixes SQL providers for returning the correct results for constraints 2018-08-17 10:53:21 +10:00
Shannon f9300b4714 set variants to pristine after saving 2018-08-17 01:04:15 +10:00
Shannon 5324e0fc59 Fixes initial tree loading to ensure it gets passed the right culture params, puts any non-translated variant name in brackets in the tree 2018-08-17 00:50:05 +10:00
Warren ce4a19a20a Update OWIN logger with message template properties - mostly used for user X logged in (however we can't log those messages with properties) :( 2018-08-16 15:24:45 +01:00
Shannon 3fac749b38 fixes tree syncing so that the name can be updated 2018-08-17 00:19:17 +10:00
Shannon f8370a04a2 Fixes tracking the state of variants in the header drop down when the state changes but validation fails 2018-08-17 00:00:29 +10:00
Warren bb7fd0af25 Another one got through the net 2018-08-16 14:47:42 +01:00
Warren 0fdccc9c2f Found another log item that was using string interpolation 2018-08-16 14:40:33 +01:00
Shannon 54af649b78 Cleans up some models, adds another unit test, fixes the Info tab state updating when a content item is changed. 2018-08-16 23:30:33 +10:00
Sebastiaan Janssen f18b0aa774 U4-11579 Take startNodeId into account before picking the current node to sync to 2018-08-16 13:53:42 +02:00
Sebastiaan Janssen b9e8dd8b86 Removes unused import statement 2018-08-16 13:47:20 +02:00
Warren f9ba6970f4 Last pass of updating log messages in the solution 2018-08-16 12:42:21 +01:00
Warren 47c8651609 Update more logging messages to use templates as opposed to string formats that were using the LoggerExtensions <T> 2018-08-16 12:00:12 +01:00
Sebastiaan Janssen 45d8d302c9 U4-11581 In rare cases the umbracoLanguage table has a constraint instead of an index, making the migration fail 2018-08-16 12:10:21 +02:00
Shannon b4378ecb26 Merge remote-tracking branch 'origin/temp8' into temp-variant-save-dialog 2018-08-16 19:21:27 +10:00
Shannon 5168ef0f7a Fixes js tests and some logic 2018-08-16 19:20:43 +10:00
Mads Rasmussen 1fadff105a Merge pull request #2849 from umbraco/temp-variants-with-file-uploads
Editing variants with file uploads
2018-08-16 10:43:47 +02:00
Dave Woestenborghs e0ce9f1a77 Removed files from solution that are not longer present in repo 2018-08-16 10:35:08 +02:00
Sebastiaan Janssen d7a0886097 Fixes problem where we try to query a table that hasn't been updated with the new column yet, so we can't use the DTO 2018-08-16 10:32:10 +02:00
Nathan Woulfe 7bc43cb430 sane nesting, adds classes to replace element selectors, remove unused bits 2018-08-16 12:11:29 +10:00
Nathan Woulfe d16650d395 modal needs white background when iframed 2018-08-16 12:10:39 +10:00
Nathan Woulfe 8f0112c113 revert sizing changes - needs more thought... 2018-08-16 12:10:04 +10:00
Warren d632b46f9a For each & every request give it a GUID so we can log the begin & end request with timings along with making this log entry VERBOSE 2018-08-15 17:44:22 +01:00
Warren 7f53786461 Sets the default text file logger to be debug only & for the JSON file to log verbose 2018-08-15 17:43:20 +01:00
Warren 93a69d89e8 Add in optional params for the Serilog LoggerConfig Extension methods, to control number of days to keep and the log level to use 2018-08-15 16:58:23 +01:00
Warren b0d697af6c Forgot the ConsoleLogger needs to have Verbose added 2018-08-15 16:47:15 +01:00
Warren e76d35e2ff * Removes the unused func methods from Logger & DebugDiagnosticsLogger
* Adds in new Verbose logging level
2018-08-15 16:39:35 +01:00
Warren 95c5817e1e Removes the logging Func from Interface AND updates the only usages
* UmbracoExamineindexer
* The extension method <T> wrappers
2018-08-15 15:21:27 +01:00
Warren d7c6daac98 Updates the WebAPI Controller Unhandled exception logger to give us a structured message that will now include the Request URL 2018-08-15 14:55:16 +01:00
Warren ed262e6d4b Fix up the error method in the logger - to pass the exception to Serilog correctly (was wrong way round) & for it to add context of the <T> too 2018-08-15 14:53:23 +01:00
Sebastiaan Janssen 39e8a9fa67 Bump version to 7.12.1 2018-08-15 15:47:21 +02:00
Warren Buckley 1dbf509020 Merge pull request #2855 from umbraco/temp7-156
fixes: 156: Update nested content css/markup so it doesn't collide with the old package
2018-08-15 14:03:47 +01:00
Warren Buckley 5b4ef5b29e Merge pull request #2854 from umbraco/temp8-w155
Removed double encoding
2018-08-15 12:45:37 +01:00
Mads Rasmussen 8ce93055ef update colors to use variables and match the new color scheme 2018-08-15 13:00:40 +02:00
Mads Rasmussen ee4b2adbd4 prefix all nested content css classes with "umb" 2018-08-15 11:59:06 +02:00
copilaurobert 5da220c436 Removed double encoding 2018-08-15 10:32:59 +02:00
Shannon 9e131aa633 oooooh our first ContentController test :) 2018-08-15 17:44:06 +10:00
Shannon 0910a46b8a Merge remote-tracking branch 'origin/temp-variants-with-file-uploads' into temp-variant-save-dialog 2018-08-15 17:29:40 +10:00
Shannon cf39b2a54f Fixes server side check for publishing when a mandatory language isn't published 2018-08-15 15:23:02 +10:00
Shannon 2a15feec40 Fixes state issue to ensure that non-created variants show up as not-created 2018-08-15 15:13:27 +10:00
Warren 23ed9773bc FIRST PASS - Updates Umbraco.Web project to not use the func overload & to use new message template instead 2018-08-14 22:36:47 +01:00
Warren 2a298aaaf5 FIRST PASS - Updates Umbraco.Core project to not use the func overload & to use new message template instead 2018-08-14 15:08:32 +01:00
Warren 1c54c4c87d Update Umbraco ILogger extension methods to have some that support message templates for Serilog
* NOTE: Added obsolete with error bool set - to help me find uses to update easier
2018-08-14 15:05:58 +01:00
Shannon 66a00546d1 more work with saving, publishing and validation for variants, fixes up a few old things too 2018-08-14 23:19:32 +10:00
Warren f62f3300c2 Implements updates from recent ILogger changes for these other classes that use it 2018-08-14 13:29:38 +01:00
Warren 404e79dd3f Move DisposableTimer into Umbraco.Core.Logging - as it seems to be only related to logging 2018-08-14 13:22:44 +01:00
Warren b44fc3e273 Update DisposableTime - so that we now have a timing id to help with correlation (searching for the start & end in logs easier) 2018-08-14 13:20:54 +01:00
Warren 24cd72e9a5 Update Umbraco ILogger to use messagetemplates & params to make Serilog happy 2018-08-14 13:16:22 +01:00
Jannik Anker de73080e14 U4-11572
Add border to selected icon in document type icon picker dialog
2018-08-14 13:37:54 +02:00
Mads Rasmussen 6c0d14e0f4 add type="button" to toggle so it doesn't auto-submits a form 2018-08-14 13:14:49 +02:00
Mads Rasmussen 66187bf01a fix issue with property variant state being overwritten if document type wasn't saved 2018-08-14 12:32:12 +02:00
Shannon 9c84d5e3f9 more work with variants, saving, publishing and validation. 2018-08-14 20:21:33 +10:00
Warren c53d6f1948 Change Logger ctor to take in a Serilog LoggerConfiguration to make it easy to override in code if needed 2018-08-14 11:00:18 +01:00
Warren 31dcded8d6 Moves parts of the Serilog LoggerConfiguration to extensions methods for easier to read & re-use (if someone is attempting to configure the Serilog pipeline in code) 2018-08-14 09:37:29 +01:00
Shannon 758d09cd5c More work on save and publish overlays 2018-08-14 16:29:14 +10:00
Warren 529a5e10d9 Use string.PadRight to be more explicit with what we are doing with the Log4Net level property enricher 2018-08-13 11:26:50 +01:00
Shannon 30d29d9fcf initial commit for save dialog 2018-08-13 16:45:05 +10:00
Shannon e950914fc8 Fixes wiring up server validation when creating content 2018-08-13 12:11:08 +10:00
Shannon 5bd74f90aa cleanup 2018-08-13 11:36:43 +10:00
Shannon 9d5d516064 Fixes up invariant property validation since we were only allowing one callback per alias, but we need to allow multiple 2018-08-13 11:25:55 +10:00
Chris Houston ba682d95dc Small tweaks to the Getting Started tour text. 2018-08-12 01:16:57 -04:00
Warren ee91e8cec2 Nuget still not happy - as this merge contains the recent removal of the umbraco_client folder 2018-08-10 16:50:38 +01:00
Warren 1f9c5a48a7 Fix up .csproj after merge & update CMS.Core nuspec to include the new Serilog nuget packages we've added 2018-08-10 16:44:36 +01:00
Warren 054308b44e Merge remote-tracking branch 'origin/temp8-directive-cleanup' into temp8-serilog 2018-08-10 15:37:50 +01:00
Warren Buckley ac9be3995b Merge pull request #2844 from umbraco/temp8-directive-cleanup
Temp8 directive cleanup
2018-08-10 13:50:13 +01:00
Mads Rasmussen ec139ca16c clean up that windows resizer event 2018-08-10 14:17:12 +02:00
Mads Rasmussen 23e81a67fa fix indention 2018-08-10 14:05:15 +02:00
Mads Rasmussen c7a5786521 remove the deprecaed note 2018-08-10 14:03:39 +02:00
Mads Rasmussen c0ec2a5314 move the auto-scale directive from obsolete. It is still pretty usefull for the code editors 2018-08-10 14:02:59 +02:00
Shannon e41aad78b0 Updates the logic for the normal file upload for clearing files to be the same as the image cropper which makes more sense, now the upload editor also syncs properly with invariant propertes. 2018-08-10 16:52:33 +10:00
Shannon 3932ec0640 Fixes how invariant property are processed during saving on the server side. 2018-08-10 15:39:57 +10:00
Shannon d608daa87b Gets new images syncing between instances on image cropper 2018-08-10 14:48:58 +10:00
Shannon 2d1bda54be Fixes: Deal with invariant property value syncing, componentizes umb-image-gravity, gets the image cropper syncing data correctly, ensures resizing for image cropper is done when variants change. 2018-08-10 13:53:19 +10:00
Shannon 3395e4c150 Fixes allowedFileType JS problem with unit test 2018-08-10 10:31:04 +10:00
Warren 212e0a091a Allows Serilog to be configured in a serilog.user.config file that will not effect the main umbraco logger
Adds in support for filtering expressions - so the user logger configuration can filter by including or excluding on an expression - common use case to include only my namespace from SourceContext thjat starts with xyz
2018-08-09 22:08:40 +01:00
Mads Rasmussen cd6585c9b9 remove detect-fold 2018-08-09 21:12:45 +02:00
Mads Rasmussen a1c4bd6b7a remove umb-content-name 2018-08-09 20:59:10 +02:00
Mads Rasmussen ca85b0e45c remove umb-header 2018-08-09 20:53:44 +02:00
Warren 9446c2a568 Trying with a nested logger config to see if it works better 2018-08-09 19:51:22 +01:00
Mads Rasmussen 48c5e61d88 remove item sorter 2018-08-09 20:50:52 +02:00
Mads Rasmussen 933bb8ad44 remove drag and drop less import 2018-08-09 20:50:30 +02:00
Mads Rasmussen ab90690e17 remove umb-login 2018-08-09 20:41:26 +02:00
Mads Rasmussen 67e0b68b7b remove umb-optionsmenu 2018-08-09 20:39:50 +02:00
Mads Rasmussen c50f7a1284 remove umb-sort 2018-08-09 20:33:48 +02:00
Mads Rasmussen 5ab978ecf5 remove umb-photo-folder 2018-08-09 20:29:17 +02:00
Mads Rasmussen 16ceca1598 remove umb-tab-view 2018-08-09 20:23:20 +02:00
Mads Rasmussen 404055917f remove umb-upload-dropzone 2018-08-09 20:22:11 +02:00
Shannon 2f0f43e605 Gets image cropper working between variants, even with invariant properties, adds unit test to ensure invariant properties in the model are the same reference 2018-08-10 00:39:20 +10:00
Shannon 9183a9987b Updates imagecropper to use our new umb-property-file-upload component which now maintains file state between variant switching 2018-08-09 23:15:42 +10:00
Sebastiaan Janssen fd888cab4b Fixes U4-9095 - the textService.Localize always returns some string, either the translation or [alias] - so we need to make sure it actually translated something 2018-08-09 14:36:08 +02:00
Shannon 6a7b6f7267 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-08-09 19:38:36 +10:00
Shannon f738e6d7c7 Fixes js tests 2018-08-09 19:38:20 +10:00
Shannon 601c30c39a Fixes js tests 2018-08-09 19:34:32 +10:00
Warren e818197365 Fix comma dangle ESLint errors 2018-08-09 09:00:34 +01:00
Shannon d237fd7e26 Merge branch 'temp8' into temp-variants-with-file-uploads
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/imagecropper/imagecropper.controller.js
2018-08-09 15:27:21 +10:00
Shannon 1ffcc853e1 updates package-lock 2018-08-09 15:23:46 +10:00
Shannon 284e440b7e Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	src/Umbraco.Web.UI.Client/package-lock.json
#	src/Umbraco.Web.UI.Client/src/canvasdesigner/config/canvasdesigner.config.js
#	src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/border.js
#	src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/googlefontpicker.js
#	src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/margin.js
#	src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/padding.js
#	src/Umbraco.Web.UI.Client/src/canvasdesigner/editors/radius.js
#	src/Umbraco.Web.UI.Client/src/canvasdesigner/lib/spectrum.directive.js
#	src/Umbraco.Web.UI.Client/src/common/directives/components/umblaunchminieditor.directive.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/legacydelete.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/template/querybuilder.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/treepicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/mediaPicker/mediapicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/datatypes/datatype.edit.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/tags/tags.controller.js
2018-08-09 15:22:20 +10:00
Shannon Deminick 50597b5715 Merge pull request #2843 from umbraco/temp7-eslint
Temp7 eslint
2018-08-09 15:19:12 +10:00
Shannon 9d7519d591 manually merges noscript update 2018-08-09 15:10:27 +10:00
Mads Rasmussen f35110309a fix comma-dangle error 2018-08-08 19:52:31 +02:00
Mads Rasmussen c73860d144 start eslint from scratch so we slowly can add more rules for easier merging to v8 2018-08-08 19:52:00 +02:00
Warren 1842c78c5d Fix for navigation service for hideDialog(true) which is used to hide the current dialog & show the right click context/more options menu which was failing 2018-08-08 15:26:25 +01:00
Warren Buckley da39eb3ceb Merge pull request #2808 from kows/hackathon-import-doc-type-to-angular
Rewrite importDocumenttype.aspx to Angular [v8hackathon]
2018-08-08 14:36:09 +01:00
Warren baef12eb2a * Rename import to importdocumentype to match up with the action alias
* Minor UI changes to match what we had previously & some simple validation if an incorrect file extension is chosen
2018-08-08 14:35:09 +01:00
Warren 5389a018b3 Sets back the action alias to importDocumentType - It may break more than we expected 2018-08-08 14:32:58 +01:00
Warren 00487c87fc Merge branch 'temp8' into kows-hackathon-import-doc-type-to-angular 2018-08-08 13:23:41 +01:00
Warren 4dbcfc6907 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-08-08 13:22:04 +01:00
Warren 8ba319b9d9 Fix up syntax error in JS from my merge/port upto V8 - oops :( 2018-08-08 12:53:23 +01:00
Robert 2d6ea3c57c Merge pull request #2778 from umbraco/temp-editing-all-variants
WIP Editing all variants at once
2018-08-08 13:47:51 +02:00
Robert c2433a336c Merge branch 'temp8' into temp-editing-all-variants 2018-08-08 13:46:19 +02:00
Warren 44e76adbd1 Merge branch 'hackathon-import-doc-type-to-angular' of https://github.com/kows/Umbraco-CMS into kows-hackathon-import-doc-type-to-angular
# Conflicts:
#	src/Umbraco.Web/Trees/LegacyTreeDataConverter.cs
2018-08-08 12:01:15 +01:00
leekelleher 0869a9be69 Removed Form.browser
ref: http://issues.umbraco.org/issue/U4-11555

Also removed the referenced classes...

- FormRewriterControlAdapter
- UrlRewriterFormWriter
- LegacyRequestInitializer

These were being used to rewrite the `action` value on rendered `<form runat=server>` tags, (a la WebForms).
2018-08-08 11:32:19 +01:00
copilaurobert 3f348e00cf Merge branch 'temp-editing-all-variants' of https://github.com/umbraco/Umbraco-CMS into temp-editing-all-variants 2018-08-08 11:58:55 +02:00
copilaurobert bd40428ad9 Variants in NotCreated state are now considered as dirty. 2018-08-08 11:58:35 +02:00
leekelleher 79eb9fc2e7 Removed w3cvalidator.browser
ref: http://issues.umbraco.org/issue/U4-11555
2018-08-08 10:34:08 +01:00
leekelleher 92273f263b U4-11556 V8 - Removed metablogConfig.config
http://issues.umbraco.org/issue/U4-11556

For v7, I've marked the `SystemFiles.MetablogConfig` strings as deprecated.
2018-08-08 10:23:14 +01:00
Pavel Budik 3efbb47aed U4-11527 Fix concurrency issue 2018-08-08 10:38:53 +02:00
Mads Rasmussen 9dc99d5e35 fix arrow on media boxes 2018-08-08 10:36:17 +02:00
Mads Rasmussen ea92608f84 prefix new directives with "umb" 2018-08-08 10:25:43 +02:00
Warren fc7c2523c2 Merge branch 'dev-v7' into temp8 (The small fixes that Shan suggested)
# Conflicts:
#	src/Umbraco.Web/Editors/ContentController.cs
2018-08-08 09:21:58 +01:00
Warren 7397541259 Minor fixes to notification dialog after some feedback from Shan when merging this up into V8 2018-08-08 09:04:09 +01:00
Shannon f921e891a3 Fixes issue with IsEdited and state to make things consistent and easy 2018-08-08 16:29:07 +10:00
Shannon 69acaabec1 Fixes creating doc types, some null checks missing and an issue with how umbgridselector is responsible for syncing the template alias on a new doc type 2018-08-08 15:35:02 +10:00
Shannon 72b1fb1d60 fix sort issue on publish dialog 2018-08-08 13:31:35 +10:00
Shannon 34e7440517 Fixes issues with data re-syncing and underlying js exceptions causing problems 2018-08-08 13:29:25 +10:00
Shannon 0769b634e0 fixes status bar on info tab for content 2018-08-08 12:17:57 +10:00
Shannon 9e6947f62c Fixes issue of moving/deleting media along with other issues of us returning plain text responses with incorrect mime type results and an issue with our interceptors 2018-08-08 11:49:05 +10:00
Mads Rasmussen 4a43b97f64 fix media info tab 2018-08-07 20:18:34 +02:00
Warren 6372d393ee Merge branch 'dev-v7' into temp8 == Shan or Stephan please review this !
* Contains a change to work with V8 - content.notify.controller sends a string array
* C# ContentController methods reworked to newer services available & API POST is model bound to string array

# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js
#	src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/contenttypeeditor/editorsettings/editorsettings.html
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/insertfield/insertfield.html
#	src/Umbraco.Web.UI/Umbraco/config/lang/da.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/Umbraco/dialogs/notifications.aspx
#	src/Umbraco.Web/Editors/ContentController.cs
#	src/Umbraco.Web/Editors/TemplateController.cs
#	src/Umbraco.Web/Trees/ContentTreeController.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/notifications.aspx
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/notifications.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/notifications.aspx.designer.cs
2018-08-07 15:48:21 +01:00
copilaurobert 0b51cb703d Back arrow from list view children will redirect back to parrent, changed the order content apps get added to have the ListView app added first. 2018-08-07 15:59:19 +02:00
Mads Rasmussen af8dc17f5e remove z-index from audit trail css so it doens't colide with language dropdown 2018-08-07 14:50:22 +02:00
Mads Rasmussen a4155ad6d8 Update save and publish button text 2018-08-07 14:22:17 +02:00
Mads Rasmussen 0c727a2817 set active variant in language dropdown 2018-08-07 13:59:11 +02:00
Mads Rasmussen 8222234f86 Merge branch 'temp-editing-all-variants' of https://github.com/umbraco/Umbraco-CMS into temp-editing-all-variants 2018-08-07 13:43:56 +02:00
Mads Rasmussen 345aac8d5b remove hacky group filter + fix arrow 2018-08-07 13:43:33 +02:00
copilaurobert 0da9f108a3 Added null check for active variant on the publish dialog. 2018-08-07 13:41:12 +02:00
Warren Buckley abb88f20f9 Merge pull request #2839 from MMasey/U4-10801
U4-10801 - Fix label UI bug and update Notification Settings UI to angular take 2.
2018-08-07 11:00:55 +01:00
Warren 7c9652d966 Minor changes to controller methods
* Renamed from SetNotificationOptions to PostNotificationsOptions
* Ditch CMSNode in the Get method - as we can use the content.path instead
* Use newer ActionsResolver instead of legacy BusinessLogic for getting Actions
2018-08-07 10:36:09 +01:00
Warren 65571f4ee2 Change endpoint name to be inline with others prefixing with Post in the Controller method 2018-08-07 10:34:03 +01:00
Warren Buckley 5e01da2013 Merge pull request #2838 from umbraco/temp8-bye-umbraco_client
Bye umbraco_client
2018-08-07 10:09:36 +01:00
Shannon 08fe947575 Gets the image cropper posting files correctly 2018-08-07 18:37:55 +10:00
Warren Buckley b0756b0b0e Fix typo selectedSting to selectedString 2018-08-07 09:24:59 +01:00
Warren Buckley b4de7fd64a Removes unused dependancies notificationService & localizationService 2018-08-07 09:23:45 +01:00
Warren Buckley 1f1a4ac15c Remove 64Bit IISExpress config in CSProj 2018-08-07 09:16:36 +01:00
Shannon 96ea95b04a Files are uploading and clearing per variant now with the file upload control 2018-08-07 18:05:30 +10:00
Warren f0fb66be7d Fix unit test - One less Action class as Aduit has been removed from the context menu as its now part of the info tab on a content node 2018-08-07 08:58:36 +01:00
Shannon cd89d016d1 Adds culture to the properties and removes reliance on tabbed-content directive for culture, adds a new directive for file uploads for properties that is more like the image cropper and maintains state when switching between variants. 2018-08-07 17:10:02 +10:00
Shannon bd2414bc49 WIP committing a change for the file upload to convert to a component but will revert because using a directive to get the culture isn't going to work because a property can be invariant so the property itself needs to know it's own culture, not just the culture of the current variant. 2018-08-07 11:41:57 +10:00
Shannon 7f09814973 Merge branch 'temp-editing-all-variants' into temp-variants-with-file-uploads 2018-08-07 09:18:48 +10:00
Shannon dc5f3c1f27 only set the active culture if the content item is variant 2018-08-07 09:12:44 +10:00
Shannon 96aa442855 fixes creating content 2018-08-07 09:09:34 +10:00
Shannon 6dfaaffdfe adds null check in invariant content 2018-08-07 09:06:19 +10:00
Shannon 19c39341f7 allowing more than 2 parts per file name 2018-08-07 09:03:37 +10:00
Mike 2b6c6b3022 http://issues.umbraco.org/issue/U4-10801
Fixes label ui issue on template editor ui.

Updated notification settings ui to use angular instead of web forms.
2018-08-06 19:52:29 +01:00
Shannon e53fe669ef Start to setting files with a culture and catering for being able to set any metadata for files 2018-08-07 00:43:52 +10:00
Shannon f37fe60bd5 Merge remote-tracking branch 'origin/temp8' into temp-editing-all-variants 2018-08-06 22:08:35 +10:00
Warren ef5fc2e7b2 Add back in bundle control - seems to fix up Macro Editor 2018-08-06 13:05:07 +01:00
Shannon 3af09bfe9f fixes tests 2018-08-06 22:04:55 +10:00
Shannon c000ef0b5c adding some code docs 2018-08-06 21:50:23 +10:00
Shannon 9e1b4e1c52 cleanup 2018-08-06 21:39:30 +10:00
Warren a242d13bb9 Fix up missing .aspx tag control reference for ProtectPage dialog 2018-08-06 12:24:43 +01:00
Warren 2fb6588160 Fixes some YSODs with older dialogs 2018-08-06 12:21:31 +01:00
Shannon 3777ea9a7d Moves the 'editor' variant editor to a separate directive so that we can separate out a bit of logic and have a form to watch for dirty tracking on the header value 2018-08-06 21:19:36 +10:00
Warren dd63ff850c Remove test paths to umbraco_client - makes no sense to test for this path as it no longer exists 2018-08-06 11:54:07 +01:00
Warren 4730ee317b Removes some unused .aspx files for dictionary editing - no longer needed as we now have this in Angular 2018-08-06 11:52:12 +01:00
Robert 398c75ca4d Merge pull request #2833 from umbraco/temp8-126
fixes: Update UI on the dictionary editor to match V8 styles
2018-08-06 11:04:20 +02:00
Warren Buckley 4b2ddbdbdd Merge pull request #2832 from umbraco/temp-92
fixes temp-92: Code editing: Convert overlays into infinite editors
2018-08-06 09:54:58 +01:00
Sebastiaan Janssen 5e9f73b114 Merge pull request #2837 from umbraco/temp-U4-11554
Changed the Danish language file - added the Dictionary title
2018-08-06 10:51:23 +02:00
Mads Rasmussen 85b18eec05 only allow to open template if user has access to settings section 2018-08-06 10:47:20 +02:00
elitsa fc7db11c6c Changed the Danish language file - added the Dictionary title 2018-08-06 10:45:51 +02:00
Shannon a0f7dbbc60 Only update variant info if it is dirty 2018-08-06 18:05:04 +10:00
Shannon 7aaf024397 more work on validation, saving and publishing 2018-08-06 16:50:40 +10:00
Mads Rasmussen 41f5d7d113 This treeSync code doesn't work and I don't know why 2018-08-03 11:17:48 +02:00
Mads Rasmussen 18e0eda7d3 Merge branch 'temp8-bye-umbraco_client' of https://github.com/umbraco/Umbraco-CMS into temp8-bye-umbraco_client 2018-08-03 10:52:24 +02:00
Mads Rasmussen 85938e5432 fix sorting of root nodes 2018-08-03 10:52:09 +02:00
Warren 733fb7ed33 Merge branch 'temp8-bye-umbraco_client' of https://github.com/umbraco/Umbraco-CMS into temp8-bye-umbraco_client 2018-08-03 09:26:29 +01:00
Warren 237fcbead6 Last of the umbraco_client files removed 2018-08-03 09:25:33 +01:00
Mads Rasmussen ad12026e29 add sorting for media 2018-08-03 10:24:44 +02:00
Warren 7f5d22b587 Adds in the email notification service taken from the old sorter WebService to use in the ContentEditor Controller 2018-08-03 08:35:01 +01:00
Shannon ad72ba6c6a Fixes up some $watch expressions to be more efficient 2018-08-03 15:08:11 +10:00
Shannon fdf0182ffe TEMP - trying to remove watches to figure out the angular infinite digest loop 2018-08-03 10:49:19 +10:00
Shannon 789a9434c1 fixes property rebinding with variants and fixes more validation flow 2018-08-03 10:22:29 +10:00
James Coxhead 9a774c8f9e Added inactive state for users who haven't logged in 2018-08-02 22:01:45 +01:00
James Coxhead f81dc16210 Specify which user states we want to include when getting all users 2018-08-02 21:55:04 +01:00
James Coxhead c4a787331f Reverted previous commit to show disabled users in the status filter 2018-08-02 21:54:00 +01:00
Warren 01a2988737 Tablesorting 3rd party lib is removed 2018-08-02 20:33:38 +01:00
Mads Rasmussen 8177d08df2 add sort by table headings 2018-08-02 20:59:55 +02:00
Mads Rasmussen 1e5db34679 add empty state and error handling for save 2018-08-02 19:22:17 +02:00
Mads Rasmussen 23c86ecc4a forgot the parentId was still in use 2018-08-02 17:37:29 +02:00
Mads Rasmussen 3dff904264 get children from the current node id and not the parent 2018-08-02 17:15:26 +02:00
Mads Rasmussen f12091df5d Merge branch 'temp8-bye-umbraco_client' of https://github.com/umbraco/Umbraco-CMS into temp8-bye-umbraco_client 2018-08-02 17:10:06 +02:00
Mads Rasmussen 2b25de4ae6 save sort order 2018-08-02 16:17:53 +02:00
Warren b0ca59b0ab OLD sort dialog.aspx & its JS assets from umbraco_client have vanished into thin air 2018-08-02 15:05:18 +01:00
Shannon 9b067d3539 Merge remote-tracking branch 'origin/temp8' into temp-editing-all-variants 2018-08-02 23:57:43 +10:00
Shannon be1fbcfe04 don't short circuit the property validation, run all of them for content for all variants so we get the correct response 2018-08-02 23:55:47 +10:00
Mads Rasmussen 0ea7bdfe7b get children for sort dialog 2018-08-02 15:51:41 +02:00
Warren 043437b725 Revert "Adds in new API endpoint in Content Editor - GetContentSortOrder (same logic & SortNode class from the WebService) - this may need to change depending on JSON structure required"
This reverts commit 67b348df92.
2018-08-02 14:45:31 +01:00
Shannon bfbcbdb604 more fixes for validation states when changing variants 2018-08-02 23:36:49 +10:00
Warren 67b348df92 Adds in new API endpoint in Content Editor - GetContentSortOrder (same logic & SortNode class from the WebService) - this may need to change depending on JSON structure required 2018-08-02 14:25:46 +01:00
Warren fee48e9dee To get the build to work - need to push these commented out classes for now that reference MenuButton (I think EditMacro, EditPackage & EditDictionaryItem) are no longer loaded this way AFAIK but I need to check 2018-08-02 14:06:05 +01:00
Warren 6967ed1846 Adds in Sort Angular dialog from Mads & removes some of the old sort dialog parts 2018-08-02 13:52:13 +01:00
Sebastiaan Janssen af46e1a549 Merge pull request #2834 from andiih/TourWording
Tour Step 7 Wording
2018-08-02 14:45:54 +02:00
Shannon ef4710b6cc several fixes for maintaining a validation state between switching between variants 2018-08-02 22:42:49 +10:00
Andy Hawken (SP4) afa27ce872 Tour Step 7 Wording
Change wording of tour step 7 to "Now click on" to indicate that clicking on the avatar is a step in the tour, rather than a description of what it does at runtime
2018-08-02 13:34:30 +01:00
Warren 08991dc98c Removes old modal js lib & references 2018-08-02 11:58:10 +01:00
Warren c0ccc79604 Remove another AssignDomain dialog & Punycode lib which was only used in AssignDomain2 dialog 2018-08-02 11:36:13 +01:00
Warren b59c7d8af6 Remove AssignDomain JS & CSS assets from umbraco_client 2018-08-02 11:33:14 +01:00
Warren 1b20f0be0d Scaffold HTML & Angular Controller to put in a UI (Probably with some help from Mads) 2018-08-02 11:16:31 +01:00
Shannon 1f25847cd7 Gets contextual culture server validation working 2018-08-02 20:00:35 +10:00
Sebastiaan Janssen 89bdbf500e Revert "Fixed issue with creating doctypes & templated with an Ampersand : http://issues.umbraco.org/issue/U4-11550 (#2828)"
Revert "We need to create the template from it's alias, which is the safeAlias, which is the correct filename"
This reverts commit 9663cfde82 and commit 11aea0f515
2018-08-02 11:48:12 +02:00
Mads Rasmussen bef6afe359 post-merge fix: open doctype in infinite editing from info app 2018-08-02 11:41:40 +02:00
Warren c91776dd5e Sets the Assign Domain Content tree menu item to not use the legacy conversion - will load a view from /umbraco/views/content/assignDomain.html based on convention routing 2018-08-02 10:27:37 +01:00
Mads Rasmussen fceb7804b4 fixes: Update UI on the dictionary editor to match V8 styles 2018-08-02 11:05:04 +02:00
Warren 3fadfaf632 Kaboom - now the View Audit Trial Context menu item & its dialog is gone. As you can see this on the content node under info 2018-08-02 09:55:48 +01:00
Mads Rasmussen 788ed8b61b make template editor support infinite editing 2018-08-02 10:00:11 +02:00
Shannon d926f1b3a2 It saves (not publishing though)! now on to validation 2018-08-02 15:12:26 +10:00
Warren e33498fb56 Remove old location of jQuery Validate & Unobtrusive libs 2018-08-01 22:37:25 +01:00
Warren eb220b6db0 Add in jQuery VUpalidate & Unobtrusive into bower
Update ref's to new path
2018-08-01 22:35:03 +01:00
Mads Rasmussen 759c21cec9 use infinite macropicker in partial views and partial view macro editior 2018-08-01 20:06:35 +02:00
Mads Rasmussen 3e36e06d77 add extra markup for the infinite editor 2018-08-01 19:01:44 +02:00
Mads Rasmussen 0a31ac6ef3 use macropicker in template editor 2018-08-01 18:47:55 +02:00
Mads Rasmussen bf4b48aa9d move the macropicker files to the infinite editor folder 2018-08-01 18:47:08 +02:00
Warren 6e08a7d8ce jQuery.metadata.js is on garden leave 2018-08-01 15:57:21 +01:00
Warren 0e6465ee14 See ya later alligator jQuery.hotkeys.js - CTRL+S still wortks in DocType editor so all good 2018-08-01 15:48:19 +01:00
Warren 3bc6bf6da5 jQuery.cookie lib has ran off into the woods 2018-08-01 15:34:32 +01:00
Warren 2fec8b6b02 Remove jQuer fieldselection lib - its not being used 2018-08-01 15:32:43 +01:00
Warren a2839876c6 Extnesions.js removed from umbraco_client as it has a new home in umbraco/lib/umbraco 2018-08-01 15:30:16 +01:00
Warren 5b4c897892 Yet again I forgot to save the CSProj - you would have thought I would have learnt 2018-08-01 15:07:11 +01:00
Warren a884a9c56c UmbracoClientManager is next for the chopping block but a legacy copy is in the umbraco/lib/ folder for safe keeping for the time being :) 2018-08-01 15:06:01 +01:00
Mads Rasmussen caf942db8b Merge branch 'temp8' into temp-92 2018-08-01 16:01:41 +02:00
Warren fb4dfb62f6 Removes UmbracoField JS & its .aspx dialog - this got rewritten in a nicer UI for template editor 2018-08-01 14:39:42 +01:00
Warren dcfe0c8bda Forgot csproj update again when removing files 2018-08-01 14:38:27 +01:00
Mads Rasmussen b28d23b8e7 add item picker infinite editor + use in template editor 2018-08-01 15:20:48 +02:00
Warren 6c7ecaed5b More vintage menuicon stuff removed from when Umbraco backoffice had drop shadows & buttons like office 2018-08-01 14:08:44 +01:00
Warren 37444a500d ScrollingMenu - now that is vintage V3 & V4 UI days ! 2018-08-01 13:53:24 +01:00
Warren f645e6ffa9 Macro Split Button has been taken around the back along with its C# Control 2018-08-01 13:46:20 +01:00
Warren 956d1d53a6 base2.js has been moved to that nice farm upstate 2018-08-01 13:35:00 +01:00
Warren 90267338a4 Some old CSS styling is now gone 2018-08-01 13:33:04 +01:00
Warren 4650940084 Forgot to remove it from disk & csproj (jQuery) 2018-08-01 13:31:26 +01:00
Warren adf34cd18e Remove jQUery from umbraco_client its in via bower now & updated a ref in some .cshtml to use new path 2018-08-01 13:30:31 +01:00
Warren 838a5e07f7 Cheerio default.js 2018-08-01 13:18:18 +01:00
Warren 7d380a6e03 JQueryUI is gone - well from umbraco_client as its used in bower in the newer client stuff 2018-08-01 13:11:43 +01:00
Warren 41f0d6f211 Bye bye JSON2.js lib 2018-08-01 13:09:42 +01:00
Warren 05d7ed92fb Bye bye knockout.js - you were cool before the new kids on the block such as VueJS, React & Angular were about 2018-08-01 13:03:29 +01:00
Mads Rasmussen b5f02367ab Use new template section infinite editor instead of the old overlay in the template editor 2018-08-01 13:34:01 +02:00
Mads Rasmussen fbfcccc13d add infinite editor markup to template sections 2018-08-01 13:33:17 +02:00
Mads Rasmussen 37db8516ed move template sections overlay to infinite editors 2018-08-01 13:13:09 +02:00
Warren a0f083a534 More nupkg cleanup & sync with .csproj's 2018-08-01 11:55:57 +01:00
Mads Rasmussen d7c0a92d9f update insert code snippet infinite editor to use new insert field editor 2018-08-01 12:30:31 +02:00
Mads Rasmussen d88ed02a8d use insert field infinite editor in template, partial views and macro partial views editors 2018-08-01 11:47:48 +02:00
Mads Rasmussen 4cc31a62c0 convert insertfeld overlay to an infinite editor 2018-08-01 11:46:28 +02:00
Warren e626fe3c8f Merge branch 'temp8' into temp8-nuget-pkgs 2018-08-01 10:46:00 +01:00
Warren 2ec18d0489 Bit of a hack - adds extra whitespace behind Log4Net Levels in our enricher so that they are all 5 characters in length and logfile aligns nicely as it used to in old Log4Net setup 2018-08-01 10:44:20 +01:00
Warren c59912ce94 Adds in SourceContext property into text log file that was missing - aka C# class/namespace 2018-08-01 10:43:14 +01:00
Warren cfebb335f2 Merge remote-tracking branch 'origin/temp8' into temp8-serilog 2018-08-01 10:34:14 +01:00
Warren b89e7bca97 Adds our Serilog Enricher so that we can map Serilog log levels to Log4Net levels and use it the text log file so that the logfiles still look the same as previously 2018-08-01 10:33:38 +01:00
Sebastiaan Janssen 8c5e20c8fe Merge pull request #2830 from karltynan/dev-v7
Updated some lang files grammar
2018-08-01 10:59:59 +02:00
Stephan f049d1b479 Ensure PublishedRequest always has a culture 2018-08-01 10:42:50 +02:00
Karl Tynan db2d7687e4 And updated the en_us.xml version too 2018-08-01 09:23:15 +01:00
Karl Tynan c97311607d Improved text for email and capitalisation for URL 2018-08-01 09:22:45 +01:00
Karl Tynan dbd9db780c Also updated the en_us.xml 2018-08-01 09:11:19 +01:00
Karl Tynan 04775098fe Updated some grammar on en.xml 2018-08-01 09:10:40 +01:00
Mads Rasmussen 4ede57836e move insertfield files to new location 2018-08-01 09:51:44 +02:00
Warren bfae07b95b Merge remote-tracking branch 'origin/temp8' into temp8-serilog 2018-08-01 08:45:12 +01:00
Shannon 778a557f3c Gets the correct content posting which now binds and validates on the server properly 2018-08-01 17:28:39 +10:00
Shannon 6a94694f16 Got models pulled apart and simplified, much less inheritance and easier to follow, start wiring up the model binding logic for content along with validation for each variant 2018-08-01 16:46:13 +10:00
Sebastiaan Janssen 638f71d80e Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/mocks/services/localization.mocks.js
#	src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/help.html
#	src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.html
#	src/Umbraco.Web.UI.Client/src/views/dashboard/default/StartupDashboardVideos.html
#	src/Umbraco.Web.UI.Client/src/views/dashboard/developer/developerdashboardvideos.html
#	src/Umbraco.Web.UI.Client/src/views/dashboard/settings/settingsdashboardintro.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/relatedlinks/relatedlinks.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/tags/tags.controller.js
#	src/Umbraco.Web/Editors/ContentTypeController.cs
#	src/Umbraco.Web/Editors/TemplateController.cs
2018-08-01 08:45:18 +02:00
Sebastiaan Janssen f849ca38fc Merge pull request #2829 from readingdancer/U4-11551
Fixing various broken links in the source code
2018-08-01 08:04:20 +02:00
Shannon c073ab2731 WIP still pulling apart models, binders, validators 2018-08-01 15:40:54 +10:00
Sebastiaan Janssen 11aea0f515 We need to create the template from it's alias, which is the safeAlias, which is the correct filename
Relates to: https://github.com/umbraco/Umbraco-CMS/pull/2828#issuecomment-409452155
2018-08-01 07:18:44 +02:00
Sebastiaan Janssen d803aeb205 Merge pull request #2827 from umbraco/temp-U4-11059
Changing the document type alias before first save leads to YSOD
2018-08-01 07:17:07 +02:00
Chris Houston 9663cfde82 Fixed issue with creating doctypes & templated with an Ampersand : http://issues.umbraco.org/issue/U4-11550 (#2828) 2018-08-01 07:16:38 +02:00
Shannon fc3c8bab45 Merge branch 'temp8' into temp-editing-all-variants 2018-08-01 15:16:02 +10:00
Sebastiaan Janssen 1d5a807e0d Merge pull request #2826 from bjarnef/dev-v7-U4-9025-3
U4-9025 - Fix styling of prevalues
2018-08-01 06:43:29 +02:00
Chris Houston bb59c4708d Just triggering AppVeyor :)
As per my other pull request, pretty sure the one unit test failed due to it running close to midnight on the last day of the month.
2018-08-01 00:30:44 -04:00
Chris Houston 23fda3a0ed Fixing various broken links in the source code, some are just in comments and others are actually used within Umbraco, also added HTTPS where possible. 2018-07-31 23:00:46 -04:00
Shannon 35af025ae3 fixes migrations for v8 2018-08-01 12:37:44 +10:00
Shannon dfc8f3837a Merge branch 'temp8' into temp-editing-all-variants 2018-08-01 12:36:45 +10:00
Shannon 19851b6986 Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	src/Umbraco.Core/Configuration/GlobalSettings.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenTwelveZero/AddRelationTypeForMediaFolderOnDelete.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenTwelveZero/IncreaseLanguageIsoCodeColumnLength.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenTwelveZero/UpdateUmbracoConsent.cs
#	src/Umbraco.Core/Persistence/PetaPoco.cs
#	src/Umbraco.Core/PluginManager.cs
#	src/Umbraco.Core/Services/Implement/UserService.cs
#	src/Umbraco.Core/StringExtensions.cs
#	src/Umbraco.Core/Strings/DefaultShortStringHelper.cs
#	src/Umbraco.Tests/CodeFirst/ContentTypeMapper.cs
#	src/Umbraco.Tests/CoreXml/NavigableNavigatorTests.cs
#	src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs
#	src/Umbraco.Web.UI.Client/src/common/resources/contenttype.resource.js
#	src/Umbraco.Web.UI.Client/src/common/resources/datatype.resource.js
#	src/Umbraco.Web.UI.Client/src/common/resources/mediatype.resource.js
#	src/Umbraco.Web.UI/Umbraco/developer/Packages/DirectoryBrowser.aspx.cs
#	src/Umbraco.Web/Install/FilePermissionHelper.cs
#	src/Umbraco.Web/Trees/PackagesTreeController.cs
#	src/Umbraco.Web/UI/JavaScript/UmbracoClientDependencyLoader.cs
#	src/Umbraco.Web/UmbracoModule.cs
#	src/Umbraco.Web/umbraco.presentation/content.cs
#	src/Umbraco.Web/umbraco.presentation/requestModule.cs
#	src/umbraco.businesslogic/BasePages/UmbracoEnsuredPage.cs
#	src/umbraco.cms/businesslogic/Content.cs
#	src/umbraco.cms/businesslogic/Packager/PackageActions/publishRootDocument.cs
2018-08-01 12:26:26 +10:00
Shannon f36a23dd42 WIP sln builds now 2018-08-01 12:16:03 +10:00
Shannon 55e1a792da Fixes migrations for 7.12.0 2018-08-01 12:15:18 +10:00
Shannon 5eedfc2a53 Merge remote-tracking branch 'origin/temp8' into temp-editing-all-variants
# Conflicts:
#	src/Umbraco.Web/Editors/ContentController.cs
2018-08-01 11:56:46 +10:00
Bjarne Fyrstenborg a6d9b4b260 Add text-overflow for long labels 2018-07-31 23:25:56 +02:00
Warren 7ea85c26a7 Merge remote-tracking branch 'origin/temp8' into temp8-serilog 2018-07-31 22:07:24 +01:00
Warren 1a69297c7e Changes in tests proj to not use Log4Net but Serilog
However not sure how this is used to where the output of the logs was viewed when it was set/configured to console - VS Output Window, VSTS Logs?
2018-07-31 22:03:41 +01:00
Sebastiaan Janssen 4422c5ec52 Update AllowedTemplates list as well if the doctype alias is not the generated one 2018-07-31 22:39:22 +02:00
Bjarne Fyrstenborg c4fc5a04f9 Adjust color picker prevalues to fit within overlay 2018-07-31 22:16:33 +02:00
Bjarne Fyrstenborg 63bbbbab31 Adjust multivalues styles 2018-07-31 22:15:30 +02:00
Sebastiaan Janssen fc6dc25224 Merge pull request #2825 from readingdancer/U4-11472
Fixes issue #U4-11472
2018-07-31 22:03:49 +02:00
Sebastiaan Janssen fe914dc339 Also make sure the alias gets generated from the full name and not just the part before the & 2018-07-31 22:01:35 +02:00
Mads Rasmussen 23136c5f4f Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-07-31 20:49:24 +02:00
Mads Rasmussen 1bdd848582 Post-merge color picker fixes 2018-07-31 20:48:44 +02:00
Warren eda6c62fcc Minor change so that the text log filenames match better to old log4net style - adds in an extra . between Machine Name and the Date that gets added 2018-07-31 18:08:58 +01:00
Warren 5f226e7874 Adds in MachineName into the logfiles like we did previously 2018-07-31 16:15:07 +01:00
Chris Houston a2cb5fac98 Fixes issue #U4-11472
Document type, Media Type & Data Type folders did not support Ampersands in their names, now they do.
2018-07-31 11:06:06 -04:00
Warren aed9f77f31 Remove log4net from the typefinder tests 2018-07-31 15:44:59 +01:00
Warren 8331abf4a2 Remove log4net from Tests & Benchmark projects 2018-07-31 15:42:20 +01:00
Warren 0c3601435e Removes mention of Log4Net & removes commented out methods 2018-07-31 15:31:43 +01:00
Warren 20d8139399 Merge remote-tracking branch 'origin/temp8' into temp8-serilog 2018-07-31 15:28:47 +01:00
Warren 4392055249 Removes mention of Log4Net & the commented code with it as it's never invoked 2018-07-31 15:27:27 +01:00
Warren a460d48607 Remove mention of Log4Net 2018-07-31 15:26:38 +01:00
Stephan ee5a834ab0 Ensure build respects NUGET_PACKAGES 2018-07-31 15:55:31 +02:00
Warren 998a7ff406 Merge branch 'temp8' into temp8-serilog 2018-07-31 14:51:50 +01:00
Warren a7fb11ee3b Removed the install.ps1 reference from the core nuspec 2018-07-31 14:43:42 +01:00
Warren cce6fab687 Remove the commented parts from the nuspec in the new web.nuspec 2018-07-31 14:43:00 +01:00
Stephan 0928fc099d Merge branch temp8 into temp8-11502 2018-07-31 15:34:42 +02:00
Stephan a3f2372b6c Post-merge namespace cleanup 2018-07-31 14:56:40 +02:00
Stephan c209bdde5b Fix routing, AliasUrlProvider 2018-07-31 14:48:30 +02:00
Stephan f35c63fa40 Renormalize 2018-07-31 14:14:52 +02:00
Warren 81095fb77d Adds an env variable (set to process level) so that the external config can use it to save files with a relative path 2018-07-31 12:43:26 +01:00
Stephan 309ca0a765 Fix tests after merge (loadPackager tree is gone) 2018-07-31 13:41:38 +02:00
Stephan abc2bfa774 Cleanup merge of migrations 2018-07-31 13:35:12 +02:00
Stephan 3c446a3ba0 Cleanup merge of Color Picker editor 2018-07-31 13:35:12 +02:00
Stephan f30171bcfd Cleanup filenames 2018-07-31 13:35:12 +02:00
Warren 05196d5aa0 Add Cms.Web to Nuspecs to Verify in build script 2018-07-31 12:19:11 +01:00
Warren d2ae7737b6 Update Powershell Build.ps1 to attempt to pack the Web.nuspec 2018-07-31 11:24:07 +01:00
Warren c65a3c1ffe Add new Web.nuspec into the SLN 2018-07-31 11:23:35 +01:00
Warren 7adf2014d7 UmbracoCms.Web.nuspec added - copied from UmbracoCms.Core.nuspec - with stuff commented out to align with the Web.CSProj ref's 2018-07-31 11:22:56 +01:00
Warren 35c5640d0d Makes the top level nuget package reference UmbracoCms.Web 2018-07-31 11:21:37 +01:00
Warren 216d01d323 Merge branch 'temp8' into temp8-serilog 2018-07-31 11:19:28 +01:00
Warren 80db20fdfb Fix up failing JS unit test from a recent change from V8 hackathon to the query builder syntax (was curly's on new lines) 2018-07-31 11:18:24 +01:00
Warren e886086aed Adds in a new File sink - that will generate a JSON log file in the CLEF format so that it can be imported into a local copy of SEQ to help with filtering/finding log items 2018-07-31 10:21:26 +01:00
Warren 045ece0f70 After latest V8 merge - update the CSProj to remove the files that I nuked earlier 2018-07-31 10:19:04 +01:00
Warren b5f728541a Merge remote-tracking branch 'origin/temp8' into temp8-serilog 2018-07-31 09:51:44 +01:00
Warren 5cacdeafa8 Adds in Serilog.Settings.AppSettings package
Configured to read from a custom .config file location as opposed to root web.config appsettings
Enable Serilog Debugging aka Selflog
2018-07-31 09:50:43 +01:00
Mundairson 9cd2db5018 U4-11546 [v7] Clean up to remove compiler warnings (#2823) 2018-07-31 10:41:15 +02:00
ashallcross 02b6b77d38 Updated links in readme file (#2822)
Updated the links from our.umbraco.org > our.umbraco.com also the case study and cloud links
2018-07-31 10:39:51 +02:00
Shannon 9241e1fcda WIP Getting the content controller a bit further, now need to pull apart the content binder 2018-07-31 17:50:24 +10:00
Shannon 122c18e6d7 Merge branch 'temp8' into temp-editing-all-variants
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.html
#	src/Umbraco.Web/Editors/ContentController.cs
#	src/Umbraco.Web/Models/Mapping/TabsAndPropertiesResolver.cs
2018-07-31 15:56:04 +10:00
Shannon 6e36755de5 updates gitignore 2018-07-31 15:37:47 +10:00
Shannon 190b16626f updates gitignore 2018-07-31 15:26:09 +10:00
Shannon ecc83595c8 minor merge fixes 2018-07-31 15:12:49 +10:00
Shannon d073e727cb minor merge fixes 2018-07-31 15:11:31 +10:00
Shannon b96e1343c2 renames lang files back to correct cased folder... now we'll see if merging detects renames 2018-07-31 15:00:56 +10:00
Shannon d272dbf611 Merge branch 'dev-v7' into temp8
# Conflicts:
#	build/NuSpecs/tools/Readme.txt
#	src/Umbraco.Core/Configuration/UmbracoSettings/HelpElement.cs
#	src/Umbraco.Core/Macros/MacroFieldEditorsResolver.cs
#	src/Umbraco.Core/Packaging/Models/PackageAction.cs
#	src/Umbraco.Core/PropertyEditors/PreValueField.cs
#	src/Umbraco.Core/PropertyEditors/ValueConverters/MultipleTextStringValueConverter.cs
#	src/Umbraco.Core/Sync/ApplicationUrlHelper.cs
#	src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config
#	src/Umbraco.Tests/Dependencies/NuGet.cs
#	src/Umbraco.Tests/Persistence/PetaPocoExtensionsTest.cs
#	src/Umbraco.Tests/Services/Importing/ImportResources.Designer.cs
#	src/Umbraco.Tests/Services/Importing/StandardMvc-Package.xml
#	src/Umbraco.Tests/Services/Importing/TemplateOnly-Package.xml
#	src/Umbraco.Tests/Services/Importing/TemplateOnly-Updated-Package.xml
#	src/Umbraco.Tests/Services/Importing/uBlogsy-Package.xml
#	src/Umbraco.Tests/Services/PerformanceTests.cs
#	src/Umbraco.Web.UI.Client/src/less/belle.less
#	src/Umbraco.Web.UI.Client/src/less/components/umb-tabs.less
#	src/Umbraco.Web.UI.Client/src/less/navs.less
#	src/Umbraco.Web.UI.Client/src/less/tree.less
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/help.html
#	src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.html
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/help/help.html
#	src/Umbraco.Web.UI.Client/src/views/dashboard/dashboard.tabs.controller.js
#	src/Umbraco.Web.UI.Client/src/views/dashboard/settings/settingsdashboardintro.html
#	src/Umbraco.Web.UI.Client/src/views/datatypes/datatype.edit.controller.js
#	src/Umbraco.Web.UI.Client/src/views/packager/views/repo.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.html
#	src/Umbraco.Web.UI/Properties/Settings.Designer.cs
#	src/Umbraco.Web.UI/Properties/Settings.settings
#	src/Umbraco.Web.UI/Umbraco/config/lang/nb.xml
#	src/Umbraco.Web.UI/Umbraco/config/lang/zh_tw.xml
#	src/Umbraco.Web.UI/config/feedProxy.Release.config
#	src/Umbraco.Web.UI/config/feedProxy.config
#	src/Umbraco.Web.UI/config/umbracoSettings.Release.config
#	src/Umbraco.Web.UI/umbraco/config/lang/da.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/de.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/es.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/fr.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/he.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/it.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/ja.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/ko.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/nl.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/pl.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/pt.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/ru.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/sv.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/zh.xml
#	src/Umbraco.Web.UI/umbraco/developer/Packages/editPackage.aspx
#	src/Umbraco.Web.UI/umbraco_client/Tree/jquery.tree.contextmenu.js
#	src/Umbraco.Web.UI/web.Template.config
#	src/Umbraco.Web/Install/InstallHelper.cs
#	src/Umbraco.Web/Install/InstallSteps/UpgradeStep.cs
#	src/Umbraco.Web/Media/ThumbnailProviders/ImageThumbnailProvider.cs
#	src/Umbraco.Web/Models/ContentEditing/PreValueFieldDisplay.cs
#	src/Umbraco.Web/Mvc/EnsurePublishedContentRequestAttribute.cs
#	src/Umbraco.Web/Properties/Settings.settings
#	src/Umbraco.Web/Properties/Settings1.Designer.cs
#	src/Umbraco.Web/Routing/PublishedContentRequest.cs
#	src/Umbraco.Web/Trees/PackagesTreeController.cs
#	src/Umbraco.Web/UI/LegacyDialogHandler.cs
#	src/Umbraco.Web/UmbracoModule.cs
#	src/Umbraco.Web/Web References/org.umbraco.our/Reference.map
#	src/Umbraco.Web/Web References/org.umbraco.our/repository.disco
#	src/Umbraco.Web/Web References/org.umbraco.our/repository.wsdl
#	src/Umbraco.Web/app.config
#	src/Umbraco.Web/umbraco.presentation/item.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadScripts.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/create/simple.ascx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/editPackage.aspx
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/search.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/preview/PreviewContent.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/DocumentExtensions.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/NodeExtensions.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/uQuery-Nodes.cs
#	src/umbraco.MacroEngines/RazorDataTypeModels/IntegerDataTypeModel.cs
#	src/umbraco.MacroEngines/RazorDynamicNode/DynamicNodeList.cs
#	src/umbraco.businesslogic/ApplicationTree.cs
#	src/umbraco.businesslogic/BasePages/BasePage.cs
#	src/umbraco.businesslogic/BasePages/UmbracoEnsuredPage.cs
#	src/umbraco.editorControls/uploadfield/uploadField.cs
2018-07-31 14:57:20 +10:00
Shannon 814e4c781f testing rename change 2018-07-31 14:44:23 +10:00
Shannon 5ef067b5f0 More manual merges 2018-07-31 13:05:54 +10:00
Shannon c36a1e4537 Fixes issue with pre-value models due to data type refactor (has been already fixed in other temp branches) 2018-07-31 12:50:30 +10:00
Shannon f4342ed9cb Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js
#	src/Umbraco.Web.UI/web.Template.Debug.config
2018-07-31 12:34:03 +10:00
Shannon 8517a8e088 fixes tests 2018-07-31 12:19:12 +10:00
Shannon d3c45bc90f lang files merged 2018-07-31 11:26:27 +10:00
Warren bee2c2dd16 Merge remote-tracking branch 'origin/temp8' into temp8-serilog
# Conflicts:
#	src/Umbraco.Web.UI/web.Template.Debug.config
2018-07-30 16:42:15 +01:00
Warren cd2a70a520 Get logger to output as same file as old Log4Net and in same format (only diff currently is the log level type in the log file)
Ensures we use the calling type in the Umbraco ILogger and passes it onto Serilog
2018-07-30 16:36:38 +01:00
Sebastiaan Janssen 3a0c872587 Merge pull request #2631 from poornimanayar/U4-8617
check for recursive value
2018-07-30 17:30:47 +02:00
Steven Harland 92b11bf966 Increase z-index of .umb-nav-tabs (#2566)
This lowers the chances of property editors overlapping the tab overflow menu.
More info here: http://issues.umbraco.org/issue/U4-11185
2018-07-30 17:10:50 +02:00
Steven Harland a7f68fa3d3 Add margin and padding to tabs dropdown (#2560)
This reduces the space between the active tab and tab content so that they bleed into each other.
More info here: http://issues.umbraco.org/issue/U4-11181
2018-07-30 17:03:53 +02:00
Sebastiaan Janssen f59104a6f1 Merge pull request #2810 from AnthonyCogworks/refactor-obsolete-sweep4
v8hackathon Refactor obsolete sweep4 [v8hackaton]
2018-07-30 16:31:18 +02:00
Sebastiaan Janssen 3c2e84fdae Merge pull request #2807 from AnthonyCogworks/refactor-obsolete-sweep3
v8hackathon Refactored out some obsolete methods and files. [v8hackaton]
2018-07-30 16:29:32 +02:00
Sebastiaan Janssen 9397b34e35 Merge pull request #2805 from AnthonyCogworks/refactor-obsolete-sweep2
v8hackathon Refactor obsolete sweep2 [v8hackaton]
2018-07-30 16:27:39 +02:00
Sebastiaan Janssen 2613d0b5ac Pass UrlProvider in from grid editor too 2018-07-30 16:18:59 +02:00
Sebastiaan Janssen 5a5ce293d2 Merge branch 'refactor-obsolete-sweep2' of https://github.com/AnthonyCogworks/Umbraco-CMS into AnthonyCogworks-refactor-obsolete-sweep2 2018-07-30 16:12:45 +02:00
Sebastiaan Janssen 4a1113307e Merge pull request #2802 from AnthonyCogworks/refactor-obsolete-mark2
v8hackathon Refactor obsolete mark2 [v8hackaton]
2018-07-30 16:10:52 +02:00
Sebastiaan Janssen 86acf0c1ad Revert "enable use of radiobuttonlist pre editor"
This reverts commit 80412f56ee.
2018-07-30 15:46:34 +02:00
Sebastiaan Janssen 2ea5a7a293 Make radiobuttonlist work with configs as well
Re: https://github.com/umbraco/Umbraco-CMS/pull/2763#issuecomment-408848485
2018-07-30 15:46:02 +02:00
Shannon fbc4820ab4 Fixes migrations and updates the api usages for v8, more manual merging of files 2018-07-30 23:23:01 +10:00
Shannon 3a487e447b moves migrations 2018-07-30 22:25:29 +10:00
Stephan ff607aef7a Remove obsolete stuff 2018-07-30 14:04:02 +02:00
Shannon 10db2834aa committing new migrations from v7 so we can properly rename them on next commit 2018-07-30 21:36:15 +10:00
Sebastiaan Janssen 8dc3b032b7 Removes unmaintained cleanup scripts and unused git installer 2018-07-30 13:34:45 +02:00
Sebastiaan Janssen 7aa9ae8771 Cleanup: remove Teamcity test runner 2018-07-30 13:34:10 +02:00
Shannon a83ea47c25 Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	build/NuSpecs/tools/Web.config.install.xdt
#	src/Umbraco.Core/Constants-Conventions.cs
#	src/Umbraco.Core/DatabaseContext.cs
#	src/Umbraco.Core/Models/Rdbms/LanguageDto.cs
#	src/Umbraco.Core/Models/Rdbms/RelationTypeDto.cs
#	src/Umbraco.Core/Persistence/Migrations/Initial/BaseDataCreation.cs
#	src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs
#	src/Umbraco.Core/PropertyEditors/PreValueField.cs
#	src/Umbraco.Core/PropertyEditors/SupportTagsAttribute.cs
#	src/Umbraco.Core/Services/FileService.cs
#	src/Umbraco.Core/Services/IFileService.cs
#	src/Umbraco.Core/Strategies/RelateOnTrashHandler.cs
#	src/Umbraco.Tests/App.config
#	src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs
#	src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs
#	src/Umbraco.Web.UI.Client/src/common/directives/components/content/umbcontentnodeinfo.directive.js
#	src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
#	src/Umbraco.Web.UI.Client/src/less/belle.less
#	src/Umbraco.Web.UI.Client/src/less/components/application/umb-drawer.less
#	src/Umbraco.Web.UI.Client/src/less/components/umb-grid.less
#	src/Umbraco.Web.UI.Client/src/less/hacks.less
#	src/Umbraco.Web.UI.Client/src/less/property-editors.less
#	src/Umbraco.Web.UI.Client/src/less/variables.less
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/insertmacro.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.html
#	src/Umbraco.Web.UI.Client/src/views/components/content/umb-content-node-info.html
#	src/Umbraco.Web.UI.Client/src/views/components/umb-grid-selector.html
#	src/Umbraco.Web.UI.Client/src/views/datatypes/datatype.edit.controller.js
#	src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html
#	src/Umbraco.Web.UI.Client/src/views/media/move.html
#	src/Umbraco.Web.UI.Client/src/views/prevalueeditors/multivalues.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.prevalues.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/multipletextbox/multipletextbox.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/tags/tags.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/tags/tags.html
#	src/Umbraco.Web.UI/Views/Web.config
#	src/Umbraco.Web.UI/umbraco/Install/Views/Web.config
#	src/Umbraco.Web.UI/umbraco/config/lang/da.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/nl.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/ru.xml
#	src/Umbraco.Web.UI/web.Template.Debug.config
#	src/Umbraco.Web.UI/web.Template.config
#	src/Umbraco.Web/Editors/TemplateController.cs
#	src/Umbraco.Web/Models/ContentEditing/ContentItemDisplay.cs
#	src/Umbraco.Web/Models/ContentEditing/PreValueFieldDisplay.cs
#	src/Umbraco.Web/PropertyEditors/ColorListPreValueEditor.cs
#	src/Umbraco.Web/PropertyEditors/ListViewPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/TagsPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/TrueFalsePropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/ValueListPreValueEditor.cs
#	src/Umbraco.Web/PublishedContentExtensions.cs
#	src/Umbraco.Web/Trees/ApplicationTreeExtensions.cs
#	src/Umbraco.Web/Trees/MediaTreeController.cs
#	src/umbraco.MacroEngines/Resources/Web.config
#	src/umbraco.cms/Actions/ActionRestore.cs
#	src/umbraco.editorControls/yesno/YesNoDataType.cs
2018-07-30 21:31:35 +10:00
Stephan 2ce9d9f7dc Fix medias (broken by removing not-so-obsolete method) 2018-07-30 13:27:35 +02:00
Sebastiaan Janssen 4a77afd3c8 Cleanup tests that don't work and have been ignored for years
Also means we don't need ctt.exe any more
2018-07-30 13:24:46 +02:00
Sebastiaan Janssen fd6582f066 Removes unused Umbraco.MSBuild.Tasks 2018-07-30 13:20:13 +02:00
Sebastiaan Janssen 6f409fdec2 Merge pull request #2803 from callumbwhyte/query-builder-updates
V8 Hackathon: Query builder updates [v8hackaton]
2018-07-30 12:43:49 +02:00
Sebastiaan Janssen d03152c4f1 Merge pull request #2809 from LottePitcher/patch-1
Update v8_getting_started.md after v8 hackathon [v8hackaton]
2018-07-30 12:28:23 +02:00
Sebastiaan Janssen 09d65a5aae Merge pull request #2815 from Mundairson/dev-v7-U4-11540
U4-11540 Removing Warning CS0105 - The using directive appeared previously in this namespace
2018-07-30 12:27:27 +02:00
Sebastiaan Janssen cd601d8ada Revert whitespace changes 2018-07-30 12:25:18 +02:00
Sebastiaan Janssen 29ae78b1a0 Merge branch 'dev-v7-U4-11540' of https://github.com/Mundairson/Umbraco-CMS into Mundairson-dev-v7-U4-11540 2018-07-30 12:17:52 +02:00
Sebastiaan Janssen 4cefd355ec Merge pull request #2811 from imranhaidercogworks/update-our-umbraco-url-references
Update our umbraco url references [v8hackaton]
2018-07-30 11:42:25 +02:00
Sebastiaan Janssen 8404efc521 Adds a few updates from PR #2820 and updates feedProxy to allow both .org and .com 2018-07-30 11:38:51 +02:00
Sebastiaan Janssen c8cc5278f3 Merge branch 'update-our-umbraco-url-references' of https://github.com/imranhaidercogworks/Umbraco-CMS into imranhaidercogworks-update-our-umbraco-url-references 2018-07-30 11:20:32 +02:00
BatJan 60c66823f8 Fix for PR #2792 - Selected color does not show in document type (#2817) 2018-07-30 10:11:57 +02:00
Sebastiaan Janssen 6a946c8a1c Merge pull request #2816 from BatJan/features/temp-U4-11541
U4-11541 - Change the color pickers "active" appearance
2018-07-30 10:11:15 +02:00
Sebastiaan Janssen 960755b22c Merge pull request #2818 from BatJan/patch-3
Adding danish translations for labels added in PR #2342
2018-07-30 09:39:00 +02:00
Sebastiaan Janssen ae1c0e3c9b Merge pull request #2814 from dawoe/temp-U4-10681
U4-10681 Added dutch translations for labels added in PR #2342
2018-07-30 09:36:01 +02:00
Sebastiaan Janssen dc8ab7d00a Merge pull request #2813 from BatJan/features/color-picker-prevalue-width-fix
Fix color-picker prevalue width
2018-07-30 09:35:24 +02:00
BatJan 9a2fd293cd Adding danish translations for labels added in PR #2342
Adding danish translations for labels added in PR #2342
2018-07-28 23:03:00 +02:00
Jan Skovgaard 9fa148db4f Split the "check-circle" class out into it's own .less file for making it easier to re-use throughout the codebase making the color picker datatype use the same UI for the active state. 2018-07-28 13:35:35 +02:00
Mundairson 902efef481 Warning CS0105 The using directive appeared previously in this namespace 2018-07-28 10:53:57 +01:00
Dave Woestenborghs 9b8943f80c U4-10681 Added dutch translations for labels added in PR #2342 2018-07-28 11:37:23 +02:00
AndyButland c61f041d06 Added fallback by language option to IPublishedElement and IPublishedProperty 2018-07-28 08:39:12 +02:00
AndyButland 49c6212cb6 Implemented constants, tests and functionality for trying one fallback method and then another 2018-07-28 08:11:48 +02:00
AndyButland b608ea8322 Restored service context as being DIed into PublishedValueFallback.
Whilst only the LocalizationService service is needed, not injecting this via the service context was breaking the unit tests.
If there's a way around this so we can use the mocked ILocalizationService in tests then this change can be reverted.
2018-07-28 07:58:22 +02:00
AndyButland 85bdc8f14d Updated XML documentation on IPublisedValueCallback methods 2018-07-28 07:56:23 +02:00
Jan Skovgaard 1c1a4778f9 Make sure to set min-width: auto - Otherwise the defined width will never be applied 2018-07-27 23:25:32 +02:00
Anthony 6c430bd0f5 Refactored out obsolete class 2018-07-27 16:43:20 +01:00
Imran Haider 2660b31370 Updated our.umbraco.org to .com 2018-07-27 16:41:57 +01:00
Lotte Pitcher 1d4f6ba813 Update v8_getting_started.md
Recommending people clone to the temp8 branch directly, and how to speed up the VS build
2018-07-27 16:37:36 +01:00
Warren cf47fb99f2 An initial test of seeing if Serilog is setup & can write out to a new file 2018-07-27 16:19:44 +01:00
Imran Haider 7baca85f6a Update ourumbraco references to https 2018-07-27 16:08:38 +01:00
Warren 5659624879 Adds Serilogs.Sink.File Nuget package 2018-07-27 15:53:24 +01:00
Anthony 8e78c3dfb1 Refactored out some obsolete methods and files. 2018-07-27 15:51:32 +01:00
Jonas Pyfferoen 01b3747956 Rewrite importDocumenttype.aspx to Angular 2018-07-27 16:51:20 +02:00
Warren b774330e4f Updates Logger class to implement & call Serilog methods as opposed to Log4Net
Unsure about the methods that take in args - have commented these out for now (Need to talk with Seb or Stephan about this)
2018-07-27 15:49:40 +01:00
Warren f6d81f397d Adds in Serilog & configures it to add in enrichers from the Nuget package & a custom one for the AppDomainAppId 2018-07-27 15:35:08 +01:00
Warren f6c02fb543 Replaces Log4Net Shutdown in UmbracoAppBase Application_End event with Serilog CloseAndFlush- not 100% sure we need to do this as think LightInject tears it down nicely 2018-07-27 15:32:12 +01:00
Warren 0826928ffa Adds in Serilog.Enrichers.Process & Serilog.Enrichers.Thread Nuget Packages
Removes AppDomainTokenConvertor - as we can add to SeriLog via a custom Enrich Property
2018-07-27 15:30:25 +01:00
ashallcross 7559fab5ce Update readme (#2806) 2018-07-27 16:01:34 +02:00
Richard Thompson 60910efc53 U4-10681 Restore option in media recycle bin (#2342) 2018-07-27 15:56:18 +02:00
Warren 9909add9be Adds in Serilog core logging Nuget package to csproj & NuSpec to make build output happy 2018-07-27 14:38:34 +01:00
Warren 182f72a5f8 Rename init logger method to be non specific to what logging framework we use 2018-07-27 14:37:03 +01:00
Warren a3b018c6b5 Remove lots of classes that was specific to extending/configuring Log4Net further 2018-07-27 14:28:58 +01:00
Anthony 3f7a5d18f8 Refactored out some obsolete methods 2018-07-27 14:17:41 +01:00
Warren 9dfe53fef8 Log4Net config files removed from disk & CSProj
Removes references to Log4Net from Web.Config's
2018-07-27 14:15:34 +01:00
Sebastiaan Janssen c0cdf727ca Merge pull request #2804 from ashallcross/Update-Readme
Updated the umbraco.org URL's to be umbraco.com
2018-07-27 15:15:23 +02:00
Adam Shallcross 675ce08469 Updated the umbraco.org URL's to be umbraco.com 2018-07-27 14:09:51 +01:00
Sebastiaan Janssen 8c1f236e3f Fix unit test 2018-07-27 15:08:48 +02:00
Warren dca7fb1763 Remove Log4Net from Umbraco.Web.UI AssemblyInfo 2018-07-27 13:59:59 +01:00
Warren ac8d3579be Remove log4net of the types/assemblies to ignore TypeFinding checking in 2018-07-27 13:57:21 +01:00
Warren 6527abffd8 Remove Log4Net from the Core Nuget package Install PowerShell script 2018-07-27 13:53:33 +01:00
Warren e3be68da07 Removes the logic for the Log4Net binding redirect 2018-07-27 13:51:17 +01:00
Warren 20540d9a15 Removes Log4Net NuGet packages & from our NuSpec's for Build scripts 2018-07-27 13:48:29 +01:00
Anthony 344b67d236 Removed unused files 2018-07-27 13:45:09 +01:00
BatJan bd3f7ffcd4 U4-11538 Color picker thumbnail is to wide (#2801) 2018-07-27 14:35:04 +02:00
Callum Whyte 154d36e580 Cleanup of template query builder whitespace 2018-07-27 13:02:37 +01:00
Callum Whyte 9162be9fb0 Updating template query builder to use new APIs 2018-07-27 13:01:54 +01:00
Sebastiaan Janssen 940bc0c7de Merge pull request #2799 from BatJan/features/temp-U4-11537
U4-11537 - Add title attributes to the umbConfirmAction directive's "buttons"
2018-07-27 13:51:32 +02:00
Jan Skovgaard b8af6f7987 Add title attributes to the "buttons" inside the umbConfirmAction directive providing translations for english and danish at the same time 2018-07-27 13:03:12 +02:00
Sebastiaan Janssen fd993f733f Merge pull request #2798 from LottePitcher/temp8
In build.ps1, use .Path if .Source returns nothing
2018-07-27 12:57:14 +02:00
Sébastien Sougnez f7e097be8e Minor update to the grid settings/style section (#2797) 2018-07-27 12:50:30 +02:00
Lotte Pitcher e920d3f4b2 In build.ps1, use .Path if .Source returns nothing 2018-07-27 11:39:27 +01:00
BatJan 9b9173d64f Use the umbConfirmAction directive when deleting tags (#2795) 2018-07-27 11:24:29 +02:00
Sebastiaan Janssen e0c0eecaac Merge pull request #2796 from umbraco/temp-U4-11536
fixes U4-11536 Migration is breaking upgrade path to v. 7.12
2018-07-27 10:29:35 +02:00
Sebastiaan Janssen ed4ded79ee Merge pull request #2794 from dawoe/temp-U4-10502
U4-10502 added dutch translations for user management
2018-07-27 10:29:22 +02:00
Claus f11c71599b fixes U4-11536 Migration is breaking upgrade path to v. 7.12 2018-07-27 09:10:46 +02:00
Dave Woestenborghs 7109338f68 U4-10502 added dutch translations for user management 2018-07-27 08:01:59 +02:00
Sebastiaan Janssen 26a49fbe9f Fixes U4-9244 2018-07-26 15:55:33 +02:00
Sebastiaan Janssen 6deb97e356 Merge branch 'TimGeyssens-dev-v7' into dev-v7 2018-07-26 15:34:54 +02:00
Sebastiaan Janssen ff0af2f227 Merge branch 'dev-v7' of https://github.com/TimGeyssens/Umbraco-CMS into TimGeyssens-dev-v7
# Conflicts:
#	src/Umbraco.Web/Trees/TreeController.cs
2018-07-26 15:33:52 +02:00
Sebastiaan Janssen 2bb5d0b30e Merge pull request #2775 from bjarnef/dev-v7-U4-9025-2
U4-9025 - Add sortable to color picker prevalues
2018-07-26 13:47:53 +02:00
Sebastiaan Janssen dffe33569a Merge branch 'dev-v7' into dev-v7-U4-9025-2 2018-07-26 13:47:36 +02:00
Bjarne Fyrstenborg 567863079e Update a few names and descriptions for prevalues 2018-07-26 12:03:31 +02:00
Bjarne Fyrstenborg c571284f40 Adjust a bit more styling 2018-07-26 11:50:31 +02:00
Stephan 52bb935604 Merge pull request #2684 from jamescoxhead/U4-6231
U4-6231 Refactored Umbraco.Web.WebServices classes
2018-07-26 11:30:34 +02:00
Bjarne Fyrstenborg 89c84c7a30 Set same width as for multivalues 2018-07-26 11:28:24 +02:00
Bjarne Fyrstenborg d2e8b084f5 Remove width on label 2018-07-26 11:25:38 +02:00
Bjarne Fyrstenborg 99181d5bf4 Adjust thumbnail styling 2018-07-26 11:23:24 +02:00
Stephan 1f353da33c Cleanup IShortStringHelper if controller is gone 2018-07-26 11:23:06 +02:00
Stephan 8c88f8709b Fix merge 2018-07-26 11:22:53 +02:00
Bjarne Fyrstenborg 0f3a8bff5d Add consistency and a few localizations 2018-07-26 11:17:53 +02:00
Sebastiaan Janssen 0811baef9b Merge pull request #1620 from bjarnef/dev-v7-U4-9186
U4-9186 - Fix positioning of file icon extension label
2018-07-26 10:55:55 +02:00
Sebastiaan Janssen 7d76e2efbc Merge branch 'dev-v7-U4-9186' of https://github.com/bjarnef/Umbraco-CMS into bjarnef-dev-v7-U4-9186
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/less/property-editors.less
2018-07-26 10:53:40 +02:00
Stephan eadd79771d Merge branch temp8 into temp8-6231 2018-07-26 10:42:35 +02:00
Stephan 8a3232bd23 Renormalize 2018-07-26 10:39:13 +02:00
Owain Williams 0eddf6b755 Implementing new colour picker for document types (#2792) 2018-07-26 10:04:55 +02:00
Stephan 2b3807ffee Merge branch temp8 into temp8-11502 2018-07-26 09:58:17 +02:00
Stephan 3c8a5c3a0d Remove obsolete code 2018-07-26 09:56:23 +02:00
Stephan 6f4ad059ef Cleanup 2018-07-26 09:41:43 +02:00
Sebastiaan Janssen 295f59e236 Merge pull request #2230 from StefanoChiodino/dev-v7
Normalises whitespace (replace tabs) and add EOF line
2018-07-25 22:17:33 +02:00
Sebastiaan Janssen b39b724303 Merge pull request #2241 from marcemarc/temp-u4-10537
U4-10537 - Enable editor to skip Macro Selection step, when there is only one macro, and it has parameters
2018-07-25 21:56:11 +02:00
Sebastiaan Janssen 4ca88e48c2 Merge pull request #2259 from AndyFelton/U4-10577
Use the underlying Peta Poco DB type to get the Type
2018-07-25 17:25:13 +02:00
Sebastiaan Janssen 53aed514fa Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-07-25 17:12:29 +02:00
Sebastiaan Janssen 6afb28088d Merge branch 'Attackmonkey-U4-10334' into dev-v7 2018-07-25 17:11:34 +02:00
Sebastiaan Janssen 33fdfbbad5 Merge branch 'U4-10334' of https://github.com/Attackmonkey/Umbraco-CMS into Attackmonkey-U4-10334 2018-07-25 17:02:54 +02:00
Sebastiaan Janssen a9d6a842b6 Merge pull request #2326 from bjarnef/dev-v7-U4-10694
Change types of listview properties
2018-07-25 16:44:27 +02:00
Sebastiaan Janssen cbe4154013 Merge pull request #2344 from matthew-darby/U4-8879
U4-8879 - Create button on member and media list view
2018-07-25 16:41:15 +02:00
Bjarne Fyrstenborg 02ac44e214 U4-10792 - highlight error when trying to add duplicate in listview columns (#2362) 2018-07-25 16:29:20 +02:00
Anders Bjerner 187a32cdc0 Added fallback URLs for the "umbNodePreview" directive (#2369) 2018-07-25 16:01:36 +02:00
Bjarne Fyrstenborg 2bd9e24cc2 U4-9803 - Update styles of Repeatable textstrings (#2446) 2018-07-25 15:19:57 +02:00
Dave Woestenborghs 2669a51fe1 Only show umbraco.tv and our.umbraco.org content to admin users in the help drawer (#2513) 2018-07-25 15:01:33 +02:00
Sebastiaan Janssen fd2137ec8d Merge pull request #2519 from bjarnef/dev-v7-U4-11111
U4-11111 - Hide tooltip of slider property editor in document type editor preview
2018-07-25 14:49:41 +02:00
Sebastiaan Janssen 9f1dfb2684 Merge pull request #2520 from bjarnef/dev-v7-U4-11113
U4-11113 - Remove umb-pane from dialog to avoid additional padding
2018-07-25 14:48:18 +02:00
Bjarne Fyrstenborg 4442afc1fd U4-10769 - Fix listviewhelper to work without key property on objects (#2521) 2018-07-25 14:46:39 +02:00
Sebastiaan Janssen f63456a18f Merge pull request #2552 from marcemarc/temp-U4-11163
Consider the 'case' of the Member Group/Role Name when comparing...
2018-07-25 14:40:08 +02:00
Sebastiaan Janssen 065de778f0 Merge pull request #2729 from russellshome/patch-1
Fix for TinyMCE inserts __mcenew in id attribute for images
2018-07-25 13:38:53 +02:00
Sebastiaan Janssen 1b5c553a05 Merge branch 'patch-1' of https://github.com/russellshome/Umbraco-CMS into russellshome-patch-1
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
2018-07-25 13:33:55 +02:00
Sebastiaan Janssen 113b8d825e Merge pull request #2730 from mvanhelmont/U4-7463
Media library thumbnail does not reload if a new image with the same name is uploaded
2018-07-25 13:14:42 +02:00
Sebastiaan Janssen 3ec31bb64d Merge pull request #2756 from kows/hackathon-export-doc-type-to-angular
Rewrite exportdocumenttype.aspx to Angular [v8hackaton]
2018-07-25 12:13:52 +02:00
Sebastiaan Janssen 3b771bf0f7 Download using the umbraco built-in download method and adds notification for success/error 2018-07-25 12:09:46 +02:00
Sebastiaan Janssen b5c3b85298 Merge branch 'hackathon-export-doc-type-to-angular' of https://github.com/kows/Umbraco-CMS into kows-hackathon-export-doc-type-to-angular
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/resources/contenttype.resource.js
#	src/Umbraco.Web.UI/Umbraco/dialogs/exportDocumenttype.aspx
#	src/Umbraco.Web.UI/umbraco_client/Application/UmbracoApplicationActions.js
#	src/Umbraco.Web/Editors/ContentTypeController.cs
#	src/Umbraco.Web/Trees/LegacyTreeDataConverter.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/exportDocumenttype.aspx
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/exportDocumenttype.aspx.cs
2018-07-25 11:40:29 +02:00
Sebastiaan Janssen b744962066 Cleaning up the mess I made 🙈 2018-07-25 11:13:27 +02:00
BatJan 882fa42e2d U4-11497 - Make JSON storage default on the Tags property editor (#2773) 2018-07-25 11:10:35 +02:00
Sebastiaan Janssen 2d79188433 Correct some mistakes I made in queries 2018-07-25 11:08:34 +02:00
Jan Skovgaard 9a4c022ea3 Remove stuff that has been commented out 2018-07-25 11:08:34 +02:00
Jan Skovgaard 808fc14b32 Set the default storageType for the Umbraco.Tags datatype to "Json", which is now going to be the default 2018-07-25 11:08:33 +02:00
Jan Skovgaard 92f0d0d2ea Add a new migration to set the default storageType for Umbraco.Tags datatype to CSV if it has not been set previously 2018-07-25 11:08:33 +02:00
Jan Skovgaard 9180ab4442 Reset commit to not break backwards compatibility mode 2018-07-25 11:08:33 +02:00
Jan Skovgaard 4e1e9e0687 Switch JSON to be the default storage option and changing the storage type text to say JSON is default and CSV is legacy 2018-07-25 11:08:32 +02:00
skidmow c264368042 U4-11528 Problem with length of culture in database (#2791) 2018-07-25 10:06:29 +02:00
Sébastien Sougnez ff8ea3ec6b Link to template from "document types" or "content" screen (#2784) 2018-07-25 08:36:09 +02:00
Kenn Jacobsen c85185bdb0 Visual improvements to Nested Content (U4-10742) (#2457) 2018-07-24 16:19:26 +02:00
agrath 43fd34ab80 U4-11152 Add visual indicator to trashed media items in the media pic… (#2542) 2018-07-24 16:10:30 +02:00
Stephan a35f67ecef Refactoring 2018-07-24 15:04:30 +02:00
Sebastiaan Janssen 794c7fc389 Merge pull request #2790 from agrath/U4-11531
U4-11531 When the grid editor initializes it can set the form state to dirty
2018-07-24 09:25:52 +02:00
Sebastiaan Janssen e0b1507056 Show/hide label field when label is toggled
Adds dib class to parent div to make the click target smaller
2018-07-23 23:22:52 +02:00
Stephan 053698baf6 Merge branch andyb/u4-11502 into temp8-11502 2018-07-23 15:12:52 +02:00
AndyButland 1be74589f2 Combined fallback parameters into an array that defines methods and priority to be used. 2018-07-21 15:58:49 +02:00
AndyButland 695f21eadb Removed unnecessary loop in looking up value from a fall-back language.
Put in a check to abort fall-back if there's a loop in language fall-backs.
2018-07-21 09:41:07 +02:00
AndyButland ecc75bc4c9 Allowed delete of langage via services even if used as a fall-back for other languages, by setting references to null before deleting 2018-07-21 08:24:08 +02:00
Stephan c7fabf84ba Merge branch origin/temp8 into temp8 2018-07-20 11:01:10 +02:00
Stephan d7e97ac771 Remove unused CodeAnnotations attributes, obsolete stuff 2018-07-20 10:59:25 +02:00
Stephan ef7be48cc5 Fix SqlTemplates concurrency 2018-07-20 10:41:22 +02:00
Shannon 88a7d56a08 gets inline/selection commands in place, things are looking better. 2018-07-20 16:40:31 +10:00
Shannon 829edf5307 removes unecessary skin/theme for tinymce 2018-07-20 16:32:10 +10:00
Gareth Evans 88b6f4e436 Guard gridController.addRow from setting form state to dirty if invoked from initSection 2018-07-20 11:42:52 +12:00
Shannon ab78242dd6 Grid pre-value fixing and updates tinymce with inline theme for the grid too 2018-07-20 01:30:40 +10:00
Shannon 223d5795c3 wip - newer tinymce, with the inlite/inline theme, updated config file, plenty of fixes, now need more fixes 2018-07-20 00:55:28 +10:00
Shannon 5fdaa451b8 fixes null check on linkpicker changes with anchors, fixes ng-true-value constant value 2018-07-19 22:35:05 +10:00
Shannon 18cd9ea1e8 WIP refactor commit for getting all variants at once saving, this requires pulling apart a lot of the models and corresponding binders and validators. 2018-07-19 19:32:07 +10:00
Shannon 888f8cfc56 Merge branch 'temp8' into temp-editing-all-variants
# Conflicts:
#	src/Umbraco.Web/Editors/ContentController.cs
#	src/Umbraco.Web/Models/Mapping/ContentMapperProfile.cs
#	src/Umbraco.Web/Models/Mapping/MediaMapperProfile.cs
2018-07-19 19:30:38 +10:00
Stephan d36ec60039 Fix IPropertyValueConverter determining HasValue 2018-07-19 11:02:51 +02:00
Sebastiaan Janssen b9d7046bbc Merge pull request #2788 from nathanwoulfe/temp-U4-6946
Updating #2742 - U4 6946 - Existing template file is overwritten when creating a new template in the backoffice
2018-07-19 10:28:24 +02:00
Sebastiaan Janssen 09dd5cf879 Merge pull request #2781 from Mundairson/temp8-U4-11428
U4-11428 CodeAnnotations classes have inconsistent constructor parameter order
2018-07-19 09:18:17 +02:00
Nathan Woulfe 06f014df61 remove TryGetViewPath as not needed 2018-07-19 08:28:07 +10:00
Sebastiaan Janssen f622a9154b Merge pull request #2763 from OptimisticCoder/U4-7030-Using-radiobuttonlist-prevalue-editor
U4-7030 enable use of radiobuttonlist pre editor
2018-07-18 15:29:20 +02:00
Mundairson d7d36c34be Removed empty block comments. 2018-07-18 14:29:10 +01:00
Sebastiaan Janssen 6f6c29ce43 Merge pull request #2782 from agrath/u4-11522
U4-11522 Add ~/.well-known to umbracoReservedUrls
2018-07-18 15:14:54 +02:00
Sebastiaan Janssen 26a004210e Merge pull request #2787 from leekelleher/U4-10561-1
U4-10561 - Bug fix for IsAncestor/IsDescendant extension methods
2018-07-18 14:50:06 +02:00
Sebastiaan Janssen d9459661eb Merge pull request #2785 from nathanwoulfe/temp-U4-11524
U4 11524 - icon alignment in help drawer
2018-07-18 14:49:31 +02:00
Stephan b1ef9c5aa8 U4-11502 misc fixes 2018-07-18 12:27:14 +02:00
leekelleher 2da5a522b0 Updated PublishedContent unit-test
to support the fix in commit 7a9a4a2fab

However this meant that I had to update a bunch of other unit-tests, due to hardcoded counts/references on the content XML.
2018-07-18 10:56:31 +01:00
leekelleher 7a9a4a2fab Fixes bug with comparing partial content paths
Raised here in a comment by @coolmikkel
https://github.com/umbraco/Umbraco-CMS/pull/2253#issuecomment-405751083
2018-07-18 10:54:19 +01:00
Stephan b5dc538905 Merge branch 'u4-11502' of https://github.com/AndyButland/Umbraco-CMS into temp8-11502 2018-07-18 11:13:22 +02:00
Stephan 6c526b24a0 Post-merge fixes 2018-07-18 10:32:50 +02:00
Shannon 1f1bb37a57 merges lang files 2018-07-18 16:08:38 +10:00
Shannon 959caf4d04 Fixes tests and merging issues, simplifies TabsAndPropertiesResolver since it doesn't need umbracocontext, only the MemberTabsAndPropertiesResolver one does 2018-07-18 15:42:12 +10:00
Shannon ec1d013004 Manually merges the IgnorePublishedContentCollisions change, removes more service locator pattern, removes ContextMapper with UmbracoContext and instead uses IUmbracoContextAccessor and adjusts some DI. 2018-07-18 14:34:32 +10:00
Nathan Woulfe fe648c8069 get view content in service methods rather than controller 2018-07-18 14:27:18 +10:00
Nathan Woulfe 017b5353db remove direct IO operation, replace with exisiting repository method 2018-07-18 14:02:26 +10:00
Shannon 66f9eb01c7 merge fixing and cleanup 2018-07-18 13:19:48 +10:00
Shannon 390514cd9d Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs
#	src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
#	src/Umbraco.Core/Models/Identity/IdentityModelMappings.cs
#	src/Umbraco.Core/Persistence/PetaPoco.cs
#	src/Umbraco.Core/Persistence/PetaPocoSqlExtensions.cs
#	src/Umbraco.Core/Security/BackOfficeUserManager.cs
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Core/Services/FileService.cs
#	src/Umbraco.Core/Services/IFileService.cs
#	src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs
#	src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.config
#	src/Umbraco.Tests/FrontEnd/UmbracoHelperTests.cs
#	src/Umbraco.Tests/Persistence/Querying/PetaPocoSqlTests.cs
#	src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
#	src/Umbraco.Web.UI.Client/src/less/property-editors.less
#	src/Umbraco.Web.UI.Client/src/routes.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.html
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/linkpicker/linkpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/linkpicker/linkpicker.html
#	src/Umbraco.Web.UI.Client/src/views/components/content/umb-content-node-info.html
#	src/Umbraco.Web.UI.Client/src/views/content/copy.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/email/email.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/tags/tags.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/tags/tags.html
#	src/Umbraco.Web.UI.Client/src/views/users/user.controller.js
#	src/Umbraco.Web.UI/config/splashes/noNodes.aspx
#	src/Umbraco.Web.UI/config/umbracoSettings.Release.config
#	src/Umbraco.Web.UI/config/umbracoSettings.config
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/fr.xml
#	src/Umbraco.Web/Editors/ContentController.cs
#	src/Umbraco.Web/Editors/MemberTypeController.cs
#	src/Umbraco.Web/Editors/TemplateController.cs
#	src/Umbraco.Web/PublishedContentExtensions.cs
#	src/Umbraco.Web/Routing/PublishedContentRequest.cs
#	src/Umbraco.Web/Routing/UrlProviderExtensions.cs
#	src/Umbraco.Web/UmbracoHelper.cs
#	src/Umbraco.Web/WebApi/Filters/EnsureUserPermissionForContentAttribute.cs
2018-07-18 13:19:14 +10:00
Shannon 309e0e6dc8 Merge remote-tracking branch 'origin/temp8' into temp-editing-all-variants 2018-07-18 11:38:00 +10:00
Shannon Deminick cf6a8956cd Merge pull request #2779 from umbraco/temp8-w112
Variations with Compositions
2018-07-18 11:32:59 +10:00
Shannon Deminick 438261beb8 Merge pull request #2780 from umbraco/temp8-w49
Allow IPropertyValueConverter to determine if a property has value
2018-07-18 11:28:12 +10:00
Nathan Woulfe 9488df823a remove inline styles in help drawer 2018-07-18 11:00:27 +10:00
Nathan Woulfe 1294512ce8 fix cropped icon, resize large to double small icon size 2018-07-18 10:06:08 +10:00
Nathan Woulfe 021b46120c adjust tree node heights when language picker is rendered 2018-07-18 08:47:04 +10:00
Stephan baead95c33 Comments and notes 2018-07-17 18:42:23 +02:00
Stephan c7c1c7e8fa Cleanup ISqlSyntaxProvider 2018-07-17 17:20:40 +02:00
Stephan 132b729dd9 Fix nuspec for AutoMapper 2018-07-17 15:51:39 +02:00
Shannon c2dae6f5a0 fixes js tests 2018-07-17 15:41:09 +10:00
Shannon e2bcf59b0f Fixes and documents the odd async usage for reading multipart in a model binder, fixes up navigation.service checks and adds unit tests for that 2018-07-17 15:33:57 +10:00
Shannon e9752cd5e1 Gets all list views working correctly with content apps, fixes various issues, cleans up a bunch of code and reduces amount of service locator. 2018-07-17 14:23:07 +10:00
Shannon 45f959fb6b updates tests 2018-07-17 11:53:46 +10:00
Gareth Evans ef897b2d3e Add ~/.well-known to umbracoReservedUrls to support letsencrypt/certifytheweb ootb 2018-07-17 12:25:57 +12:00
Mundairson 9e21a72515 Changed the constructors so the two overloads have the same parameter in the same position. 2018-07-16 22:12:03 +01:00
Mundairson e17d2fbfc0 Changed the constructors so the two overloads have the same parameter in the same position. 2018-07-16 22:09:03 +01:00
Mundairson 9b5455c186 Changed the constructors so the two overloads have the same parameter in the same position. 2018-07-16 22:06:45 +01:00
Stephan 05317bb5e6 Allow IPropertyValueConverter to determine if a property has value 2018-07-16 19:14:00 +02:00
Sebastiaan Janssen 157b66dc4c Fixes the persistence and correct display of the sort order 2018-07-16 18:08:20 +02:00
Stephan 874ec142bf Variations with Compositions 2018-07-16 17:21:26 +02:00
Sebastiaan Janssen 596157f90b Default to section route if not specified 2018-07-16 16:00:05 +02:00
Sebastiaan Janssen 2a080da666 Merge pull request #2603 from mvanhelmont/patch-2
U4-11275 routPath in custom tree always needs a id
2018-07-16 15:56:38 +02:00
Shannon c8e65f085b Gets content apps working nicer so we can have a proper view model that is discoverable, updates list views to use the new way, removes strange hack of copying a list view from a tab that doesn't exist. 2018-07-16 22:32:46 +10:00
Sebastiaan Janssen 014e50a13a Merge pull request #2148 from LennardF1989/U4-10345
Added possibilty to ignore collisions from an IContentFinder (U4-10345)
2018-07-16 13:38:23 +02:00
Shannon 9a2aa8fff0 Fixes up tests 2018-07-16 20:24:49 +10:00
Sebastiaan Janssen 9fc3dfdbee Merge pull request #2771 from hartviglarsen/temp-U4-11516
U4-11516 Updates the links in the noNodes splash screen
2018-07-16 12:03:07 +02:00
Sebastiaan Janssen 565c9ef95d Cleans up some code and fixes sorting / storing the correct order. 2018-07-16 11:41:10 +02:00
Sebastiaan Janssen 973a6471f3 Merge branch 'dev-v7-U4-9025-2' of https://github.com/bjarnef/Umbraco-CMS into bjarnef-dev-v7-U4-9025-2 2018-07-16 11:09:16 +02:00
Sebastiaan Janssen a87987e5e9 Merge pull request #2772 from BatJan/features/temp-U4-11495
U4-11495 - Add border to custom regex in property settings
2018-07-16 11:06:22 +02:00
Sebastiaan Janssen dad318834f Merge pull request #2776 from agrath/U4-9309
U4-9309 When node is copied, copy is logged as writer
2018-07-16 11:03:17 +02:00
Sebastiaan Janssen 4e099f7509 Merge pull request #2774 from BatJan/features/temp-U4-11519
U4-11519 - Use the umb-toggle directive in the "Copy" dialog
2018-07-16 11:00:14 +02:00
Lee Kelleher abf61417ad U4-10561 - Performance improvement for IsAncestor/IsDescendant extension methods (#2768) 2018-07-16 10:44:54 +02:00
Shannon d3ad0b8e03 Merge remote-tracking branch 'origin/temp8' into temp-editing-all-variants 2018-07-16 18:41:24 +10:00
Shannon 7cc300f59c Gets all of the content for both variant and invariant content loading in the editor and for split views too 2018-07-16 18:40:47 +10:00
Gareth Evans 615d57a78b U4-10898 U4-9309 When node is copied, the copy is logged as being completed by the original node writer, not the person performing the copy 2018-07-16 16:43:20 +12:00
Nathan Woulfe 53cb961234 for discussion... 2018-07-16 14:36:15 +10:00
Bjarne Fyrstenborg 6ac654a36b Add different cursor styling on sortable thumbnail handle 2018-07-15 22:21:55 +02:00
Bjarne Fyrstenborg ec78e99ca0 Add sortorder to prevalue 2018-07-15 22:07:06 +02:00
Bjarne Fyrstenborg 912b101d0a Order items by sort order 2018-07-15 21:44:03 +02:00
Bjarne Fyrstenborg 130dabfdce Add monospace font on pre elements to ensure same width of elements 2018-07-15 20:23:54 +02:00
Bjarne Fyrstenborg d697e46f24 Configurate sortable on color picker property editor 2018-07-15 20:22:12 +02:00
Bjarne Fyrstenborg 1296214400 Localization of text in color picker 2018-07-15 20:20:57 +02:00
Jan Skovgaard e7932b6ae4 Replace the checkboxes with the umb-toggle directive using a toggleHandler in the controller 2018-07-15 18:00:20 +02:00
Jan Skovgaard 12dbb0ec20 Add a border and other adjustments specifically for the "validation" textarea when setting up a datatype on a document type 2018-07-15 12:26:35 +02:00
Sebastiaan Janssen 24e9136f57 Fixes U4-11517 - E-mail property editor triggers validation when validation has not been enabled in the settings 2018-07-15 08:36:37 +02:00
Sebastiaan Janssen 1fc09cda0f Following small R# hints, removed commented out line 2018-07-15 08:01:16 +02:00
Sebastiaan Janssen 43d3d6b235 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-07-15 07:58:35 +02:00
Sebastiaan Janssen 66b2ad9fdb Merge pull request #2770 from ssougnez/temp-U4-11513
Added "Select" and "AndSelect" to "PetaPoco"
2018-07-15 07:57:28 +02:00
ssougnez 65d68aefad - Removed new obsolete method
- Fix tests
2018-07-14 20:18:17 +02:00
Sebastiaan Janssen c2039ef01f Merge pull request #2462 from iofsauron/U4-10975
UDUF (U4-10975) Failed Logon Attempts resets to 0 after maximum number of attempts
2018-07-14 19:04:20 +02:00
Sebastiaan Janssen 722bc7b110 Merge branch 'iofsauron-U4-10975' into dev-v7 2018-07-14 18:58:42 +02:00
Sebastiaan Janssen 73b9374006 Merge branch 'U4-10975' of https://github.com/iofsauron/Umbraco-CMS into iofsauron-U4-10975 2018-07-14 18:57:43 +02:00
Sebastiaan Janssen c24683b014 Merge pull request #2463 from Sam7/U4-10849
U4-10849 [uDuf] fixed Umbraco user field "User Last updated" and "last locke…
2018-07-14 18:54:34 +02:00
Sebastiaan Janssen c0f102f1e0 Merge branch 'pr_2463' into dev-v7 2018-07-14 18:47:42 +02:00
Sebastiaan Janssen ca993187b0 Fixes unit tests after adding an extra node in the cache 2018-07-14 17:37:14 +02:00
Sebastiaan Janssen 861b2c61a8 Adds a few more test cases 2018-07-14 17:16:59 +02:00
Sebastiaan Janssen 9daae665e4 Adds unit tests for IsAncestor(OrSelf) and IsDescendant(OrSelf) 2018-07-14 17:09:02 +02:00
Sebastiaan Janssen 972a9da2f1 Merge pull request #2769 from leekelleher/U4-11514
U4-11514 - Content Picker adds sortable options to restrict within container
2018-07-14 16:14:03 +02:00
Morten Larsen 7a07649e2b Update links in the noNodes splash screen 2018-07-14 10:26:46 +02:00
ssougnez a03173da4d Update the code to use the GetFieldName method instead of recreating it 2018-07-14 00:11:04 +02:00
sebastien-sougnez c841f32ba6 Added "Select" and "AndSelect" to "PetaPocoSqlExtensions" to be able to select columns based on predicated instead of string values. 2018-07-13 15:10:21 +02:00
leekelleher cf2938151f U4-11514 - Content Picker adds sortable options to restrict within container 2018-07-13 12:34:06 +01:00
Sebastiaan Janssen 1908725a9a Merge pull request #2742 from nathanwoulfe/temp-U4-6946
U4 6946 - Existing template file is overwritten when creating a new template in the backoffice
2018-07-13 11:12:16 +02:00
Shannon 6ffcea8aae Gets the content loading into split view 2018-07-13 17:27:34 +10:00
Shannon 0e41c2dfcd Cutures can now be changed and the editor updated to the variant specific values without reloading, split view is re-enabled so working on getting that showing now. 2018-07-13 15:53:59 +10:00
Shannon 072c1a6764 WIP - editing all variants at once, this is getting things wired up to display a content item, lots of TODOs added, models and mappings refactored, content apps put in c# model, etc... 2018-07-13 12:45:04 +10:00
AndyButland 91a0ee2c93 Refactored to object graph reference of fallback language to just use id 2018-07-12 20:52:02 +01:00
Stephan 2051caaa01 Post-merge fixes 2018-07-12 18:05:48 +02:00
Stephan 20293fb50d Remove non-existing ps1 from solution files 2018-07-12 16:08:47 +02:00
Shannon 7e77cd334d fix merge 2018-07-12 22:57:29 +10:00
Tim Payne 229e6dd043 Retarget for 7.12.0 2018-07-12 13:51:05 +01:00
Shannon a8ad55ef3c Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8
# Conflicts:
#	src/Umbraco.Tests/FrontEnd/UmbracoHelperTests.cs
#	src/Umbraco.Web/UmbracoHelper.cs
2018-07-12 22:41:33 +10:00
Shannon 41407d27d0 hopefully the last merge 2018-07-12 22:39:30 +10:00
Shannon 7cec861323 more manual merges 2018-07-12 22:18:03 +10:00
Sebastiaan Janssen b4a941e367 Merge pull request #2766 from Mundairson/dev-v7-U4-11509
Correct Umbraco.Web.UmbracoHelper and tests to coding standards
2018-07-12 13:17:47 +02:00
Sebastiaan Janssen 5a8f37ff02 Merge pull request #2767 from mikecp/mikecp-update-fr
Synchronise fr.xml file with en.xml file + translate new stuff
2018-07-12 13:17:11 +02:00
Sebastiaan Janssen 9e35748040 Merge pull request #2357 from Dexmoor/U4-10779
U4-10779 Allow Members tree to work independently of Member Types tree
2018-07-12 13:13:04 +02:00
Sebastiaan Janssen 374011ec9e Reverts some whitespace changes 2018-07-12 13:02:58 +02:00
Michael Latouche 2a2cea0b7d Update fr.xml 2018-07-12 13:00:33 +02:00
Sebastiaan Janssen c56dc63150 Merge pull request #2702 from nathanwoulfe/temp-U4-4732
U4-4732 Anchor missing in TinyMCE of Umbraco 7.x
2018-07-12 12:39:23 +02:00
AndyButland d1a31ad8f8 Removed index from fallback language column 2018-07-12 08:12:54 +01:00
Nathan Woulfe 57c9acc874 Merge branch 'temp-U4-6946' of https://github.com/nathanwoulfe/umbraco-cms into temp-U4-6946 2018-07-12 14:40:56 +10:00
Nathan Woulfe f9761ad2f8 auto save on create to fetch existing view 2018-07-12 14:32:13 +10:00
Nathan Woulfe f2fafbc631 handle manual/external links, add label to input, update placeholder 2018-07-12 11:37:04 +10:00
AndyButland 50c5b2ed92 Added test for fallback languages 2018-07-11 22:15:58 +01:00
Mundairson 583b25a85d Correct Umbraco.Web.UmbracoHelper and tests to be coding standards compliant. 2018-07-11 17:24:36 +01:00
Sebastiaan Janssen f966c38513 Merge pull request #2762 from nathanwoulfe/temp-U4-11107
U4-11107 Link to the page is not active after saving content without publish
2018-07-11 16:29:17 +02:00
Sebastiaan Janssen f8b6b8c9ad Merge pull request #2722 from nathanwoulfe/temp-U4-11259
U4-11259: Duplicates in tag editor throws error and breaks property editor
2018-07-11 16:11:31 +02:00
Sebastiaan Janssen 39b2e6543c Merge pull request #2757 from Mundairson/temp8-U4-11492
U4-11492 Clean Umbraco.Web.UmbracoHelper [v8]
2018-07-11 15:14:27 +02:00
AndyButland f868bc9589 Added fall back language database migration to UmbracoPlan 2018-07-11 09:23:26 +02:00
Shannon 92f85fad4a Merging dictionary changes 2018-07-11 16:59:05 +10:00
Shannon ebe224fb6e Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-07-11 16:43:21 +10:00
Shannon 8521a405f7 manually merging other files 2018-07-11 16:43:09 +10:00
Shannon 13d6dfd234 renames DictionaryTreeController to have the correct file name 2018-07-11 16:42:25 +10:00
Nathan Woulfe 914a8fdc2b revert link change, config test now passes 2018-07-11 16:27:53 +10:00
Shannon 7aa413d558 Merge remote-tracking branch 'origin/dev-v7' into temp8 (after fixing)
# Conflicts:
#	build/Modules/Umbraco.Build/Build-UmbracoDocs.ps1
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Core/Constants-Applications.cs
#	src/Umbraco.Core/Models/Rdbms/ConsentDto.cs
#	src/Umbraco.Core/Persistence/DatabaseSchemaHelper.cs
#	src/Umbraco.Core/Persistence/Repositories/AuditRepository.cs
#	src/Umbraco.Core/PropertyEditors/ValueConverters/GridValueConverter.cs
#	src/Umbraco.Core/Services/ConsentService.cs
#	src/Umbraco.Core/Services/IRelationService.cs
#	src/Umbraco.Core/Services/RelationService.cs
#	src/Umbraco.Tests/Plugins/PluginManagerTests.cs
#	src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs
#	src/Umbraco.Tests/Services/ConsentServiceTests.cs
#	src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js
#	src/Umbraco.Web.UI.Client/src/common/directives/components/editor/umbeditorheader.directive.js
#	src/Umbraco.Web.UI.Client/src/common/directives/components/tree/umbtree.directive.js
#	src/Umbraco.Web.UI.Client/src/common/resources/contenttype.resource.js
#	src/Umbraco.Web.UI.Client/src/common/resources/entity.resource.js
#	src/Umbraco.Web.UI.Client/src/common/services/tree.service.js
#	src/Umbraco.Web.UI.Client/src/less/application/grid.less
#	src/Umbraco.Web.UI.Client/src/less/forms.less
#	src/Umbraco.Web.UI.Client/src/less/main.less
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/login.html
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.html
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/mediaPicker/mediapicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/treepicker/treepicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/components/content/umb-content-node-info.html
#	src/Umbraco.Web.UI.Client/src/views/components/html/umb-control-group.html
#	src/Umbraco.Web.UI.Client/src/views/components/users/change-password.html
#	src/Umbraco.Web.UI.Client/src/views/content/content.copy.controller.js
#	src/Umbraco.Web.UI.Client/src/views/content/content.move.controller.js
#	src/Umbraco.Web.UI.Client/src/views/datatypes/datatype.edit.controller.js
#	src/Umbraco.Web.UI.Client/src/views/datatypes/edit.html
#	src/Umbraco.Web.UI.Client/src/views/documenttypes/views/permissions/permissions.html
#	src/Umbraco.Web.UI.Client/src/views/media/media.move.controller.js
#	src/Umbraco.Web.UI.Client/src/views/mediatypes/edit.controller.js
#	src/Umbraco.Web.UI.Client/src/views/mediatypes/views/permissions/permissions.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/boolean/boolean.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/users/views/user/details.html
#	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/RegisterMember.cshtml
#	src/Umbraco.Web.UI/config/EmbeddedMedia.Release.config
#	src/Umbraco.Web.UI/config/EmbeddedMedia.config
#	src/Umbraco.Web.UI/config/trees.Release.config
#	src/Umbraco.Web.UI/config/trees.config
#	src/Umbraco.Web.UI/config/umbracoSettings.config
#	src/Umbraco.Web.UI/umbraco/Views/Default.cshtml
#	src/Umbraco.Web.UI/umbraco/config/create/UI.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/da.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/it.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/nl.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/ru.xml
#	src/Umbraco.Web/Editors/BackOfficeController.cs
#	src/Umbraco.Web/Editors/BackOfficeServerVariables.cs
#	src/Umbraco.Web/Editors/ContentTypeController.cs
#	src/Umbraco.Web/Editors/MacroController.cs
#	src/Umbraco.Web/Editors/MemberController.cs
#	src/Umbraco.Web/Models/RegisterModel.cs
#	src/Umbraco.Web/PropertyEditors/TagsPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/ValueConverters/MacroContainerValueConverter.cs
#	src/Umbraco.Web/PublishedContentExtensions.cs
#	src/Umbraco.Web/Trees/ContentTreeController.cs
#	src/Umbraco.Web/Trees/ContentTreeControllerBase.cs
#	src/Umbraco.Web/Trees/TreeControllerBase.cs
#	src/Umbraco.Web/UmbracoHelper.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/settings/EditDictionaryItem.aspx
#	src/Umbraco.Web/umbraco.presentation/umbraco/settings/EditDictionaryItem.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/settings/EditDictionaryItem.aspx.designer.cs
2018-07-11 15:58:48 +10:00
Nathan Woulfe f416fc6919 clear preview cookie when clicking the info-box link 2018-07-11 15:25:39 +10:00
Mundairson 85c9e66cee Implemented changes from first PR code review. 2018-07-11 00:12:18 +01:00
Michael Latouche ca13782e2a Update fr.xml 2018-07-10 13:57:40 +02:00
Stephan 2607e5b5a1 ContentVariation is not a Flag enum 2018-07-10 11:01:52 +02:00
Stephan 9ca298543f Merge branch 'hackathon-automapper-update' of https://github.com/mzajkowski/Umbraco-CMS into temp8-2747 2018-07-10 09:37:54 +02:00
Stephan ad633c7606 Merge branch 'temp8-2758' into temp8 2018-07-10 09:36:28 +02:00
Stephan 47cfe9c6c0 Merge branch 'temp8' into temp8-2758 2018-07-10 09:34:25 +02:00
Shannon 37871f4de5 updated package-lock 2018-07-10 13:19:13 +10:00
Shannon Deminick 7132ccdd99 Merge pull request #2760 from umbraco/temp8-variants
Variants Refactoring [v8]
2018-07-10 13:05:13 +10:00
Shannon 7250b3d491 Fixes null checks on all parts of VariationContextAccessor.VariationContext.Culture and fixes translations with tokens for url collisions 2018-07-10 12:43:07 +10:00
Stephan 02de09eaf7 Explain last merge 2018-07-09 18:26:15 +02:00
Stephan 7c43fbd0c6 Merge pull request #2761 from mzajkowski/hackathon-publishing
Removed bulk publishing action from the content tree (temp) [v8hackaton]
2018-07-09 18:24:43 +02:00
Stephan 6f139cd72a Misc cleanup of PR 2018-07-09 18:08:03 +02:00
Stephan 97d4d48c4d Merge branch 'v8hack-delete-obselete' of https://github.com/AnthonyCogworks/Umbraco-CMS into temp8-2758 2018-07-09 17:35:41 +02:00
Stephan e644b63ba6 Misc cleanup of PR 2018-07-09 17:29:50 +02:00
Stephan 52be2d7864 Merge branch 'v8hackathon-library-media-remove' of https://github.com/AnthonyCogworks/Umbraco-CMS into temp-2748 2018-07-09 16:34:44 +02:00
Michael Latouche 9d5b089227 Update fr.xml 2018-07-09 13:05:15 +02:00
Stephan 1f37fb2c67 Merge branch 'v8hackathon-library-delete' of https://github.com/AnthonyCogworks/Umbraco-CMS into temp8-2746 2018-07-09 13:02:25 +02:00
Michael Latouche 916340f1f4 Merge pull request #4 from umbraco/dev-v7
merging back dev-v7
2018-07-09 12:58:37 +02:00
Stephan 00bcef3ba6 Misc cleanup of PR 2018-07-09 12:40:57 +02:00
Stephan f4983a2b21 Merge branch 'hackathon-remove-imediaserviceoperation' of https://github.com/AndyFelton/Umbraco-CMS into temp8-mediaserviceops 2018-07-09 11:49:56 +02:00
Stephan ec9d4dc565 Merge pull request #2714 from umbraco/temp-w77
Fixes models builder false positive error on media and member type mo…
2018-07-09 10:42:32 +02:00
AndyButland 11871dc4f7 Changed the services reference in the published value fall back via language implementation to constructor injection 2018-07-08 16:14:58 +02:00
AndyButland aadd843c33 Implemented published value fall back via language 2018-07-08 16:14:58 +02:00
AndyButland 3c13b7bd70 Added and updated tests for fall back languages 2018-07-08 16:14:58 +02:00
AndyButland 4e859cd88b Prevent delete of a language used as a fall-back for another language 2018-07-08 16:14:57 +02:00
AndyButland 8a34ec8864 Prevented creation of circular fall-back language paths. Allowed for update to no fall-back language. 2018-07-08 16:14:57 +02:00
AndyButland 53e96b25f6 Save of fall-back language on create and update of language 2018-07-08 16:14:57 +02:00
AndyButland 660fe2d773 Localised fallback language related messages. Filtered out current languge from list of available fall back languages for selection. 2018-07-08 16:14:57 +02:00
AndyButland 592de8bebc Model, retrieval, mapping and display for fall back language editing 2018-07-08 16:14:47 +02:00
Dan Patching 80412f56ee enable use of radiobuttonlist pre editor 2018-07-08 14:15:27 +01:00
Warren Buckley 2bae3e2eda Merge pull request #2759 from umbraco/temp8-82
fixes: Infinite editing support for content picker
2018-07-06 14:43:07 +01:00
Mads Rasmussen 3caafc03f1 Merge branch 'temp8' into temp8-82
# Conflicts:
#	src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml
2018-07-06 15:41:08 +02:00
Stephan 6bcf1e4cd8 Merge branch temp8 into temp8-variants 2018-07-06 12:29:18 +02:00
Stephan ef28f23c61 Renormalize 2018-07-06 12:27:39 +02:00
Stephan 860def507b Fix .editorconfig line endings 2018-07-06 12:26:14 +02:00
Stephan fdfdd541e3 Content Url and Audit (in progress) 2018-07-06 12:20:10 +02:00
Stephan e9a31437e1 Fix .editorconfig line endings 2018-07-06 12:20:05 +02:00
Nathan Woulfe d3c8b46e00 replace node.published with node.hasPublishedVersion 2018-07-06 09:52:43 +10:00
Nathan Woulfe 416cea796e clean up usings 2018-07-06 09:38:00 +10:00
Nathan Woulfe e34926acd6 check for existing file content when creating/saving new template 2018-07-06 09:38:00 +10:00
James Coxhead 3078be93b6 Remove disabled users option from users list view filter 2018-07-05 21:07:12 +01:00
Mads Rasmussen b63af8b56f convert the last pickers in the user section to infinite editors 2018-07-05 20:22:27 +02:00
Stephan 75d685ef43 NuCache - fix parent published 2018-07-05 17:08:40 +02:00
Stephan 0af18b2376 Fix publishing 2018-07-05 17:07:40 +02:00
Mads Rasmussen 10207a1c50 remove unused overlay 2018-07-05 10:59:33 +02:00
Marcin Zajkowski 8f7bc1a083 Merge remote-tracking branch 'origin/temp8' into hackathon-publishing 2018-07-04 22:16:02 +02:00
Mads Rasmussen a9fd88567e update treePickers on user group to use infinite editing 2018-07-04 20:19:54 +02:00
Mads Rasmussen cabc3b7567 fix up infinite trees in insert overlay and change insert overlay to infinite editing 2018-07-04 19:47:06 +02:00
Mads Rasmussen 579dc058aa ues infinite tree picker in prevalue editors 2018-07-04 14:28:37 +02:00
Warren Buckley a57658b274 Merge pull request #2737 from umbraco/temp8-w80
Fixes - Create user confirmation page gives angulajs error
2018-07-04 13:24:52 +01:00
Mads Rasmussen 8dbc4cb2c5 use infinite tree picker in member picker property editor 2018-07-04 13:46:09 +02:00
Mads Rasmussen e74112ee2a use infinite tree picker in related links property editor 2018-07-04 13:44:20 +02:00
Mads Rasmussen be9db43e21 use infinite tree for partial view picker 2018-07-04 13:17:37 +02:00
Mads Rasmussen 8b86c372dc use infinite tree picker in media picker prevalues 2018-07-04 13:04:20 +02:00
Mads Rasmussen 06d813736d rename queryBuilder controller 2018-07-04 12:56:14 +02:00
Mads Rasmussen c087f09071 fix check for member section in treePicker 2018-07-04 10:57:52 +02:00
Mads Rasmussen 6637cc47ee use infinite treePicker in when editing a user 2018-07-04 10:57:27 +02:00
Stephan 0d3ea107c5 Deal with some FIXME 2018-07-04 10:41:08 +02:00
Mads Rasmussen b7f187b69a use infinite queryBuilder and treePicker in partial views 2018-07-04 09:54:20 +02:00
Mads Rasmussen 534788cc38 use infinite queryBuilder and treePicker in template editor 2018-07-04 09:48:40 +02:00
Mads Rasmussen 5466287063 use infinite treePicker and queryBuilder in the macro partial views editor 2018-07-04 09:45:23 +02:00
Mads Rasmussen 49e35367f1 add infinite query builder and tree picker 2018-07-04 09:43:41 +02:00
Stephan e8aa6701ef Renormalize 2018-07-04 09:03:59 +02:00
Stephan b3696c29cc Refactor Variants at service level 2018-07-04 08:59:50 +02:00
Mads Rasmussen afd8e7d404 remove code for content mini editor 2018-07-03 16:06:37 +02:00
Mads Rasmussen 14365e3894 remove function to open old mini content editor 2018-07-03 15:59:16 +02:00
Mads Rasmussen 3587039406 add save and close button - show the correct button based on permissions 2018-07-03 15:55:29 +02:00
Mads Rasmussen 3750ebf882 add publish and close button to infinite content editor 2018-07-03 13:07:39 +02:00
Stephan 8df060fb00 Fix migration 2018-07-03 13:05:21 +02:00
Stephan 570ca464e7 Migrate variations 2018-07-03 13:05:21 +02:00
Stephan ecf9a928d7 Refactor variations 2018-07-03 13:05:21 +02:00
Stephan a697608529 Fix un/publishing with variants + urls 2018-07-03 13:05:20 +02:00
Stephan 9c3e8b8e3c Fix language inconsistencies management 2018-07-03 13:04:27 +02:00
Stephan b931ce0123 Fix CoreRuntime upgrade detection 2018-07-03 13:04:27 +02:00
Mads Rasmussen fccd0b4f42 Don't allow to change the content variant when using infinite editing. 2018-07-03 11:10:19 +02:00
Mads Rasmussen b10c0e7f4c don't sync the content tree when in infinite mode 2018-07-03 10:24:17 +02:00
Mads Rasmussen c23d6f12ac Hide content actions button when in infinite mode 2018-07-03 10:19:22 +02:00
Marcin Zajkowski 0a168986cb Merge branch 'temp8' into hackathon-automapper-update 2018-07-03 02:04:30 +02:00
Marcin Zajkowski 618897aa3f Merge remote-tracking branch 'origin/temp8' into hackathon-publishing 2018-07-03 01:58:02 +02:00
Mads Rasmussen e6e619b967 open regular content editor instead of mini content editor 2018-07-02 15:57:16 +02:00
Mads Rasmussen a5467bc277 delete old tree picker 2018-07-02 14:16:41 +02:00
Mads Rasmussen c0af8de493 use treepicker infinite editor instead of overlay verson 2018-07-02 14:15:39 +02:00
Mads Rasmussen 9bc1f1e468 add tree picker infinite editor files 2018-07-02 14:14:52 +02:00
Mads Rasmussen d181ab193f add content picker to editorService 2018-07-02 14:14:04 +02:00
Mads Rasmussen b6b44e30f6 Merge pull request #2732 from umbraco/temp8-83
fixes: infinite editing - change doc type from content node
2018-07-02 12:50:27 +02:00
Mads Rasmussen 41a3dc862e fix js error 2018-07-02 12:44:53 +02:00
Anthony 40f04f7510 Fixed unintended whitespace 2018-07-02 10:47:43 +01:00
Anthony 96a89c0166 Re-added attributes which were mistakenly deleted 2018-07-02 10:16:20 +01:00
Mads Rasmussen 451f894976 Merge branch 'temp8' into temp8-83
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/documenttypes/edit.controller.js
#	src/Umbraco.Web.UI.Client/src/views/media/media.edit.controller.js
#	src/Umbraco.Web.UI.Client/src/views/mediatypes/edit.controller.js
#	src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml
2018-07-02 10:07:50 +02:00
Anthony 43fdd691fe Removed obsolete methods from Umbraco.Core which are not used 2018-07-01 18:58:58 +01:00
Anthony 2f7ddb20db Removed obsolete file from Umbraoc.Examine which is not used. 2018-07-01 18:16:47 +01:00
Anthony 372d0f7c3c Removed files from Umbraco.Web which are not used 2018-07-01 18:06:25 +01:00
Anthony 7affbbd186 Removed obsolete methods from Umbraco.Web which are not used. 2018-07-01 18:06:00 +01:00
Mundairson d4d90e1d4d Corrected test name to match semantics. 2018-07-01 16:33:48 +01:00
Mundairson 082bf484ed Clean tests. 2018-07-01 16:20:02 +01:00
Mundairson 1879cfe029 Restricted the UDI set up and tear down to only the UDI tests. 2018-07-01 15:36:55 +01:00
Mundairson 7caf7e6a78 Removed unneeded usings. 2018-07-01 11:28:14 +01:00
Mundairson 9f04a9de9c Refactored simple conversion methods.
Added unit tests to cover the methods.
2018-07-01 11:27:49 +01:00
Jonas Pyfferoen ffccad642e Rewrite exportdocumenttype.aspx to Angular 2018-06-30 19:43:35 +02:00
Stephan c95340ab78 Merge branch 'ismailmayat-convert-model-factories-to-static-classes' into temp8 2018-06-30 11:09:41 +02:00
Stephan 9cd9470f87 Merge branch 'temp8' into ismailmayat-convert-model-factories-to-static-classes 2018-06-30 11:09:07 +02:00
Stephan cc4815200e Revert "Removed obsolete method from WebProfileProvider" (needed!)
This reverts commit 5d3309dbf1.
2018-06-30 11:08:30 +02:00
Stephan 3c1b8de323 Fix projects 2018-06-30 11:07:10 +02:00
Stephan 2386845347 Merge branch 'convert-model-factories-to-static-classes' of https://github.com/ismailmayat/Umbraco-CMS into ismailmayat-convert-model-factories-to-static-classes 2018-06-29 20:05:11 +02:00
Stephan 619d24ec3c Merge branch temp8 into ismailmayat-convert-model-factories-to-static-classes 2018-06-29 19:58:39 +02:00
Marcin Zajkowski 0e9b7bfccc Republish action removed from the default content tree 2018-06-29 19:55:50 +02:00
Stephan 7a615133ff Renormalize 2018-06-29 19:52:40 +02:00
Stephan c1f3de7e5c Umbraco.Web.UI/Umbraco not /umbraco 2018-06-29 19:51:59 +02:00
Ismail Mayat 98eae84d56 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into convert-model-factories-to-static-classes
# Conflicts:
#	src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs
2018-06-29 18:30:51 +01:00
Stephan 0364e1b176 Remove unused using statement 2018-06-29 17:17:18 +02:00
Stephan c2cfdfd746 Merge branch 'convert-model-factories-to-static-classes' of https://github.com/ismailmayat/Umbraco-CMS into ismailmayat-convert-model-factories-to-static-classes 2018-06-29 16:54:09 +02:00
Stephan d12fa45571 Merge branch 'ed-parry-hackathon-obsolete-action-constructors' into temp8 2018-06-29 16:52:07 +02:00
Stephan ee87d00ffe Merge branch 'hackathon-obsolete-action-constructors' of https://github.com/ed-parry/Umbraco-CMS into ed-parry-hackathon-obsolete-action-constructors 2018-06-29 16:49:12 +02:00
Stephan 6a05c556b5 Merge pull request #2751 from lkoruba/hackathon-use-logger-warn-with-func
(V8 Hackathon) use logger warn with func<string>
2018-06-29 16:43:22 +02:00
Stephan ed81214e87 Merge pull request #2752 from LottePitcher/patch-1
Correcting broken link to current v8 branch in CONTRIBUTING.md
2018-06-29 16:40:38 +02:00
Ismail Mayat 0439812607 Merge remote-tracking branch 'origin/convert-model-factories-to-static-classes' into convert-model-factories-to-static-classes 2018-06-29 15:32:13 +01:00
Ismail Mayat a0519be6a8 remove this file it does nothing 2018-06-29 15:31:14 +01:00
Ismail Mayat f40af21e55 make static again needs another pair of eyes to ensure nothing has been broken 2018-06-29 15:31:14 +01:00
Ismail Mayat 3c27f95397 make static 2018-06-29 15:31:14 +01:00
Ismail Mayat 79ce8a29ae made static, however this has been refactored will need extra sanity checking to ensure nothing has been broken 2018-06-29 15:31:13 +01:00
Lotte Pitcher 2a532e6993 Making DictionaryTranslationFactory static and callers 2018-06-29 15:31:13 +01:00
Ismail Mayat ef07efcfba remove unused usings 2018-06-29 15:31:13 +01:00
Ismail Mayat 9e16d92c99 tasktype now static 2018-06-29 15:31:13 +01:00
Ismail Mayat aca08a8021 taskfactory now static updated callers 2018-06-29 15:31:12 +01:00
Ismail Mayat 4f4dc922e0 server registration now static 2018-06-29 15:31:12 +01:00
Ismail Mayat 69a103ce3d make static update callers 2018-06-29 15:31:12 +01:00
Ismail Mayat fa7382d073 formatting and also remove method that is not used and is throwing exception to say its not implemented 2018-06-29 15:31:12 +01:00
Ismail Mayat 53adf532d1 make membertype static 2018-06-29 15:31:11 +01:00
Ismail Mayat 3c8a870dfa membergroup made static 2018-06-29 15:31:11 +01:00
Ismail Mayat de2322e384 another class and its callers made static 2018-06-29 15:31:11 +01:00
Ismail Mayat 2c9b128daf make static 2018-06-29 15:31:11 +01:00
Ismail Mayat 77168c7d10 make static 2018-06-29 15:31:10 +01:00
Ismail Mayat cfca39274f make static and update calling methods 2018-06-29 15:31:10 +01:00
Ismail Mayat 59f67ffd19 fix this call 2018-06-29 15:31:10 +01:00
Ismail Mayat 427d4e4655 update calls to the old factory which is now static 2018-06-29 15:31:10 +01:00
Ismail Mayat 931baffb45 made class and methods static also removed unused using 2018-06-29 15:31:09 +01:00
Anthony d38c856923 Removed unused method. 2018-06-29 15:26:05 +01:00
lkoruba 549a030d91 Fixed concatenation of 4 lines 2018-06-29 16:10:04 +02:00
Ismail Mayat 1dab7e5261 remove this file it does nothing 2018-06-29 15:02:43 +01:00
Ed Parry 52b7be0f15 Removed obsolete constructors from actions 2018-06-29 15:01:24 +01:00
Ismail Mayat 35660a2131 make static again needs another pair of eyes to ensure nothing has been broken 2018-06-29 14:59:14 +01:00
Lotte Pitcher 6fac55595d Correcting broken link to current v8 branch 2018-06-29 14:45:45 +01:00
Ismail Mayat f343d98391 make static 2018-06-29 14:38:50 +01:00
lkoruba b515f24c16 Change calls to logger.Warn method to use Func<string> second part 2018-06-29 15:35:56 +02:00
Ismail Mayat 8f31ea7b3d made static, however this has been refactored will need extra sanity checking to ensure nothing has been broken 2018-06-29 14:30:20 +01:00
Andy Felton c56b983cd6 Merged methods from IMediaService to IMediaServiceOperations
Moved methods from IMediaServer to IMediaServiceOperations, fixed tests and other code which depends on these.
2018-06-29 14:18:11 +01:00
Sebastiaan Janssen db230aa45d Merge pull request #2745 from aburok/hackathon-use-logger-info-with-func
Hackathon use logger info with func
2018-06-29 15:13:53 +02:00
lkoruba 8359ea5862 Revoke files where string is not concatenated 2018-06-29 15:08:35 +02:00
Marcin Zajkowski e350ab89ca Updated nuspec file 2018-06-29 15:04:43 +02:00
Anthony b3a8161b25 Removed library.cs and it cache settings 2018-06-29 13:56:00 +01:00
Marcin Zajkowski 449b6af70e Updated AutoMapper to the latest (7.0.1) 2018-06-29 14:54:11 +02:00
lkoruba 7e4f2957a3 Change calls to logger.Warn method to use Func<string> parameter 2018-06-29 14:53:41 +02:00
Sebastiaan Janssen 8ad4848536 Merge pull request #2741 from ed-parry/hackathon-remove-unused-textservice-method
V8 Hackathon: Removed method marked for deletion
2018-06-29 14:53:14 +02:00
Sebastiaan Janssen f91bc1604a Merge pull request #2744 from ed-parry/hackathon-remove-obsolete-methods
V8 Hackathon: remove obsolete methods
2018-06-29 14:51:18 +02:00
Sebastiaan Janssen 4b120827cf Merge pull request #2739 from aburok/hackathon-use-logger-debug-with-func
Change calls to logger.Debug method to use Func<string> parameter
2018-06-29 14:46:01 +02:00
Anthony 69d1f4e0cd Moved methods which wrapped UmbracoHelper 2018-06-29 13:41:47 +01:00
Sebastiaan Janssen 5af5264764 Merge pull request #2743 from kows/hackathon-custom-db-config-on-instal
Hackathon custom db config on install
2018-06-29 14:40:15 +02:00
Sebastiaan Janssen f015c0f27f Merge pull request #2740 from matthew-darby/#U4-8424
U4-8424 - When no document types are allowed at root, don't allow all
2018-06-29 14:26:52 +02:00
Stephan 8462c7efbb Fix tests 2018-06-29 14:25:48 +02:00
Dawid Koruba 7660e10098 Change calls to logger.Info method to use Func<string> parameter 2018-06-29 14:25:17 +02:00
Lotte Pitcher 058033527d Making DictionaryTranslationFactory static and callers 2018-06-29 13:23:24 +01:00
Ed Parry 7f7cceb90f Removed obsolete methods in editors and the grid template. 2018-06-29 13:12:08 +01:00
Anthony 7e32dbc544 Removed methods from library.cs which are not used. 2018-06-29 12:38:17 +01:00
Ed Parry 5d3309dbf1 Removed obsolete method from WebProfileProvider 2018-06-29 12:31:28 +01:00
Jonas Pyfferoen ba66b4dd36 Fix small javascript issue when validating database connection for non SQLCE setups 2018-06-29 13:18:48 +02:00
Ismail Mayat da4e63719f remove unused usings 2018-06-29 12:16:46 +01:00
Ismail Mayat 833d6ac722 tasktype now static 2018-06-29 12:14:37 +01:00
Ismail Mayat 413e1b35b6 taskfactory now static updated callers 2018-06-29 12:13:03 +01:00
Ismail Mayat eba94c994b server registration now static 2018-06-29 12:09:47 +01:00
Ismail Mayat d1273f2ba9 make static update callers 2018-06-29 12:07:32 +01:00
Ismail Mayat 580ea66ea5 formatting and also remove method that is not used and is throwing exception to say its not implemented 2018-06-29 11:55:37 +01:00
Ismail Mayat c0e36822b3 make membertype static 2018-06-29 11:54:35 +01:00
Ismail Mayat 58e14d3e6d membergroup made static 2018-06-29 11:52:12 +01:00
Ed Parry 00b3234124 Removed method marked for deletion in V8 2018-06-29 11:50:18 +01:00
Ismail Mayat eff70db87e another class and its callers made static 2018-06-29 11:48:47 +01:00
Dawid Koruba 51ab9e32de Change calls to logger.Debug method to use Func<string> parameter 2018-06-29 12:35:31 +02:00
Nathan Woulfe e6842a1020 clean up usings 2018-06-29 20:34:04 +10:00
Matt Darby 35ca13c83a U4-8424 - When no document types are allowed at root, don't allow all of them 2018-06-29 11:31:43 +01:00
Nathan Woulfe 9b8f4c1a9a check for existing file content when creating/saving new template 2018-06-29 20:27:28 +10:00
Ismail Mayat 48362f50ba make static 2018-06-29 11:27:08 +01:00
Ismail Mayat 52a9fced07 make static 2018-06-29 11:23:54 +01:00
Ismail Mayat 69272d2a20 make static and update calling methods 2018-06-29 11:05:23 +01:00
Ismail Mayat 60d558508f fix this call 2018-06-29 10:22:57 +01:00
Ismail Mayat 32f061b555 update calls to the old factory which is now static 2018-06-29 10:16:47 +01:00
Ismail Mayat 6251dc1acf made class and methods static also removed unused using 2018-06-29 10:10:22 +01:00
Sebastiaan Janssen 1e9e13ea6a Merge pull request #2735 from ZizZu94/dev-v7
Italian translation of prompt, bulk and grid area
2018-06-29 09:46:57 +02:00
Sebastiaan Janssen 3f48f8c8e1 Merge pull request #2736 from dawoe/patch-1
Translated unpublish dialog to dutch
2018-06-29 09:37:36 +02:00
Robert 722510aee1 Changing the background color of the password field to white, passing copySuccess and copyError functions as expressions. 2018-06-29 09:02:47 +02:00
Robert 1de3f01207 Adding resetClipboardButtonState function and adding a 1 second delay in between resets to show the "success"or "error" symbols on the button every time it's pressed 2018-06-29 09:00:39 +02:00
Robert d25c16025b Parsing clipboard button state setters from expressions to methods 2018-06-29 08:55:29 +02:00
Dave Woestenborghs d9b10b294e Translated unpublish dialog
Added translation for key added in PR #2731
2018-06-29 08:47:20 +02:00
James Coxhead 0a2fd277a6 U4-11166 Hide disabled users from the users list view 2018-06-28 20:19:02 +01:00
Sebastiaan Janssen 42dcaf9ccd Merge pull request #2693 from BatJan/dev-v7
Replaced the old checkbox with the umb-toggle directive
2018-06-28 20:43:22 +02:00
Sebastiaan Janssen a860e6b324 Merge pull request #2547 from soreng/patch-1
U4-11156: Updated documentation + default values for getPagedDescendants
2018-06-28 20:40:29 +02:00
Sebastiaan Janssen 0f818c4e0a Merge pull request #2562 from leekelleher/U4-9668
U4-9668 RelationService - Relates entities by ID and a relationType + Alias
2018-06-28 20:36:55 +02:00
Sebastiaan Janssen 5f6fdc759a Merge pull request #2565 from leekelleher/U4-9088
U4-9088 - Macro Container Property Type returned incorrect object-type
2018-06-28 20:33:50 +02:00
Sebastiaan Janssen 00959a16cc Merge pull request #2585 from bjarnef/dev-v7-U4-11214
U4-11214 - Display member type name in heading
2018-06-28 20:32:26 +02:00
Sebastiaan Janssen 51fc0da379 U4-11187 - Adds friendlier "Enable JavaScript" message (#2568) 2018-06-28 20:30:52 +02:00
Sebastiaan Janssen cda4f6a2f0 Merge pull request #2569 from Mivaweb/patch-3
Fix wrong closing i tag and wrong title for edit button
2018-06-28 20:29:50 +02:00
Sebastiaan Janssen 0a29ad3d21 Merge pull request #2570 from AndyButland/u4-10502
U4-10502 - resend of user invitations
2018-06-28 20:28:24 +02:00
Sebastiaan Janssen 623fa59a3f Merge pull request #2571 from dampee/patch-2
Typo in the documentation summary
2018-06-28 20:26:49 +02:00
Sebastiaan Janssen 8c815554da Merge pull request #2583 from dontbesorry80/U4-11198
Allow capital letters for email address entry in RegisterModel
2018-06-28 20:25:28 +02:00
Sebastiaan Janssen 16cff73f9d Merge pull request #2592 from dawoe/temp-U4-11233
U4-11233 intro tour step needs to be shown centered
2018-06-28 20:21:58 +02:00
Sebastiaan Janssen 31965358c3 Removes unused class 2018-06-28 20:14:27 +02:00
Dan Booth f083a33d92 U4 10778 - FirstChild<T> extension returns IPublishedContent rather than model of type T (#2623) 2018-06-28 20:09:54 +02:00
Sebastiaan Janssen f7517fa64b Revert whitespace changes and csproj file 2018-06-28 20:01:44 +02:00
Anders Brohus 9c8d73dcfa U4-11372 - Make history section on Info tab translatable (#2650) 2018-06-28 19:49:28 +02:00
OptimisticCoder ffd0adb0f3 U4-9544 Added database schema validation health check and language file updates. (#2674) 2018-06-28 19:37:28 +02:00
Sebastiaan Janssen 477245ee71 Merge pull request #2731 from nathanwoulfe/temp-U4-9379
U4 9379 - add confirmation step to unpublish action
2018-06-28 19:31:54 +02:00
Stephan ce74108848 Fix component requirements 2018-06-28 13:50:13 +02:00
Sebastiaan Janssen 88ac1f59e7 Merge pull request #2492 from soreng/temp-U4-9204
U4-9204: Added a generic TableExists-method
2018-06-28 12:21:49 +02:00
Sebastiaan Janssen 5fa5f90bfc Merge pull request #2544 from Mivaweb/patch-2
Update NL.xml with missing translations
2018-06-28 12:20:54 +02:00
Robert 0c3c5a2a5f Changed clipboard directive to take in attribute instead of bindings to avoid scope isolated scope error. 2018-06-28 11:46:37 +02:00
Mads Rasmussen f402b9e449 update labels on generate models buttons when using infinite editing 2018-06-28 10:57:09 +02:00
Nathan Woulfe ee0888e58c updates to make it all work - event from the notification determines the action 2018-06-28 10:21:41 +10:00
Nathan Woulfe 7aa47f32c4 new notification view + controller for confirming unpublish 2018-06-28 10:19:26 +10:00
Nathan Woulfe 70aeb1c09d add en variants for unpublish notification 2018-06-28 10:13:01 +10:00
Nathan Woulfe bf9a336344 correct notifications positioning on smaller screens - was hidden behind the left nav 2018-06-28 10:12:40 +10:00
Mads Rasmussen 2142bd978f only allow change of media type if the user has access to the settings section 2018-06-27 20:14:53 +02:00
Mads Rasmussen f058ec9c03 only allow change of doc type if you have access to the settings section 2018-06-27 20:06:24 +02:00
Mads Rasmussen 68f4aae172 open infinite media type editor from media info tab 2018-06-27 19:34:26 +02:00
Mads Rasmussen d09aeeaf2e listen for doc type changes and refresh the node 2018-06-27 15:06:50 +02:00
Robert ecaea2a5b7 Merge pull request #2724 from umbraco/temp8-tabs
Temp8 tabs
2018-06-27 05:17:54 -07:00
Marcel 774227314e Fix Media library thumbnail does not reload if a new image with the same name is uploaded 2018-06-27 14:09:30 +02:00
Mads Rasmussen 5f7ba058ca update keyboard shortcuts state in rest of the code editors 2018-06-27 13:57:22 +02:00
Mads Rasmussen 9d0c1b5278 this commit fixes template editor shortcuts 2018-06-27 13:50:10 +02:00
Mads Rasmussen e0643c8dd0 user overlayService for keyboard shortcuts instead of custom overlay + fix template editor shortcuts 2018-06-27 13:49:25 +02:00
Robert 385f1d6689 Merge pull request #2604 from umbraco/temp-U4-11276
Implements doc type collections | connects #73
2018-06-26 23:58:35 -07:00
Russell c0b094f2e8 Fix http://issues.umbraco.org/issue/U4-8887
The only usage of __mcenew id is to change the HTML when there is size set on the element. This is done on the timeout function.
As per suggestion - "we wipe the ID in $timeout then, regardless the maxSize"
2018-06-27 10:06:45 +12:00
Sebastiaan Janssen d2500b36d3 Merge pull request #2728 from BatJan/patch-2
Adjusting danish translations
2018-06-26 20:15:43 +02:00
BatJan 476e33bf40 Changed "Denne tekst vil blive brugt..." to "Denne tekst bruges..."
Lowering the lix count for the sentence :-)
2018-06-26 20:04:40 +02:00
BatJan 59d68a7fdc Changed "antaller" to "antal 2018-06-26 20:02:25 +02:00
Sebastiaan Janssen 083a34275e Merge pull request #2727 from readingdancer/U4-11482
Fix for U4 11482 - Adding space before the character counter.
2018-06-26 19:59:39 +02:00
BatJan b3d2e49f1a Adjusting translations
I just noticed a few untranslated words and I also took the liberty to change the translation of "grid" to "gitter" and translate it back to english. "Gitter layout" is not something we say in dansih we simply adopt the english word "Grid" :-)
2018-06-26 19:29:09 +02:00
Chris Houston bbe15b69b7 Merge branch 'U4-11482' of https://github.com/readingdancer/Umbraco-CMS into U4-11482 2018-06-26 13:17:50 -04:00
Chris Houston 3371360bc7 Adding a small space between the text box & text area fields and the help text ( which is the character counter ) underneath. 2018-06-26 13:16:06 -04:00
Chris Houston 9fb1ce534b Adding a small space between the text box & text area fields and the help text ( which is the character counter ) underneath. 2018-06-26 13:14:39 -04:00
Sebastiaan Janssen a4d9790279 Merge pull request #2718 from ed-parry/temp-U4-10839
U4-10839: Backoffice password field 'eye' icon overlaps with password manager icons
2018-06-26 18:29:14 +02:00
Ed Parry f6efbcf99f Added the Danish translations. 2018-06-26 16:26:15 +01:00
Mads Rasmussen 101135b1ea user overlayService for template picker to fix bug with nested position relatve/fixed 2018-06-26 17:03:59 +02:00
Ed Parry 1ac62dcee7 Added prevent default on the a tag. 2018-06-26 15:33:37 +01:00
Mads Rasmussen 8b6a321897 remove header and footer background color on target overlay 2018-06-26 15:37:36 +02:00
Mads Rasmussen a2b609fc12 user overlayService to open permissions overlay to prevent bugs with nested position relative/fixed 2018-06-26 15:35:57 +02:00
Mads Rasmussen dd53811698 node info timeline polish 2018-06-26 14:59:15 +02:00
Mads Rasmussen 7cb1ac6acf prepare doc type editor for infinite editing 2018-06-26 14:11:08 +02:00
Mads Rasmussen 119cf54e97 open infinite doc type editor from info tab 2018-06-26 14:02:21 +02:00
Mads Rasmussen 96fada7586 add translations 2018-06-26 14:00:29 +02:00
Mads Rasmussen c0058109b8 add new helper function to open document type 2018-06-26 13:59:59 +02:00
Sebastiaan Janssen ad81b193a2 Merge pull request #2726 from ProNotion/issues/U4-11312
Issues/u4 11312
2018-06-26 13:29:46 +02:00
Simon Dingley f8f94eae32 Merge branch 'dev-v7' into issues/U4-11312 2018-06-26 12:00:42 +01:00
Simon Dingley 4724230d2c U4-11312 Provides a fallback AuditType value of AuditType.Custom for any legacy logHeader column values that cannot be parsed 2018-06-26 11:59:05 +01:00
Shannon Deminick b40d717546 Merge pull request #2709 from umbraco/temp8-mediapath
media path
2018-06-26 11:59:07 +10:00
Shannon b3f4ca13a4 Changes to 2 folders instead of hyphen 2018-06-26 11:58:44 +10:00
Sebastiaan Janssen 1bb593d264 Merge pull request #2725 from abjerner/patch-40
U4-11477 Improves URL not being populated in the RTE link media picker when searching for content
2018-06-25 23:57:11 +02:00
Anders Bjerner dd49febd77 U4-11477 Here we go again
https://github.com/umbraco/Umbraco-CMS/pull/2720#issuecomment-400106496
2018-06-25 23:51:19 +02:00
ZizZu94 ff5bda551c Done italian translation of grid area 2018-06-25 18:34:17 +02:00
ZizZu94 63a72090a4 Done italian translation of prompt and bulk area 2018-06-25 17:23:32 +02:00
Mads Rasmussen ef58e3226b remove bootstrap tabdrop 2018-06-25 15:13:14 +02:00
Mads Rasmussen 4fc929fc64 add tabs drop 2018-06-25 15:03:56 +02:00
Sebastiaan Janssen f2aa1ea95b Fixes Our reference to old .org domain 2018-06-25 14:50:56 +02:00
Sebastiaan Janssen 6fdc49fa28 Merge pull request #2721 from BatJan/patch-1
Change description text
2018-06-25 12:13:57 +02:00
Sebastiaan Janssen be45237830 Merge branch 'patch-v7' into dev-v7 2018-06-25 12:10:11 +02:00
Anders Bjerner ae3205c429 Fixes U4-11426 for files as well
The original fix from #2679 only fixes the bug for images, as it checks whether the `umbracoWidth` and `umbracoHeight` properties are present. With this PR, the bug is now fixed for both images and regular files.
2018-06-25 12:08:42 +02:00
Sebastiaan Janssen 1ad483df70 Merge pull request #2720 from abjerner/patch-39
Fixes U4-11426 for files as well
2018-06-25 12:06:55 +02:00
Mads Rasmussen 1d0ef8980f Merge pull request #2723 from umbraco/temp8-upgrade-angular
Temp8 upgrade angular
2018-06-25 12:03:39 +02:00
leekelleher 2c28c82b06 Enhanced (basic) styling
- Inline style for the link, to ensure underlined
- Added logo for branding
- Relocated to inside the #contentcolumn container tag, otherwise we hit a CSS conflict (due to `position:absolute` of the container)
2018-06-25 11:01:44 +01:00
Sebastiaan Janssen 4626041aca Merge pull request #2716 from mvanhelmont/U4-11335
U4-11335 Failed to retrieve data for media id undefined
2018-06-25 11:46:16 +02:00
Sebastiaan Janssen 7e88696cbc Merge pull request #2705 from mvanhelmont/patch-3
U4-11452 umbPagination directive does not update when pagesize dynamically changed
2018-06-25 11:44:11 +02:00
Sebastiaan Janssen f49d057262 Merge pull request #2712 from mvanhelmont/U4-11334
U4 11334 Content type edit, click on icon always shows black empty icon
2018-06-25 11:40:57 +02:00
Sebastiaan Janssen 8ef213547a Merge pull request #2606 from jamescoxhead/U4-11295
U4-11295 Added filtering to Nested Content add doctype overlay
2018-06-25 11:32:56 +02:00
leekelleher b3ed3585e4 Using correct BareMinimumServerVariablesScript method
The previous one had been deprecated.
2018-06-25 09:42:26 +01:00
leekelleher bd5e1a2461 Removed the "type" attribute from the <script> tags
With HTML5, it is no longer required, (the browser assumes "text/javascript"),
see: https://www.w3.org/TR/html5/semantics-scripting.html#script-processing-model
2018-06-25 09:42:26 +01:00
leekelleher a4bd2ae4c7 Removed additional whitespace
Including the leading whitespace for the HTML DOCTYPE,
which should appear on the first line of a HTML document.

Removed unused "using" namespaces.

Also removed the code comment towards the end, I'm not sure how useful it is to a developer?
2018-06-25 09:42:26 +01:00
leekelleher 55401fffbb U4-11187 - Adds friendlier "Enable JavaScript" message
Moves the `<noscript>` tags into the main body - within `#mainwrapper` (fullscreen overlay), so to allow the link to work.
Links to https://enable-javascript.com/
2018-06-25 09:42:26 +01:00
Sebastiaan Janssen 35bbb5aae4 Fix unit test 2018-06-25 08:59:08 +02:00
Sebastiaan Janssen d02a8c0a59 Merge branch 'patch-v7' into dev-v7 2018-06-25 08:31:10 +02:00
Joshua Pease 10c71a7381 Set a initial $scope.model.value for true/false 2018-06-25 08:24:22 +02:00
Sebastiaan Janssen 5c275df83c Merge pull request #2717 from joshuapease/temp-U4-11474
U4-11474: Bugfix - Umbraco.TrueFalse default value is not being stored in database
2018-06-25 08:22:23 +02:00
Nathan Woulfe 576ff6d2b9 add trackby in repeater, filter out dupes 2018-06-25 16:09:28 +10:00
BatJan 323954243b Change description text
I changed the description text since it's no longer necessary to make a custom value converter when selecting the JSON option. It's handled out of the box now.

**The original text**
"Select whether to store the tags in cache as CSV (default) or as JSON. The only benefits of storage as JSON is that you are able to have commas in a tag value but this will require parsing the json in your views or using a property value converter"

**New text**
"Select whether to store the tags in cache as CSV (default) or as JSON. The only benefits of storage as JSON is that you are able to have commas in a tag value"
2018-06-23 13:36:07 +02:00
Anders Bjerner a9e9eb9bdd Fixes U4-11426 for files as well
The original fix from #2679 only fixes the bug for images, as it checks whether the `umbracoWidth` and `umbracoHeight` properties are present. With this PR, the bug is now fixed for both images and regular files.
2018-06-22 19:09:20 +02:00
Ed Parry f62b7dd4fd Reduced spacing between text and icon. 2018-06-22 12:24:59 +01:00
Ed Parry ea9663fa22 Initial solution built and working. 2018-06-22 12:15:26 +01:00
Joshua Pease 35e3a39cc3 Set a initial $scope.model.value for true/false 2018-06-21 14:49:17 -07:00
Marcel def3529f12 simple check for target id if not gotoStartNode 2018-06-21 20:05:01 +02:00
Mads Rasmussen 0e5f52d2e0 add docs 2018-06-21 19:10:52 +02:00
Mads Rasmussen 46b63e5400 move error styles 2018-06-21 18:23:27 +02:00
Mads Rasmussen d269bae3c4 show validation 2018-06-21 17:42:56 +02:00
Sebastiaan Janssen 8e0b89801a Merge pull request #2713 from richarth/patch-1
Spelling correction
2018-06-21 15:20:57 +02:00
Robert cac35b6894 Fixes models builder false positive error on media and member type model generation 2018-06-21 13:14:14 +02:00
Richard Thompson b16c5f3cdf Spelling correction 2018-06-21 11:34:58 +01:00
Sebastiaan Janssen 677f22b008 Merge branch 'patch-v7' into dev-v7
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
2018-06-21 11:05:05 +02:00
Sebastiaan Janssen 9875c37cf2 Bumps version to 7.11.1 2018-06-21 10:48:25 +02:00
Sebastiaan Janssen 67e36a0d60 U4-11456 Package installation - Load usercontrol: file cannot be found: /umbraco/developer/Packages/installer.aspx 2018-06-21 10:38:04 +02:00
Sebastiaan Janssen bcca0528c0 U4-11462 Error when using Simple Injector - 'The Tree controller is missing the Umbraco.Web.Trees.TreeAttribute attribute' 2018-06-21 08:19:53 +02:00
Nathan Woulfe 411ff80b3e removes inline styles 2018-06-21 07:15:54 +10:00
Marcel 768e360853 mark icon as selected instead off using search for it. 2018-06-20 20:18:14 +02:00
Marcel 2af5cf97ef show selected icon and set selected color on editing icon 2018-06-20 18:59:01 +02:00
Sebastiaan Janssen f420f7a870 Merge pull request #2610 from ProNotion/issues/U4-11296
Fixes U4-11296 allowing nulls to be stored in the comment column of the umbracoConsent table
2018-06-20 17:12:02 +02:00
Sebastiaan Janssen 6116161fef Fix up csproj file and moves migration to v7.12 2018-06-20 17:06:43 +02:00
Sebastiaan Janssen cf6fc2ec78 Merge branch 'issues/U4-11296' of https://github.com/ProNotion/Umbraco-CMS into ProNotion-issues/U4-11296 2018-06-20 16:57:55 +02:00
Sebastiaan Janssen 4f2b7411e9 Merge branch 'patch-v7' into dev-v7 2018-06-20 16:57:15 +02:00
Sebastiaan Janssen 359201955a Merge pull request #2629 from umbraco/temp-U4-11339
Fixes - User permissions does not work in listview in 7.10.4
2018-06-20 15:39:56 +02:00
Mads Rasmussen fe7431b9ab remove tabs directive from media edit view 2018-06-20 14:38:03 +02:00
Mads Rasmussen 3d19fb57b4 remove tabs from member edit view 2018-06-20 14:37:26 +02:00
Robert ce2e8a147e Removed meaningless v2 variabile 2018-06-20 14:35:48 +02:00
Mads Rasmussen 6235dd282b use new tabs components on data type picker 2018-06-20 14:19:18 +02:00
Mads Rasmussen 1fbbd7a576 use new tab components on dashboard 2018-06-20 14:14:24 +02:00
Mads Rasmussen 699bb3272d remove tabs dependecy on bootstrap 2018-06-20 14:07:03 +02:00
Mads Rasmussen c8f52aa238 Merge branch 'temp8-upgrade-angular' of https://github.com/umbraco/Umbraco-CMS into temp8-upgrade-angular 2018-06-20 13:58:48 +02:00
Sebastiaan Janssen 94cfbaf0ab Merge pull request #2710 from madsoulswe/temp-U4-11461
U4-11461 - Add OEmbed support for Twitter.com
2018-06-20 13:52:46 +02:00
Dennis Öhman 042db06ba1 Added twitter obembed 2018-06-20 13:39:12 +02:00
Shannon b22ee9255d Fixes FirstChild method 2018-06-20 21:07:01 +10:00
Shannon d6e7be1b0b Fixes initial tree load and tree sync, the cachekey was not being used on init which causes the tree to double load which causes all sorts of odd things to happen 2018-06-20 21:01:54 +10:00
Stephan f0f55156d1 Merge branch 'temp8' into temp8-mediapath 2018-06-20 11:34:06 +02:00
Stephan ebee70fb61 Fix components unit tests 2018-06-20 11:33:42 +02:00
Stephan 824c428579 Remove media path scheme config 2018-06-20 10:49:20 +02:00
Stephan fe445f5ecd Implement media path scheme 2018-06-20 10:49:12 +02:00
Shannon Deminick 4f04692afa Merge pull request #2707 from umbraco/temp-U4-11341
U4-11341 Content node tree collapse on random nodes level 3 or lower …
2018-06-20 18:25:22 +10:00
Mads Rasmussen 3d0ef17ab5 increase editor header height + add more focus to the active content app 2018-06-20 09:49:48 +02:00
Sebastiaan Janssen 9909b10edb Removes more unnecessary code from the tree syncing if we don't need to consider the start nodes 2018-06-20 09:26:09 +02:00
Stephan aa8436f07f Terminate components in reverse order 2018-06-20 09:24:18 +02:00
Stephan d4e3a66dc6 IUmbracoUserComponent defaults to RuntimeLevel.Run minlevel now 2018-06-20 09:23:46 +02:00
Sebastiaan Janssen 7fa66ed914 Merge pull request #2708 from ctolkien/temp-U4-11460
U4-11460 - Use an OrdinalIgnoreCase for localdb instance lookups
2018-06-20 09:01:53 +02:00
Chad Tolkien 66a40eb69f Use an OrdinalIgnoreCase for localdb instance lookups 2018-06-20 10:24:22 +10:00
Adam Prendergast b5c86f1412 Documentation for recently merged UmbNodePreview 'alias' property (#2706) 2018-06-19 16:57:48 +02:00
Sebastiaan Janssen 4e6c4d6f7f U4-11341 Content node tree collapse on random nodes level 3 or lower after upgrade to 7.10.4 2018-06-19 16:08:11 +02:00
Mads Rasmussen 6bc1ed588b fix back button in editor header 2018-06-19 15:57:55 +02:00
Mads Rasmussen 54477f8a79 fix list view dropdown button color + change dropdown to use umb-dropdown component 2018-06-19 15:01:19 +02:00
Mads Rasmussen 8e08552ab7 add track by to users ng-repeat 2018-06-19 13:48:55 +02:00
Mads Rasmussen 5a0fbd0900 updates to package-lock.json 2018-06-19 10:56:39 +02:00
Mads Rasmussen b32b23172a remove tree debug data 2018-06-19 10:54:27 +02:00
Mads Rasmussen 3d7d223cb1 Merge pull request #2700 from umbraco/temp8-angular-tree-update
Angular 1.7 - Tree Updates
2018-06-19 10:41:11 +02:00
Claus 2f4bdf1af5 Merge pull request #2695 from umbraco/temp8-mediapath
New mediapath scheme becomes default
2018-06-19 08:57:16 +02:00
Shannon 49de3f264c Merge branch 'temp8-upgrade-angular' into temp8-angular-tree-update 2018-06-19 12:51:57 +10:00
Shannon cf59067451 Fixes issue with max $digest iterations 2018-06-19 12:51:30 +10:00
Shannon ebbdb945c4 Merge branch 'temp8-upgrade-angular' into temp8-angular-tree-update 2018-06-19 12:32:43 +10:00
Shannon f877e0d1bb Fixes delete animations 2018-06-19 12:20:18 +10:00
Sebastiaan Janssen aa132b29ee Merge pull request #2682 from rasmusjp/feature/U4-3921-expand-tree
Expand tree to current node on copy/move and when picking content
2018-06-18 22:36:33 +02:00
Sebastiaan Janssen 3e12908332 Merge pull request #2681 from rasmusjp/fix/U4-10499-expand-collapse-icon-missing
Fix missing expand/collapse tree icon when refreshing page
2018-06-18 22:22:36 +02:00
Sebastiaan Janssen b207d6a7ad Merge pull request #2680 from Mundairson/dev-v7-U4-11429
U4-11429 Cleaning Umbraco.Web.UmbracoHelper (part 1)
2018-06-18 22:20:12 +02:00
Sebastiaan Janssen 61bde607c7 Bumps version to 7.12 2018-06-18 21:53:13 +02:00
Sebastiaan Janssen bd7608599b Merge pull request #2659 from jamescoxhead/U4-11272
U4-11272 Added flexible dropdown property value converter
2018-06-18 21:48:10 +02:00
Sebastiaan Janssen a26663653e Merge pull request #2696 from BatJan/features/U4-11424-Use-umb-toggle-directive-permissions.tab
Features/u4 11424 use umb toggle directive permissions.tab
2018-06-18 20:54:26 +02:00
Mads Rasmussen ba408e8c79 wip tree animations 2018-06-18 20:35:29 +02:00
Shannon 545360bdaa fixes order by on list view 2018-06-18 22:48:28 +10:00
Shannon 9d63b68eb6 Fixes the variant lang drop down due to a boolean check 2018-06-18 21:49:15 +10:00
Shannon 4417892337 Removes valToggleMsg directive and replaces all occurances of this with ngMessages, fixes a few smaller things along the way too 2018-06-18 21:40:06 +10:00
Sebastiaan Janssen 6cbc3367b1 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-06-18 12:05:28 +02:00
Mads Rasmussen bd7211f8e6 fix arrow and active state 2018-06-18 10:55:22 +02:00
mvanhelmont 95301fbc2b add watchCollection to include totalpages
this will ensure the directive update it selfs correctly when totalpages is changed by pagesize.
2018-06-18 10:17:17 +02:00
Sebastiaan Janssen c961ffcef2 Merge pull request #2704 from andyneil/dev-v7
U4-11321 - Removed redundant autocomplete attribute
2018-06-18 10:00:59 +02:00
Sebastiaan Janssen f034fbccf9 Merge pull request #2701 from abryukhov/temp-U4-11430
U4-11430 - adds new UI localization keys (ru-RU) for v7.11
2018-06-18 09:58:03 +02:00
Andy Neil 65d9b3b99d U4-11321 - Remove unused "autocomplete" attribute 2018-06-17 16:03:02 +01:00
Mads Rasmussen 6a422fc88d add track by for properties 2018-06-17 15:00:43 +02:00
Nathan Woulfe ecaa853799 tidy up get/set for anchor when opening overlay 2018-06-17 20:07:14 +10:00
Nathan Woulfe bb28d3f4a9 extend contentcontroller to allow udi or guid params for getbyid, which also requires extending the attribute for the different param types 2018-06-17 20:06:39 +10:00
Nathan Woulfe 9f90c99350 fetch anchors for existing links 2018-06-17 19:46:07 +10:00
Nathan Woulfe ef580558b1 ensure anchor attribute is removed if anchor value is empty 2018-06-17 19:18:16 +10:00
Nathan Woulfe d327299d76 data.anchor was not used, no need to keep it 2018-06-17 18:11:01 +10:00
Nathan Woulfe 6b625481ff adds ngdoc 2018-06-17 14:47:02 +10:00
Nathan Woulfe 9cfc997ba2 update overlay/dialog to add input for anchor value - value can be a string or selection from the datalist. Is the dialog in use anymore? 2018-06-17 14:42:16 +10:00
Nathan Woulfe 3fecd55c49 adds check for anchors when overlay opens, and fetches anchors when target updates. 2018-06-17 14:41:41 +10:00
Nathan Woulfe 1cbb456dcd update rte controllers to add anchors array to overlay model - anchors are parsed from the current editor properties 2018-06-17 14:39:45 +10:00
Nathan Woulfe f3375c01d8 remove unused dialog service, add logic for managing anchor value in link object, add function for parsing an array of anchors from a string 2018-06-17 14:38:37 +10:00
Nathan Woulfe 8be303cb05 Adds key for 'anchor' to en variants. Needs translations. 2018-06-17 14:33:32 +10:00
Alexander Bryukhov 77f0b4e093 U4-11430 - couple of typos 2018-06-16 16:25:16 +07:00
Alexander Bryukhov 59e291f961 U4-11430 - slightly better health check keys translation 2018-06-16 16:23:11 +07:00
Alexander Bryukhov 50e4825066 U4-11430 - adds new UI localization keys (ru-RU) for v7.11 2018-06-16 15:59:57 +07:00
Warren 7d4ba999cf Update umb-tree-item directive
* Use one way binding in the directive from = to <
* Move template out to an external file
* Remove lots of DOM manipulation code and use directly in template
* Template uses :: for one-time binding
2018-06-15 13:20:50 +01:00
Mads Rasmussen 72fb712bad fixes mini list view animations 2018-06-15 14:01:10 +02:00
Shannon 359b1ac774 Adds ngMessages and updates the change password directive to use ng-messages for the validation message toggling, this requires a small custom new directive, now i can go replace all instances of val-toggle-msg and remove it. 2018-06-15 16:44:37 +10:00
Shannon 9d49ddba7c Fixes installer including some c# bits, fixes the hash bang to be back to normal 2018-06-15 15:51:37 +10:00
Shannon 56ba6c7a1d removes files old files that are no longer used 2018-06-15 15:35:46 +10:00
Shannon 8b1c506fef updates a couple validators to use the nicer syntax but the other ones are more complex so we can't change them 2018-06-15 15:05:12 +10:00
Shannon 6d0307cdc7 updates to latest jasmine removes unit tests that weren't testing anything and one that was failing 2018-06-15 13:54:01 +10:00
Shannon 81f78e3ec5 trying to fix vsts running the tests 2018-06-15 12:21:18 +10:00
Shannon 4acc3f48bf Fixes JS test runner and all test pass 2018-06-15 12:06:21 +10:00
Shannon feb16f901f Updates some JS dependencies, moves more dependencies to bower instead of having them committed, ensures angular locales are workgin with 1.7, upgrades to angular 1.7.2 2018-06-15 11:42:43 +10:00
Shannon Deminick 80c585c21e Temp8 validation fixing (#2699)
* Showing notifications if any for any response with status 400 >= x < 500.

* fixes valFormManager

* Updates logic for the valpropertymsg.directive to simplify it and so that it doesn't need to query the DOM which was causing issues with timing.

* commits package-lock

* fixes some issues with the securityinterceptor, properly nests promises in contentEditingHelper, fixes errors occuring when not handling promise rejections due to validation problems,

* another unhandled potential validation problem

* Merge branch 'temp-U4-7757' of https://github.com/lars-erik/Umbraco-CMS into lars-erik-temp-U4-7757

# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/services/umbrequesthelper.service.js

* cleans up the interceptor objects and puts them in appropriate modules and files, centralizes the logic to show notifications so that only happens in one place.

* Fixes more places where notifications were manually shown.

* Fixes validation with the variant publishing overlay and html descrepencies
2018-06-15 10:33:16 +10:00
Mads Rasmussen 4708293b18 remove debug info in production, disables execution of css and comment directives 2018-06-14 19:37:49 +02:00
Sebastiaan Janssen 4235963fce Fix configuration errors 2018-06-14 15:32:38 +02:00
Sebastiaan Janssen 7d2bbb64b1 Fix configuration errors 2018-06-14 15:22:22 +02:00
Robert b72e0ba30b Merge pull request #2686 from umbraco/temp8-w42
Fix new media not showing in published cache
2018-06-14 14:17:26 +02:00
Mads Rasmussen f6c03c1fe1 Merge branch 'temp8-upgrade-angular' of https://github.com/umbraco/Umbraco-CMS into temp8-upgrade-angular 2018-06-14 13:49:33 +02:00
Mads Rasmussen 383d5527bb fixes slow UI by restricting angular animations to only work on elements with the umb-animated css class 2018-06-14 13:48:51 +02:00
Jan Skovgaard b16ea2c9bf Merge branch 'dev-v7' of https://github.com/BatJan/Umbraco-CMS into dev-v7 2018-06-14 13:30:30 +02:00
Jan Skovgaard b1be0f2dae Replaced the old checkbox with the umb-toggle button. It behaves the same as before but looks nicer :-) - Also removed some unsued references from the code in the directive. 2018-06-14 13:29:16 +02:00
Jan Skovgaard 785dc4864a Switch the old checkbox to use the umb-toggle directive in the views instead. Added a toggle function to deal with this in each of the two controllers 2018-06-14 12:33:48 +02:00
Sebastiaan Janssen 07ccdfb7af Removes hacky way to get the section name and replaces it with the normal way to get it 2018-06-14 12:01:29 +02:00
Stephan a380683833 New mediapath scheme becomes default 2018-06-14 11:43:36 +02:00
Warren 4171fc7bfa Fixes Forms Dashboard Error - $cookieStore is no more & is now just $cookies in Angular 2018-06-14 10:26:32 +01:00
Jan Skovgaard 02a00eca49 Merge branch 'dev-v7' of https://github.com/BatJan/Umbraco-CMS into dev-v7 2018-06-14 10:59:42 +02:00
Jan Skovgaard 12ea56261f Replaced the old checkbox with the umb-toggle button. It behaves the same as before but looks nicer :-) - Also removed some unsued references from the code in the directive. 2018-06-14 10:59:09 +02:00
Warren 913364b2c7 Fixes test with the changes to the template editor shortcuts as they now return a promise 2018-06-14 09:31:19 +01:00
Sebastiaan Janssen 2022ca6d64 Merge pull request #2694 from dampee/feature/U4-11438
U4-11438 Add issuu.com oembed functionality
2018-06-14 10:29:19 +02:00
Mads Rasmussen 500cd9da19 fix shortcuts for scripts editor 2018-06-14 09:41:04 +02:00
Shannon Deminick 7372fa1705 Merge pull request #2627 from efabioli/patch-1
U4-11329 - GetExternalAuthenticationOptions gets called when AuthType is Null in Umbraco.Web/editors/BackOfficeController.cs
2018-06-14 14:31:27 +10:00
Damiaan 9ec1d20d51 U4-11438 Add issuu.com oembed functionality + fixed typo's in EmbeddedMedia.config file 2018-06-13 22:20:11 +02:00
Ed Parry 0e4bcc96e7 U4-9367 Refined context menu for content in the recycle bin (#2687) 2018-06-13 21:38:03 +02:00
Sebastiaan Janssen 82c7bc45a7 Merge pull request #2640 from lars-erik/U4-7874
U4-7874 - Add events to content editor
2018-06-13 21:30:10 +02:00
Sebastiaan Janssen 10484a2240 Fix unit tests after moving the Dictionary tree 2018-06-13 21:16:44 +02:00
Enkel Media 8d41d106d0 Fixes #U4-11406 by setting the thread culture before rendering macro (#2666) 2018-06-13 21:06:58 +02:00
Sebastiaan Janssen 8e18778bc2 Merge pull request #2675 from bjarnef/dev-v7-U4-11301
Add id and guid on datatype pages
2018-06-13 21:04:19 +02:00
Sebastiaan Janssen 8068641120 Merge pull request #2679 from stephen47/temp-U4-11426
U4-11426 - Fixed bug with media picker not populating URL in RTE link editor when search is used.
2018-06-13 20:58:18 +02:00
Jan Skovgaard b08343fe76 Replaced the old checkbox with the umb-toggle button. It behaves the same as before but looks nicer :-) - Also removed some unsued references from the code in the directive. 2018-06-13 20:55:52 +02:00
Sebastiaan Janssen 388f9e3a1e Merge pull request #2685 from abryukhov/temp-U4-11430
U4-11430 - Backoffice UI localization update (ru-RU)
2018-06-13 20:48:55 +02:00
Adam Prendergast 51b77669cb U4-11437: Added 'Document Type Alias' title to appear on mouse hover … (#2692) 2018-06-13 20:46:45 +02:00
Garrit Petersen f04335ef7d cursor remians default when no alias is given to the umb-control-grou… (#2497) 2018-06-13 20:42:21 +02:00
Sebastiaan Janssen aca0249c0f NuGet install now creates the correct tree controller 2018-06-13 20:29:55 +02:00
Sebastiaan Janssen d66e951b68 Updating code style, removes obsolete files, now we can move the tree to the Translation section 2018-06-13 20:20:21 +02:00
Dave Woestenborghs 9c33f1b1c9 U4-5683 Migrate Dictionary tree & editor to angular (#2159) 2018-06-13 20:19:18 +02:00
Warren 884d49a349 Merge branch 'temp8-upgrade-angular' of https://github.com/umbraco/Umbraco-CMS into temp8-upgrade-angular 2018-06-13 15:46:50 +01:00
Warren e630faa185 Fixes translation items for the keyboard shortcuts in template editor & partial view editor
* Angular does not auto expand promises when we assign to properties on scope & now we return a promise with the object data with the values translated from the localization service
2018-06-13 15:46:20 +01:00
Mads Rasmussen 44529f266e fixes: When opening the doctype, media type, member type editor the name field makes a small “jump”. 2018-06-13 15:31:05 +02:00
Mads Rasmussen faad17a92e fixes: #48 Subviews show a quick content flash of all views before they hide 2018-06-13 14:10:17 +02:00
Warren 3be22bd6a7 Fix up modelsbuilder dashboard - we now use ng-bind-html directive as opposed to ng-bind-html-unsafe 2018-06-13 12:27:22 +01:00
Daniël Knippers 3520f2d1e4 Fix NullReferenceException when HttpContext is null
This method will throw a NullReferenceException in contexts without an HttpContext, like is the case in background threads. As HttpContext is only used to set an isDebug flag, it seems more sensible to not throw in cases without an HttpContext, but simply set isDebug to false instead. If this is not acceptable behavior, could we perhaps look at something other than HttpContext.Current.IsDebuggingEnabled to decide whether isDebug should be set?
2018-06-13 13:25:10 +02:00
Warren f29167eb59 Fix up nucache/published status dashboard - the responses back from the API calls are not JSON but a simple string and thus we did not need angular.fromJson() 2018-06-13 12:04:05 +01:00
Warren Buckley 598566198d Merge pull request #2691 from umbraco/temp8-56
fix icon contet flashes + update to new component syntax
2018-06-13 11:47:36 +01:00
Mads Rasmussen 20cd36026e fix overlay conent flash 2018-06-13 11:51:44 +02:00
Mads Rasmussen 27891e304d fix icon contet flashes + update to new component syntax 2018-06-13 10:16:25 +02:00
Warren f848746f33 Remove the unused functions in the security interceptor re-write 2018-06-13 08:31:28 +01:00
Mads Rasmussen 3b4e1ea3d6 fix media recycle bin 2018-06-12 20:57:08 +02:00
Mads Rasmussen 09006352f7 fix logout 2018-06-12 20:51:22 +02:00
Rasmus John Pedersen 5e3a8b4694 Only call updateNodeData if there's children
Also there's no need to send the node to the function
since it's the same node, so better save some compute
power there too
2018-06-12 20:09:10 +02:00
Rasmus John Pedersen e034bd4a1f Update tree node when children are loaded
This fixes the expand/collapse icon not being show when a tree
is autoexpanded, e.g. when refreshing the page
2018-06-12 16:39:42 +02:00
Mads Rasmussen 90a53ddcc7 fix localisation for user groups picker 2018-06-12 16:03:17 +02:00
Warren acab866b29 Update list view create button to use ng-href now the hashbang is now just hash :) 2018-06-12 14:40:44 +01:00
Warren cb1a0897eb Merge branch 'temp8-upgrade-angular' of https://github.com/umbraco/Umbraco-CMS into temp8-upgrade-angular
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/routes.js
2018-06-12 14:39:18 +01:00
Warren fde1d6f6fb Update the angular routing to be # as opposed to hash bang #! 2018-06-12 14:34:45 +01:00
Mads Rasmussen 8337500356 turn html5 mode on 2018-06-12 15:17:43 +02:00
Warren 4577ec1016 Remove the console.log debug from the interceptor for now - we may need to revisit this 2018-06-12 13:51:06 +01:00
Mads Rasmussen d91e3e90c6 Merge branch 'temp8-upgrade-angular' of https://github.com/umbraco/Umbraco-CMS into temp8-upgrade-angular 2018-06-12 14:17:37 +02:00
Mads Rasmussen 02c02a3abe update responseError in security interceptor 2018-06-12 14:17:03 +02:00
Warren 939cac264a Get the x-umb-user-modified header to work - set a new profile photo or remove it and ensure header is sent down & the event is emitted to update the avatar 2018-06-12 12:38:32 +01:00
Claus 2715d49630 Merge pull request #2498 from hemraker/temp-U4-10899
Fixes U4-10899: Template circular dependency
2018-06-12 13:04:23 +02:00
Warren 083fbbf3c6 WIP - refactor of interceptor to new format - having issues getting the x-umb-user-seconds 2018-06-12 10:54:49 +01:00
Mads Rasmussen 9b0bf28d15 fixing unit tests 2018-06-12 11:26:08 +02:00
Mads Rasmussen 945271cb67 correct error handling of http requests 2018-06-11 22:12:40 +02:00
Mads Rasmussen 94a65fa628 fixing more localisation issues 2018-06-11 20:46:43 +02:00
Warren 6dae192497 Fixes up missing listview create button - due to the HTTP promise being directly assigned to the Angular property on the model as opposed to the items/result of the promise 2018-06-11 15:01:31 +01:00
Warren 9388089b9e Fix #55 - Search icon outside input field on list views for Angular 1.7 upgrade 2018-06-11 14:13:16 +01:00
Mads Rasmussen 3978d0c529 Merge branch 'temp8' into temp8-upgrade-angular 2018-06-11 14:17:00 +02:00
Mads Rasmussen 4670ba9fe0 inject localizationService into the publish dialog 2018-06-11 13:32:13 +02:00
Mads Rasmussen c89423946a fix more localisation labels 2018-06-11 13:16:29 +02:00
Stephan 297c4a8e73 Fix new media not showing in published cache 2018-06-11 12:31:54 +02:00
Alexander Bryukhov 78fe1015aa U4-11430 - Backoffice UI localization update (ru-RU) 2018-06-11 17:16:49 +07:00
James Coxhead 5a43f6b6fe Moved remaining classes out of WebServices 2018-06-10 20:00:07 +01:00
Rasmus John Pedersen 66b0d4e3b6 Expand tree to current node on copy/move and when picking content 2018-06-10 14:01:32 +02:00
Mundairson 74ce567702 The default for a class is null anyway. 2018-06-10 12:03:09 +01:00
Mundairson 0571970a92 Remove the double cast. 2018-06-10 12:01:43 +01:00
Mundairson a63b3889e7 Run the plugin set up before the UDI tests so the types are there. 2018-06-09 17:15:26 +01:00
Mundairson 72e0eabb4b Reset the UDI types before each unit test. 2018-06-09 16:57:58 +01:00
Mundairson 0745ed87c2 Convert GUID and UDI methods to pattern matching. 2018-06-09 16:40:51 +01:00
Mundairson c3d7bd5fdf Add tests to refactor the GUID and UDI convert methods. 2018-06-09 16:36:49 +01:00
Mundairson b60e7246fb Converted to simple pattern matching. 2018-06-09 16:02:51 +01:00
Mundairson 73d6f81d67 Add tests before refactoring. 2018-06-09 16:01:15 +01:00
Mundairson 9e9648cbb8 Removed unused using declarations and changed tabs to spaces. 2018-06-09 15:27:57 +01:00
Mundairson 34b2349cd7 Clean the AssignedContentItem property. 2018-06-09 15:26:40 +01:00
Stephen Holder d43d432d2f U4-11426 - Fixed bug with media picker not populating URL in RTE link editor when search is used. 2018-06-08 20:35:20 +01:00
Stephan e4fafd55c8 Fix tests - but we have to fix variant names 2018-06-08 10:49:51 +02:00
Morten Christensen f5b017ed67 Updates sql to include current schema in queries 2018-06-08 10:44:11 +02:00
Stephan 3c9ba6502a TEMP ignore some tests for build 2018-06-08 07:52:40 +02:00
James Coxhead bd7aea31ee Removed unused Examine Management Controller actions 2018-06-07 21:32:48 +01:00
James Coxhead dd7d6ba392 Removed unused EmbedMediaService 2018-06-07 21:29:07 +01:00
Stephan 2f93601544 Fix tests, reflection utilities 2018-06-07 14:30:26 +02:00
Sebastiaan Janssen 0512a13ef1 Merge pull request #2677 from PeteDuncanson/patch-3
Made the need for VS2017 version 15.7+ REALLY clear!
2018-06-07 13:57:59 +02:00
Pete Duncanson aaf88a8488 Update V8_GETTING_STARTED.md 2018-06-07 12:31:12 +01:00
Pete Duncanson 56d54de3b3 Made the need for VS2017 version 15.7+ REALLY clear! 2018-06-07 12:13:02 +01:00
Sebastiaan Janssen ab8472780a Merge pull request #2676 from PeteDuncanson/patch-2
Linked to "how to contribute" for v7
2018-06-07 12:03:03 +02:00
Pete Duncanson 98648b12f1 Linked to "how to contribute" for v7 2018-06-07 10:58:36 +01:00
Sebastiaan Janssen a3e0f908de Fixes merge error 2018-06-07 09:00:47 +02:00
Stephan 73ee972d37 Cleanup my cleanup 2018-06-07 08:48:46 +02:00
Stephan d166591ee5 Cleanup docs 2018-06-07 08:48:12 +02:00
Bjarne Fyrstenborg 06ee6e3845 Add id and guid on datatype pages 2018-06-06 23:23:15 +02:00
Sebastiaan Janssen 6e8214e697 Merge remote-tracking branch 'origin/dev-v7' into temp8 2018-06-06 22:36:22 +02:00
Marc Goodson 0eceb3c7fc U4-11369 - Add list of content types where a composition content type is used to compositions dialog (#2668) 2018-06-06 22:35:10 +02:00
Sebastiaan Janssen 9008e6af88 Merge branch 'dev-v7' into temp8
# Conflicts:
#	docs/CONTRIBUTING_DETAILED.md
#	docs/README.md
#	src/Umbraco.Core/Configuration/GlobalSettings.cs
#	src/Umbraco.Core/StringExtensions.cs
#	src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbbutton.directive.js
#	src/Umbraco.Web.UI.Client/src/less/components/umb-group-builder.less
#	src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-button.html
#	src/Umbraco.Web.UI.Client/src/views/dashboard/developer/developerdashboardvideos.html
#	src/Umbraco.Web.UI.Client/src/views/prevalueeditors/boolean.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/boolean/boolean.html
#	src/Umbraco.Web/PublishedContentExtensions.cs
#	src/Umbraco.Web/Trees/LanguageTreeController.cs
2018-06-06 21:15:11 +02:00
Mads Rasmussen bf1024c1b0 fix more localize problems 2018-06-06 20:38:21 +02:00
Chris Houston 5013c5f526 Fixes issue: U4-11416 - Better formatting for the video tiles in the developer section. (#2673) 2018-06-06 20:17:56 +02:00
Mads Rasmussen b5333fe2d6 make sure the placeholder template name and alias is updated correcly so you can create doc types 2018-06-06 13:19:34 +02:00
Mads Rasmussen d9df6e12be fix loading of recycle bin controller 2018-06-06 13:18:46 +02:00
Mads Rasmussen adde66d3e9 Merge branch 'temp8' into temp8-upgrade-angular 2018-06-06 11:50:31 +02:00
Mads Rasmussen eb6da7a41a fixing item picker title and master template title 2018-06-06 11:26:34 +02:00
Mads Rasmussen 33be5a4960 fixing titles in the insert dialog 2018-06-06 10:59:35 +02:00
Mads Rasmussen 3f6ac3fcd6 fix titles for dictionary items and partial views dialog 2018-06-06 10:36:16 +02:00
Mads Rasmussen b98aa215c3 fix title in insert field dialog 2018-06-06 10:15:50 +02:00
Sebastiaan Janssen d07bd58deb Merge pull request #2672 from WojciechKmiecik/temp-U4-10936
fix for U4-10936 "Failed to read the 'rules' property from 'CSSStyleSheet'" when certain chrome extensions are enabled
2018-06-06 10:01:01 +02:00
Mads Rasmussen ed1d7fb2c5 fix title in embed dialog 2018-06-06 09:59:21 +02:00
Sebastiaan Janssen d8ba0d352e Merge pull request #2633 from maarten-kieft/dev-v7
Make base AnchestorOrSelf public
2018-06-06 09:58:55 +02:00
Mads Rasmussen c2aa3e9d06 fix title in macro dialog 2018-06-06 09:58:49 +02:00
Mads Rasmussen 11a0b36ff0 fix move-dialog title 2018-06-06 09:12:57 +02:00
Mads Rasmussen 764a706143 fix copy-dialog title 2018-06-06 09:09:05 +02:00
Mads Rasmussen a9a274dea5 Added an empty "/" route to default to "content" 2018-06-05 21:03:43 +02:00
Mads Rasmussen ccd8ecd055 add title to query builder 2018-06-05 20:22:56 +02:00
Mads Rasmussen 394fa9215a fix title in insert overlay 2018-06-05 19:58:58 +02:00
Wojciech Kmiecik faf9800235 fix U4-10936 when ceratin chrome extensions are enabled 2018-06-05 17:17:14 +02:00
Stephan bc06d7b20c Adjust SqlTemplate usage in DomainRepository 2018-06-05 16:02:37 +02:00
Mads Rasmussen 7287d8c565 move hideoptions to ng-class 2018-06-05 15:21:18 +02:00
Mads Rasmussen 99589789dd renames onlyinitialized because angular thinks its an onclick 2018-06-05 15:20:35 +02:00
Sebastiaan Janssen e789cb8875 Merge pull request #2671 from Mundairson/dev-v7-U4-8199
Refactor the extension method IsNullOrWhiteSpace() to use the native version
2018-06-05 14:30:18 +02:00
Sebastiaan Janssen f208fc65d0 Merge pull request #2639 from lars-erik/U4-11356
U4-11356 Events emitted from the grid on init, row added and item added
2018-06-05 14:18:14 +02:00
Mundairson e7c1d3dd2e Removed old version. 2018-06-05 12:25:37 +01:00
Mundairson 379ac8a3cb Refactored the extension method to call the native method. 2018-06-05 12:25:06 +01:00
Sebastiaan Janssen 8202dbcc5b Merge pull request #2644 from ssougnez/temp-U4-10956
Created an innerState variable in the isolated scope of "umb-button" …
2018-06-05 12:57:44 +02:00
Sebastiaan Janssen 8172789537 Merge pull request #2669 from dawoe/temp-U4-11412
U4-11412 only show buttons in umb-confirm when callback is defined
2018-06-05 12:39:17 +02:00
Sebastiaan Janssen 08dd74322a Merge pull request #2667 from BatJan/dev-v7
Use the umb-toggle directive for the "True/False" property editor
2018-06-05 12:37:08 +02:00
Stephan d4f884df74 Fix tests 2018-06-05 12:26:13 +02:00
Stephan aa582658ac Fix tags 2018-06-05 12:26:13 +02:00
Mundairson 8953021784 Corrected the VersionCheckPeriod property's XML comment. 2018-06-05 10:58:45 +01:00
Mads Rasmussen 2330ff334b fix content-type in request header when saving content 2018-06-05 11:24:16 +02:00
Mads Rasmussen 0b7426aa3f Merge branch 'temp8' into temp8-upgrade-angular
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/directives/components/tree/umbtree.directive.js
2018-06-05 09:53:11 +02:00
James Coxhead 8444423201 Removed unused bulk publish controller 2018-06-04 21:50:58 +01:00
Mads Rasmussen 6697c67f38 fix keys for keyboard shortcuts in content type editors 2018-06-04 22:44:12 +02:00
Mads Rasmussen 4dbec70f00 fix localisation for node publish state 2018-06-04 21:26:34 +02:00
Robert 0e72c34973 Merge pull request #2664 from umbraco/temp8-U4-11401
U4-11401 Unique content naming isn't implemented for culture variants
2018-06-04 15:16:57 +02:00
Sebastiaan Janssen da4e519e4b Merge pull request #2658 from PeteDuncanson/temp-U4-11395
U4-11395 - Add Gulp ImageMin to compress images in build process
2018-06-04 14:16:48 +02:00
Sebastiaan Janssen 42a6872685 Move image to the new location 2018-06-04 13:51:12 +02:00
Mads Rasmussen 2b5ef7b45c change angular.lowercase() to .toLowerCase() 2018-06-04 13:48:36 +02:00
Sebastiaan Janssen a8cf6e8426 Merge pull request #2651 from umbraco/temp-ic-2
Restructures contribution guidelines into multiple files to make them…
2018-06-04 13:43:06 +02:00
Mads Rasmussen fefb6e4454 fix more localisation issues 2018-06-04 12:08:19 +02:00
Stephan d167e7bf0b Fix media cache 2018-06-04 11:44:54 +02:00
Stephan 01927e1e53 Fix variation context accessor 2018-06-04 11:44:54 +02:00
Stephan 825f785a2b Fix database debugging tools 2018-06-04 11:37:19 +02:00
Stephan 632e401d33 Implement typed labels 2018-06-04 11:37:19 +02:00
Stephan 062a47f2aa Use ModelsBuilder from NuGet, -alpha.44 2018-06-04 11:37:19 +02:00
Stephan f92a03b996 Use ModelsBuilder from NuGet, -alpha.43 2018-06-04 11:32:53 +02:00
Stephan 1255eed84c Remove ModelsBuilder project 2018-06-04 11:10:55 +02:00
Dave Woestenborghs fe2ff696c5 U4-11412 documented umbConfirm directive 2018-06-04 09:06:25 +02:00
Sebastiaan Janssen 240c205765 Merge pull request #2649 from AndyFelton/temp-U4-11039
Conditional Upload button on Media Picker
2018-06-04 08:58:35 +02:00
Dave Woestenborghs 03019e9676 U4-11412 only show cancel and confirm button when a handler is attached 2018-06-04 08:52:48 +02:00
Dave Woestenborghs 697cc7a420 U4-11412 hide cancel button in umb-confirm when handler is not defined 2018-06-04 08:45:09 +02:00
Sebastiaan Janssen 8961f930e3 Merge pull request #2646 from AndersBrohus/U4-11367
U4-11367 - Show trashbin icon again
2018-06-04 08:03:30 +02:00
Sebastiaan Janssen 2d3ef8d311 Merge pull request #2642 from Mundairson/dev-v7-getting-started-text-fixes
Corrected spelling and grammar in the Getting Started tool tips for v7.
2018-06-04 07:58:36 +02:00
Shannon Deminick 02afb1e774 Merge pull request #2665 from umbraco/temp-U4-11338
fixes U4-11338 Language dropdown fails when invalid cultures are present
2018-06-04 14:07:01 +10:00
James Coxhead 222cb25cfd Moved XmlDataIntegrityController, PublishedStatusController, and NuCacheStatusController out of WebServices 2018-06-03 14:42:10 +01:00
James Coxhead cca3c5df78 Removed unused CoreStringsController 2018-06-02 20:00:07 +01:00
James Coxhead 1b42a2a6ac Removed SaveFileController
Replaced with CodeFileController
2018-06-02 19:39:52 +01:00
James Coxhead 87df9b8f04 Migrated DomainsApiController
Moved action to exiting ContentController, moved viewmodels out into seperate files.
2018-06-01 21:39:29 +01:00
Jan Skovgaard 6188629da6 Convert the default boring checkbox to the shiny new and beautiful toggle based on the umb-toggle directive 2018-06-01 22:03:10 +02:00
Sebastiaan Janssen 2c04a02d62 Merge pull request #2662 from readingdancer/U4-11400
Updated references to mention May for CodeGarden in the installer
2018-06-01 15:09:07 +02:00
Mads Rasmussen 0216bea233 dropzone can now upload files again 2018-06-01 14:59:45 +02:00
Claus ccc8868f68 fixes U4-11338 Language dropdown fails when invalid cultures are present 2018-06-01 13:06:13 +02:00
Mads Rasmussen 328f83c0c7 fix title on media picker 2018-06-01 12:39:07 +02:00
Mads Rasmussen b8a77b8661 fix localisation in property settings editor 2018-06-01 12:19:22 +02:00
Mads Rasmussen 6d84e1bb40 move ng-controller to its own element 2018-06-01 10:09:19 +02:00
Mads Rasmussen 0aec09a258 temp fix to bring infinite editors back to life 2018-06-01 10:05:45 +02:00
Mads Rasmussen 078e45b7ea move ng-controller in media picker to its own element 2018-06-01 09:40:41 +02:00
Claus 2de0d5e09f Merge pull request #2656 from umbraco/temp8-U4-11378
U4-11378 - ContentFinderByUrlAlias
2018-06-01 08:30:46 +02:00
Shannon 504b6cb079 Changes Content.Names to Content.CultureNames and Content.PublishNames to Content.PublishCultureNames 2018-06-01 16:15:46 +10:00
Shannon 90e6769169 adds check for EnsureUniqueNaming 2018-06-01 16:04:20 +10:00
Shannon fd3e6f4d9c turns out there's no need for the full table name, the sql generator figures this out 2018-06-01 15:52:55 +10:00
Shannon 3cfd9c5b00 ensures the unique name check is not performed against itself 2018-06-01 15:51:45 +10:00
Shannon b75cf3bc76 Changes EnumExtensions to ContentVariationExtensions and adds more helper methods to replace a lot of the duplicate checking in our code. Adds code to enforce unique naming for culture names, adds supporting tests. 2018-06-01 15:20:16 +10:00
Shannon e907a085bd fixes U4-11391 Content picker language drop down isn't working 2018-06-01 13:13:29 +10:00
Shannon Deminick 9e826004d8 Merge pull request #2655 from umbraco/temp8-U4-11375
U4-11375 - url segments are ascii by default
2018-06-01 11:59:15 +10:00
Shannon Deminick 33b7f355c9 Merge pull request #2663 from umbraco/temp8-U4-11384
U4-11384 nodes moved to the recycle bin still show up in the cache so remain routable
2018-06-01 11:56:56 +10:00
Shannon 5d79d01457 Merge remote-tracking branch 'origin/temp8' into temp8-U4-11384 2018-06-01 11:53:55 +10:00
Shannon Deminick 6c0c59f731 Merge pull request #2660 from umbraco/temp8-user-unknown
Ensures referential integrity for all FKs to umbracoUser but supports NULL entries
2018-06-01 11:53:14 +10:00
Shannon a24fd55b43 Merge remote-tracking branch 'origin/temp8' into temp8-U4-11384 2018-06-01 09:35:19 +10:00
James Coxhead e26b8ae6d9 Migrated Examine Management controller 2018-05-31 22:03:12 +01:00
Chris Houston cde7f0fa18 Updated references to CodeGarden in the installer and the umbraco.config test file to mention May instead of June :) 2018-05-31 14:50:01 -04:00
Stephan 3398de7fdb Fix NuCache, exclude trashed items 2018-05-31 17:14:25 +02:00
Shannon e6a354876d disables ContentFinderByUrlAndTemplate 2018-06-01 01:00:51 +10:00
Shannon 40791e1266 Merge remote-tracking branch 'origin/temp8' into temp8-U4-11384 2018-06-01 00:15:33 +10:00
Shannon 6ae538d555 reverts the fix that doesn't work 2018-06-01 00:06:59 +10:00
Mads Rasmussen 18f790d180 Merge branch 'temp8' into temp8-upgrade-angular 2018-05-31 15:40:22 +02:00
Shannon 79f95f4243 fixes removing content item from the cache when it is trashed 2018-05-31 23:34:10 +10:00
Shannon 437855979d Fixes passing in the user id for copy operations 2018-05-31 23:33:52 +10:00
Sebastiaan Janssen 867ccaf2b1 Small corrections 2018-05-31 15:26:12 +02:00
Shannon 2f331de7b4 reverts default userId parameters to be zero which means 'unknown' 2018-05-31 23:12:48 +10:00
Shannon abbb119fc9 Ensures ref integrity for all FKs to umbracoUser table but support NULL values 2018-05-31 23:05:35 +10:00
Peter Duncanson 3743fc1c29 Added Gulp Images to compress images as part of the front end build process 2018-05-31 13:37:24 +01:00
Stephan 82b5e0be02 Fix nuspec files 2018-05-31 14:02:39 +02:00
Shannon b5f0bc7234 creates a user 0 for unknown to keep ref integrity 2018-05-31 21:21:08 +10:00
Mads Rasmussen 9621bb0391 Fix title localisation 2018-05-31 12:57:08 +02:00
Mads Rasmussen 3829936d06 move ng-controller 2018-05-31 12:56:36 +02:00
Stephan 5e39dd3ed0 U4-11378 - ContentFinderByUrlAlias 2018-05-31 12:54:10 +02:00
Mads Rasmussen a07c43a790 fix localisation in data type picker 2018-05-31 12:44:23 +02:00
Mads Rasmussen 07b0faadd9 move ng-controller to its own element 2018-05-31 12:43:56 +02:00
Stephan 4f8973a043 Fix Upgrader - was updating even when nothing happened 2018-05-31 11:58:38 +02:00
Stephan 721a239d4a Fix ModelsBuilder structure - had circ dependencies etc 2018-05-31 11:58:20 +02:00
Stephan 6c5f07f201 Fix shutdown message logging - was not logging 2018-05-31 11:55:50 +02:00
Stephan 3862ff9076 Cleanup and get rid of other warnings 2018-05-31 11:55:37 +02:00
Stephan 2248e310d9 Cleanup and get rid of more warnings 2018-05-31 11:53:14 +02:00
Stephan 38eae90640 Cleanup and get rid of warnings 2018-05-31 11:53:14 +02:00
Stephan e0f97feb1c Update Benchmarks csproj 2018-05-31 11:53:14 +02:00
Stephan 454eb82a1f Merge branch 'temp8' into temp8-U4-11375 2018-05-31 11:43:31 +02:00
Mads Rasmussen 3a9b2069af fix localisation in umbControlGroup 2018-05-31 11:30:15 +02:00
Mads Rasmussen f473ff8795 fix translations for users overview 2018-05-31 11:23:29 +02:00
Mads Rasmussen f5499b1755 fix help drawer 2018-05-31 10:42:09 +02:00
Claus bfa93ec76f Merge pull request #2652 from umbraco/temp8-U4-11202
U4-11202 - fix database issues
2018-05-31 10:23:39 +02:00
Claus 8f87381c01 fixed typo 2018-05-31 10:23:09 +02:00
Shannon 1cd4862803 Fixes user Id is 0 everywhere 2018-05-31 16:52:38 +10:00
Stephan ac788320a2 U4-11375 - 'try' ascii 2018-05-31 08:26:38 +02:00
Stephan 985385bb30 U4-11375 - url segments are ascii by default 2018-05-31 08:23:22 +02:00
Stephan 5b227ab2a0 Merge branch 'temp8' into temp8-U4-11202 2018-05-31 08:16:12 +02:00
Shannon 0d68a3fb4f avoids a ysod if the wrong user id sneaks in to the log 2018-05-31 15:54:23 +10:00
Shannon a2aa318e18 Fixes moving event dispatching in content service which prohibited you from moving anything 2018-05-31 15:43:39 +10:00
Shannon 5ed5ebf054 Fixes event handling for content type containers 2018-05-31 14:59:26 +10:00
Shannon Deminick ea1d557ee5 Merge pull request #2653 from umbraco/temp8-U4-11385
U4-11385 Can't create doc type folders
2018-05-31 13:47:27 +10:00
James Coxhead 63512462fd Added flexible dropdown property value converter 2018-05-30 23:25:00 +01:00
Mads Rasmussen e86ca6c361 Merge branch 'temp8' into temp8-upgrade-angular 2018-05-30 17:43:21 +02:00
Mads Rasmussen 07349bcd71 fix orderBy error in content create dialog 2018-05-30 17:17:49 +02:00
Mads Rasmussen b73769d4c7 temp comment out val-form-manager 2018-05-30 17:08:27 +02:00
Claus 9838977806 fixes U4-11385 Can't create doc type folders.
using dispatch instead of dispatchcancelable when the event is not cancelable for both saving and renaming.
2018-05-30 14:39:12 +02:00
Mads Rasmussen 82f70ac453 update $http request 2018-05-30 11:43:09 +02:00
Mads Rasmussen 264d545325 update required formProps to recognize a form 2018-05-30 11:42:33 +02:00
Mads Rasmussen 6de4d85783 upgrade ng-file-upload 2018-05-30 11:41:20 +02:00
Sebastiaan Janssen d10aec9e68 Merge branch 'dev-v7' into temp-ic-2
# Conflicts:
#	docs/CONTRIBUTING_DETAILED.md
#	docs/README.md
2018-05-30 11:18:15 +02:00
Mundairson fefe5660ef Added merged files from dev-v7 2018-05-30 10:07:05 +01:00
Stephan 00c62804a8 U4-11202 - Fix deadlock in UserRepository 2018-05-30 10:44:33 +02:00
Sebastiaan Janssen 5d978a62fd Small corrections 2018-05-30 10:19:21 +02:00
Stephan 6208a3ec73 Ensure server messenger actually starts 2018-05-30 10:00:20 +02:00
Stephan 3da596eedf Fix PublishedSnapshotAccessor to not throw but return null 2018-05-30 10:00:19 +02:00
Stephan 518ccd5686 Cleanup Dtos 2018-05-30 10:00:18 +02:00
Stephan 9e1d19d56a Fix ALTER TABLE ADD COLUMN issue 2018-05-30 10:00:18 +02:00
Stephan 936b8ab5fe Fix NPoco update expressions 2018-05-30 10:00:17 +02:00
Stephan 91396e561f Deal with IDE1006 2018-05-30 10:00:17 +02:00
Stephan ac04abe59b Fix ContentTreeController 2018-05-30 10:00:16 +02:00
Stephan a7ba4a155e Fix logging in NuCache SnapshotService 2018-05-30 10:00:15 +02:00
Stephan 2fade20656 Kill legacy, get rid of warnings 2018-05-30 10:00:14 +02:00
Stephan c5af3e51b0 Update V8_GETTING_STARTED.md 2018-05-30 10:00:14 +02:00
Shannon 685a052339 tweak /umbraco/view/web.config to only block cshtml, so the *.html files can be downloaded 2018-05-30 16:29:16 +10:00
Shannon 6e2222d357 Merge remote-tracking branch 'origin/dev-v7' into temp8 2018-05-30 16:16:04 +10:00
Shannon 559fece3e9 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-05-30 16:15:35 +10:00
Shannon 6868279909 csproj bump 2018-05-30 16:15:23 +10:00
Shannon Deminick 49062d3ede Merge pull request #2625 from poornimanayar/U4-11159
Fixed typos in tours
2018-05-30 08:10:25 +02:00
Shannon Deminick 41865d76fb Merge pull request #2645 from simonech/sort-languages-by-name
U4-11368 - Sort language by name in languages settings page
2018-05-30 08:05:23 +02:00
Shannon 2c41f3dbfa Updated web.config for /umbraco/views 2018-05-30 15:32:33 +10:00
Shannon 9b08a73210 Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	src/Umbraco.Core/StringExtensions.cs
#	src/Umbraco.Tests/Strings/StringExtensionsTests.cs
#	src/Umbraco.Web/UmbracoHelper.cs
2018-05-30 15:29:08 +10:00
Shannon 00e0dbaa65 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-05-30 15:22:09 +10:00
Shannon 4705a6bc10 updates views web.config 2018-05-30 15:21:59 +10:00
Sebastiaan Janssen 7853245fe4 Small corrections 2018-05-29 17:33:06 +02:00
Sebastiaan Janssen fa88efbf5e Small corrections 2018-05-29 17:24:14 +02:00
Sebastiaan Janssen 6f6252b616 Restructures contribution guidelines into multiple files to make them easier to digest for new
contributors
ref: https://github.com/umbraco/issues-community/issues/2
2018-05-29 17:18:25 +02:00
Mads Rasmussen 3d5d2648ff upgrade angular-local-storage 2018-05-29 14:39:17 +02:00
Mads Rasmussen 04c4a8cd34 fix lexer error in tree 2018-05-29 14:13:38 +02:00
Mads Rasmussen 7a85a82094 changed ng-bind-html-unsafe to ng-bind-html 2018-05-29 13:33:26 +02:00
Mads Rasmussen c86e2b3031 Make subviews clickable again 2018-05-29 11:05:53 +02:00
Mads Rasmussen a293ff0200 fix localisation of doc type subviews 2018-05-29 11:05:19 +02:00
Mads Rasmussen d7a8d433de add null check + remove weird ngShow support 2018-05-28 21:19:23 +02:00
Mads Rasmussen 4c50ab6042 fix button translations in overlay 2018-05-28 21:18:39 +02:00
Mads Rasmussen 2d0d5c179b fix transclude for overlays 2018-05-28 21:18:08 +02:00
Mads Rasmussen 6510dce9d4 fix link for header avatar 2018-05-28 21:17:50 +02:00
Mads Rasmussen 5670fc14e0 add optional marker to routes 2018-05-28 21:16:57 +02:00
Mads Rasmussen 8b96efc02e move umbTree markup to template 2018-05-28 20:55:56 +02:00
Mads Rasmussen 66894e81e1 temp comment out securityInterceptor 2018-05-28 20:52:35 +02:00
Mads Rasmussen fa0b3049ee update requestHelper to handle new promises 2018-05-28 20:48:52 +02:00
Mads Rasmussen 1cd231fdb9 upgrade angular version + load new dependencies 2018-05-28 20:47:54 +02:00
Andy Felton 7947970817 Conditional Upload button on Media Picker
Made upload button only appear when media can be uploaded to the current folder. Also ensured acceptedMediatypes is always valid even in the root directory
2018-05-28 15:39:15 +01:00
Anders Brohus 76717eb720 Show trashbin icon again
After looking i found out that the problem was that the "position:relative;" was removed on the umb-group-builder__group class.
2018-05-25 19:53:06 +02:00
Simone Chiaretta 7c5fe63d0b Sort language by name
The issue was that the web API was returning a dictionary that was interpreted as data object by AngularJS, with each key becoming a property of an enormous object, so when binding this object to the select element, it was sorted by property name, thus the key of the array, which was the And being an object it was impossible to sort it again by value.
Only option was to convert it to an array. And since the original list of culture is already sorted correctly, no need to sort it again.
2018-05-25 10:01:12 +02:00
Seb cd0c9a39f3 Created an innerState variable in the isolated scope of "umb-button" directive in order to ensure not to create a "state" property in the directive isolated scope. 2018-05-23 18:01:17 +02:00
Shannon Deminick 91ca72b56d Update V8_GETTING_STARTED.md 2018-05-22 13:05:05 +02:00
Shannon Deminick 355209354e Update V8_GETTING_STARTED.md 2018-05-22 12:58:14 +02:00
Sebastiaan Janssen 96ce2882a2 Merge pull request #2643 from abjerner/patch-38
Health Checks: the warning icon should be orange instead of yellow
2018-05-22 11:00:11 +02:00
Anders Bjerner 068ad19492 Health Checks: the warning icon should be orange instead of yellow
Both the yellow and orange colors used to be a bit darker, but when more colors were introduced in 7.10.x, the two colors were made a bit lighter. So now the yellow warning icon is hard to see on a white background, but the orange color now looks just right ;)
2018-05-22 10:44:43 +02:00
Mundairson 6fb4f8fc8b Corrected some spelling and grammar. 2018-05-22 01:10:41 +01:00
Stephan baba390c7b Version 8.0.0-alpha.41 2018-05-21 23:04:18 +02:00
Stephan a3a14c8339 Fix NuGet packages - oh well 2018-05-21 22:38:27 +02:00
Stephan e4bd0e975e Fix NuGet package 2018-05-21 19:08:52 +02:00
Lars-Erik Aabech e7fce9120e Added several events to content editor 2018-05-21 18:04:50 +02:00
Lars-Erik Aabech 76c924fbaa Events emitted from the grid on init, row added and item added w/DOM element and scope. 2018-05-21 17:06:12 +02:00
Stephan bd07a1ba5c Version 8.0.0-alpha.40 2018-05-21 11:49:20 +02:00
Stephan f535f6d324 Cleanup ModelsBuilder merge 2018-05-21 11:49:08 +02:00
Sebastiaan Janssen 93b470f15c Merge pull request #2638 from rozzilla/patch-2
Update README img
2018-05-21 10:25:31 +02:00
Roberto Bianchi 1cef87ee34 Update README img 2018-05-21 10:20:44 +02:00
Stephan 373fad6efe Merge ModelsBuilder in, NuGet dies on circ dependencies now 2018-05-21 10:05:52 +02:00
leekelleher 21dbd1e402 Corrected a typo with MultipleTextStringConfiguration class name
@zpqrtbnk approved in person this at CGRT18 ;-)
2018-05-20 18:16:09 +01:00
Maarten Kieft 8e7630cd9c Make Base AnchestorOrSelf function public
By making this function public, developers can use it to iterate over the tree on different property / function than the ones which are created. It makes umbraco easier to extend. Now we have to copy existing code in order to do this.
2018-05-17 12:09:15 +02:00
Shannon Deminick 8985d514ec cross link to v8 branch 2018-05-16 13:36:57 +02:00
Shannon Deminick 3c82315782 cross link to the v8 branch 2018-05-16 12:56:00 +02:00
Poornima Nayar deaf26109b check for recursive value 2018-05-15 19:33:36 +01:00
Sebastiaan Janssen 58751577c6 Merge pull request #2622 from DanDiplo/temp-U4-11313
u4 11313 - ContainsAny() method in StringExtensions doesn't honour the StringComparison parameter
2018-05-15 13:07:21 +02:00
Sebastiaan Janssen debe0d811c Merge pull request #2628 from ragivi/patch-1
Update preview page
2018-05-15 13:00:57 +02:00
Sebastiaan Janssen 8d09243473 Merge pull request #2626 from DanDiplo/temp-U4-10706
U4-10706 - Fixes TypedMedia not working with UDI strings
2018-05-15 12:44:46 +02:00
Robert 5cd80daa3f Child nodes of a list view should now render when set as a start node 2018-05-15 11:21:37 +02:00
ragivi 2b4cf7d185 Update preview page
In order to avoid indexing.
2018-05-14 14:48:01 +02:00
efabioli 9040b1a3cb NullReferenceException
Retrieving ExternalSignInAutoLinkOptions only if authType is not null.  
Issue found in version 7.9 too; not checked other versions.
2018-05-11 16:27:43 +02:00
Dan Booth 9a8f71dd81 Fixed issue where TypedMedia didn't work with UDI strings 2018-05-11 14:53:03 +01:00
Poornima Nayar d05819e125 Fixed typos in tours 2018-05-11 12:23:51 +01:00
Dan Booth 9c65ed92f1 Added string ContainsAny tests for the ContainsAny(haystack, needles, comparison) extension method 2018-05-10 14:29:00 +01:00
Dan Booth 3f35eca999 Fixed ContainsAny method so that it uses the passed in Comparison method (which enabled case-insensitive comparisons to work) 2018-05-10 14:28:16 +01:00
andyneil 4a86244924 Merge pull request #1 from umbraco/dev-v7
Latest master
2018-05-08 18:28:54 +01:00
Sebastiaan Janssen 324cd7e98f Adds a quick start to setup a gulp environment - when you have NPM in the path the pre-requisites get taken care of 2018-05-04 10:33:35 +02:00
Simon Dingley fcefae078e Merge branch 'dev-v7' into issues/U4-11296 2018-05-01 14:45:06 +01:00
Simon Dingley 0a45f8f51c Fixes U4-11296 allowing nulls to be stored in the comment column of the umbracoConsent table 2018-05-01 13:59:46 +01:00
James Coxhead f1521ad752 Added filtering to Nested Content add doctype overlay 2018-04-30 22:01:48 +01:00
Niels Hartvig 51061fe4ba Makes container a list view by default and tries to match icons automatically 2018-04-30 10:04:17 +02:00
Niels Hartvig 9ffca1bcab Implements doc type collections 2018-04-30 09:13:34 +02:00
mvanhelmont b492641633 U4-11275
This is a simple fix for U4-11275 so that packages also can set routePath to something like a overview page. Like the new user section when you don't want to display children. Is a copy of /:section/:tree/:method/:id
2018-04-29 08:48:49 +02:00
Dave Woestenborghs 759e1f2e5a U4-11233 make sure when a tour step is marked as intro get's displayed centered, even if element is set 2018-04-18 08:27:03 +02:00
Bjarne Fyrstenborg e3faa05435 Lookup member type to map this name of this to the MemberListDisplay model 2018-04-15 19:03:38 +02:00
Robert Dyson a5aa1b4db7 Allow capital letters for email address entry in RegesterModel 2018-04-13 11:18:17 +01:00
Damiaan cabcb08b98 Typo in the docs reference
Makes it hard to navigate the documentation :-)
2018-04-09 09:16:58 +02:00
AndyButland 78121dd0f2 Re-send of invitation from user profile.
Allow delete of users that haven't logged in from user profile.
Prevent disable/enable and change password options from user profile for invited users.
2018-04-09 08:52:54 +02:00
Michaël Vanbrabandt 6abd778fd9 Fix wrong closing i tag and wrong title for edit button 2018-04-07 13:50:10 +02:00
leekelleher 639ef53c88 U4-9088 - Macro Container Property Type returned incorrect object-type
The `PropertyValueType` attribute marks this converter as returning an `IHtmlString`, but `ConvertDataToSource` returns a `string` type.
This patch corrects the return type to be a `HtmlString`.
2018-04-05 17:56:10 +01:00
leekelleher 23612d7599 U4-9668 RelationService - Relates entities by ID and a relationType + Alias
Currently you need to supply both parent & child entities to create a new relation.
When the underlying code requires the entity IDs (int).

This patch adds methods to accept the int IDs.
http://issues.umbraco.org/issue/U4-9668

This patch also de-duplicates the logic from `Relate(IUmbracoEntity, IUmbracoEntity, string)`,
as it was the same as the method body of `Relate(IUmbracoEntity, IUmbracoEntity, IRelationType)`.
2018-04-05 14:37:45 +01:00
Claus 08bf48b8b7 adding the fix for content controller - to support when uploads are done via content. 2018-04-05 11:04:56 +02:00
Claus 8ddda5868e fixes U4-10816 Umbraco V7.7.1 - Media - File upload taking full path 2018-04-05 10:41:08 +02:00
Marc Goodson 73565d9be1 Consider the 'case' of the Member Group/Role Name when comparing, during assignment, whether or not the Member Group/Role exists and whether it needs to be created... and whether the Member belongs to a particular Group/Role and whether they need to be assigned. 2018-03-29 09:12:57 +01:00
Søren Gregersen a623e4034c Updated documentation + default values for getPagedDescendants
Changed type in example, from unknown "Content" to known "Document". 

Also changed the default values to show the first page, with a 100 results, instead the 100th page with 1 result.
2018-03-28 11:00:35 +02:00
Michaël Vanbrabandt b0ab408fda Update NL.xml
Set die instead of dat
2018-03-27 17:19:24 +02:00
Michaël Vanbrabandt b962d2a9d3 Update NL.xml with missing translations 2018-03-27 15:55:28 +02:00
Ronald Barendse 477761a81a Added property editor alias to PreValueDisplayResolver warning and updated key lookup 2018-03-22 10:41:14 +01:00
Bjarne Fyrstenborg 587d9b6d6c Remove umb-pane from dialog 2018-03-18 20:05:16 +01:00
Bjarne Fyrstenborg 4babcbf96e Hide tooltip of slider property editor in document type editor property preview 2018-03-17 17:16:14 +01:00
Nathalie Festin 4512cf0145 Filtering items 'Allow items of type' in mini list view in MNTP 2018-03-11 20:49:43 +01:00
Nathalie Festin 38e9a3d2ee Bug in exclude - Dialogoption.filter 2018-03-11 20:41:51 +01:00
Peter Duncanson 13f42773d7 Added web.config to fonts folder to allow for caching out of the box 2018-03-06 17:02:16 +00:00
Rune Hem Strand 20216df8cf Add check to avoid cicular template reference 2018-03-02 17:49:02 +01:00
skg@novicell.dk be2ed0e8da Added a generic TableExists-method 2018-03-01 20:31:26 +01:00
Steve Fawcett 71d3c1112e Fix: TinyMCE overlay was showing in front of login overlay 2018-02-27 17:48:53 +00:00
Maciej Sadowski 5bfac6c5b4 fix x alignment in colorpicker in umbraco skin 2018-02-27 09:23:35 +01:00
Samuel Sperling 863679b386 U4-10849 fixed Umbraco user field "User Last updated" and "last locked date" not updating after password change / account locking.. 2018-02-22 14:06:26 +11:00
Rebecca c040cfefcd Failed Logon Attempts resets to 0 after maximum number of attempts 2018-02-22 13:02:34 +10:00
Dennis Öhman ebae69d00c U4-10962 - Disable stickyheader when nested, fix margins when disabled 2018-02-11 16:58:46 +01:00
Anders Bjerner a8ea535bb2 "Select editor" items shouldn't have a max height 2018-01-22 18:52:54 +01:00
John Churchley bf1a90020c Allow Members tree to work independently of Member Types tree by giving it permission to access the MemberType.GetAllTypes Method 2017-12-20 16:35:24 +00:00
Matt Darby 3d326158ca Check node permissions only on content list view 2017-12-06 19:58:58 +07:00
Bjarne Fyrstenborg a388657dbb Change types of listview properties 2017-11-15 19:11:35 +01:00
Tim a861d306c9 Makes changes recommended by Sebastian, includes missing Migration. 2017-11-07 09:39:18 +00:00
Tim 802a4386c3 Renames the true false field to be more descriptive, adds migration to change existing name. 2017-11-02 10:58:44 +00:00
Andy Felton 899265c5c5 Use the underlying Peta Poco DB type to get the Type 2017-10-21 14:44:09 +01:00
Marc Goodson 0752ef06b1 Enables the editor to skip the macro selection stage, when there is only one Macro and it has parameters (is this a controller still used? ) 2017-10-15 10:36:26 +01:00
Marc Goodson 404fc40127 Skips the Macro Selection stage if only one macro exists, and it has parameters to be entered 2017-10-15 10:28:16 +01:00
Stefano Chiodino 647d3e8792 Normalises whitespace (replace tabs) and add EOF line 2017-10-05 19:17:06 +01:00
Lennard Fonteijn d980ffe783 Added possibilty to ignore collisions from an IContentFinder 2017-08-23 23:14:49 +02:00
Eyescream 3b231f5138 Update fileupload.controller.js
Uploading a file with a comma in it resulted in an error (because server side there was a split on the comma character). The comma later was replaced with a dash, so it's safe to replace it before sending it to the server.
2017-07-28 15:49:07 +02:00
David Peck 1ece576825 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into U4-8550
Conflicts:
	src/Umbraco.Web.UI/config/umbracoSettings.config
2017-05-30 23:13:33 +01:00
David Peck a2611ce35f Changed the name of IsTemplateAllowed to IsAllowedTemplate to reflect the usage elsewhere and changed the overload of IsAllowedTemplate with the alias parameter to use the template id version to be more DRY 2017-05-30 22:39:26 +01:00
bjarnef e501f0f612 Fix positioning of file icon extension label 2016-11-15 21:26:57 +01:00
Tim Geyssens 7aeea96e23 First take localized text into account before the title property when working with tree headers 2016-11-11 11:45:25 +01:00
David Peck 7a89580db2 Merge branch 'dev-v7' into U4-8550 2016-11-08 21:06:39 +00:00
David Peck a031551fb2 Rationalised changes in whitespace, to reduce the differences in the PR 2016-11-08 17:59:30 +00:00
David Peck 69728fb5c4 Changed Allowed Templates setting to be validate templates which checks url only 2016-11-08 08:27:18 +00:00
David Peck afd91f8adb Added ability to only allow templates what are allowed by the document type 2016-11-03 16:25:45 +00:00
Patrick Scott d99d5a0b36 Issue U4-5572 convert file name to friendly media item name 2016-11-03 14:30:57 +00:00
5719 changed files with 369669 additions and 230146 deletions
+1 -14
View File
@@ -8,23 +8,10 @@ root = true
# Use 4 spaces as indentation
[*]
insert_final_newline = true
end_of_line = lf
indent_style = space
indent_size = 4
# Trim trailing whitespace, limited support.
# https://github.com/editorconfig/editorconfig/wiki/Property-research:-Trim-trailing-spaces
trim_trailing_whitespace = true
[*.{cs,vb}]
dotnet_style_predefined_type_for_locals_parameters_members = true:error
dotnet_naming_rule.private_members_with_underscore.symbols = private_fields
dotnet_naming_rule.private_members_with_underscore.style = prefix_underscore
dotnet_naming_rule.private_members_with_underscore.severity = suggestion
dotnet_naming_symbols.private_fields.applicable_kinds = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private
dotnet_naming_style.prefix_underscore.capitalization = camel_case
dotnet_naming_style.prefix_underscore.required_prefix = _
csharp_prefer_braces = false : none
+42 -20
View File
@@ -6,13 +6,19 @@ Umbraco Cms Build
To build Umbraco, fire PowerShell and move to Umbraco's repository root (the directory that contains `src`, `build`, `README.md`...). There, trigger the build with the following command:
build/build.ps1
build\build.ps1
By default, this builds the current version. It is possible to specify a different version as a parameter to the build script:
build\build.ps1 7.6.44
Valid version strings are defined in the `Set-UmbracoVersion` documentation below.
## PowerShell Quirks
There is a good chance that running `build.ps1` ends up in error, with messages such as
>The file ...\build.ps1 is not digitally signed. You cannot run this script on the current system. For more information about running scripts and setting execution policy, see about_Execution_Policies.
>The file ...\build\build.ps1 is not digitally signed. You cannot run this script on the current system. For more information about running scripts and setting execution policy, see about_Execution_Policies.
PowerShell has *Execution Policies* that may prevent the script from running. You can check the current policies with:
@@ -36,7 +42,7 @@ Alternatively, you can do it at machine level, from within an elevated PowerShel
And *then* the script should run. It *might* however still complain about executing scripts, with messages such as:
>Security warning - Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message. Do you want to run ...\build.ps1?
>Security warning - Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message. Do you want to run ...\build\build.ps1?
[D] Do not run [R] Run once [S] Suspend [?] Help (default is "D"):
This is usually caused by the scripts being *blocked*. And that usually happens when the source code has been downloaded as a Zip file. When Windows downloads Zip files, they are marked as *blocked* (technically, they have a Zone.Identifier alternate data stream, with a value of "3" to indicate that they were downloaded from the Internet). And when such a Zip file is un-zipped, each and every single file is also marked as blocked.
@@ -45,20 +51,30 @@ The best solution is to unblock the Zip file before un-zipping: right-click the
PS> Get-ChildItem -Recurse *.* | Unblock-File
## Git Quirks
## Notes
Git might have issues dealing with long file paths during build. You may want/need to enable `core.longpaths` support (see [this page](https://github.com/msysgit/msysgit/wiki/Git-cannot-create-a-file-or-directory-with-a-long-path) for details).
# Build Infrastructure
# Build
The Umbraco Build infrastructure relies on a PowerShell object. The object can be retrieved with:
The Umbraco Build solution relies on a PowerShell module. The module needs to be imported into PowerShell. From within Umbraco's repository root:
$ubuild = build/build.ps1 -get
build\build.ps1 -ModuleOnly
The object exposes various properties and methods that can be used to fine-grain build Umbraco. Some, but not all, of them are detailed below.
Or the abbreviated form:
build\build.ps1 -mo
Once the module has been imported, a set of commands are added to PowerShell.
## Get-UmbracoBuildEnv
Gets the Umbraco build environment ie NuGet, Semver, Visual Studio, etc. Downloads things that can be downloaded such as NuGet. Examples:
$uenv = Get-UmbracoBuildEnv
Write-Host $uenv.SolutionRoot
&$uenv.NuGet help
## Properties
The object exposes the following properties:
* `SolutionRoot`: the absolute path to the solution root
@@ -76,11 +92,11 @@ The Visual Studio object is `null` when Visual Studio has not been detected (eg
* `Minor`: Visual Studio minor version
* `MsBUild`: the absolute path to the MsBuild executable
## GetUmbracoVersion
## Get-UmbracoVersion
Gets an object representing the current Umbraco version. Example:
$v = $ubuild.GetUmbracoVersion()
$v = Get-UmbracoVersion
Write-Host $v.Semver
The object exposes the following properties:
@@ -90,24 +106,28 @@ The object exposes the following properties:
* `Comment`: the pre release part of the version (eg `alpha02`)
* `Build`: the build number part of the version (eg `1234`)
## SetUmbracoVersion
## Set-UmbracoVersion
Modifies Umbraco files with the new version.
>This entirely replaces the legacy `UmbracoVersion.txt` file. Do *not* edit version infos in files.
>This entirely replaces the legacy `UmbracoVersion.txt` file.
The version must be a valid semver version. It can include a *pre release* part (eg `alpha02`) and/or a *build number* (eg `1234`). Examples:
$ubuild.SetUmbracoVersion("7.6.33")
$ubuild.SetUmbracoVersion("7.6.33-alpha.2")
$ubuild.SetUmbracoVersion("7.6.33+1234")
$ubuild.SetUmbracoVersion("7.6.33-beta.5+5678")
Set-UmbracoVersion 7.6.33
Set-UmbracoVersion 7.6.33-alpha02
Set-UmbracoVersion 7.6.33+1234
Set-UmbracoVersion 7.6.33-beta05+5678
## Build
Note that `Set-UmbracoVersion` enforces a slightly more restrictive naming scheme than what semver would tolerate. The pre release part can only be composed of a-z and 0-9, therefore `alpha033` is considered valid but not `alpha.033` nor `alpha033-preview` nor `RC2` (would need to be lowercased `rc2`).
>It is considered best to add trailing zeroes to pre releases, else NuGet gets the order of versions wrong. So if you plan to have more than 10, but no more that 100 alpha versions, number the versions `alpha00`, `alpha01`, etc.
## Build-Umbraco
Builds Umbraco. Temporary files are generated in `build.tmp` while the actual artifacts (zip files, NuGet packages...) are produced in `build.out`. Example:
$ubuild.Build()
Build-Umbraco
Some log files, such as MsBuild logs, are produced in `build.tmp` too. The `build` directory should remain clean during a build.
@@ -161,4 +181,6 @@ We should increment versions as soon as a version is released. Ie, as soon as `7
NuGet / NuSpec consistency checks are performed in tests. We should move it so it is done as part of the PowerShell script even before we try to compile and run the tests.
There are still a few commands in `build` (to build docs, install Git or cleanup the install) that will need to be migrated to PowerShell.
/eof
+32
View File
@@ -0,0 +1,32 @@
# Code Of Conduct
Our informal code of conduct concentrates on the values we, as Umbraco HQ, have set for ourselves and for our community. We expect you to be a friend.
Instead of listing out all the exact "do's" and "don't's" we want to challenge you to think about our values and apply them:
If there's a need to talk to Umbraco HQ about anything, please make sure to send a mail to [Sebastiaan Janssen - sj@umbraco.dk](mailto:sj@umbraco.dk).
## Be a Friend
We welcome and thank you for registering at Our Umbraco. Find below the values that govern Umbraco and which you accept by using Our Umbraco.
## Trust
Assume positive intent and try to understand before being understood.
## Respect
Treat others as you would like to be treated.
This also goes for treating the HQ with respect. For example: dont promote products on [our.umbraco.com](https://our.umbraco.com) that directly compete with our commercial offerings which enables us to work for a sustainable Umbraco.
## Open
Be honest and straightforward. Tell it as it is. Share thoughts and knowledge and engage in collaboration.
## Hungry
Don't rest on your laurels and never accept the status quo. Contribute and give back to fellow Umbracians.
## Friendly
Dont judge upon mistakes made but rather upon the speed and quality with which mistakes are corrected. Friendly posts and contributions generate smiles and builds long lasting relationships.
+97
View File
@@ -0,0 +1,97 @@
_Looking for Umbraco version 8? [Click here](https://github.com/umbraco/Umbraco-CMS/blob/dev-v8/.github/V8_GETTING_STARTED.md) to go to the v8 branch_
# Contributing to Umbraco CMS
👍🎉 First off, thanks for taking the time to contribute! 🎉👍
The following is a set of guidelines for contributing to Umbraco CMS.
These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
Remember, we're a friendly bunch and are happy with whatever contribution you might provide. Below are guidelines for success that we've gathered over the years. If you choose to ignore them then we still love you 💖.
## Contributing code changes
This document gives you a quick overview on how to get started, we will link to in-depth documentation throughout if you need some more background info.
## Guidelines for contributions we welcome
Not all changes are wanted, so on occassion we might close a PR without merging it. We will give you feedback why we can't accept your changes and we'll be nice about it, thanking you for spending your valuable time.
We have [documented what we consider small and large changes](CONTRIBUTION_GUIDELINES.md). Make sure to talk to us before making large changes.
Remember, if an issue is in the `Up for grabs` list or you've asked for some feedback before you sent us a PR, your PR will not be closed as unwanted.
## How do I begin?
Great question! The short version goes like this:
* **Fork** - create a fork of [`Umbraco-CMS` on GitHub](https://github.com/umbraco/Umbraco-CMS)
![Fork the repository](img/forkrepository.png)
* **Clone** - when GitHub has created your fork, you can clone it in your favorite Git tool
![Clone the fork](img/clonefork.png)
* **Build** - build your fork of Umbraco locally as described in [building Umbraco from source code](BUILD.md)
* **Change** - make your changes, experiment, have fun, explore and learn, and don't be afraid. We welcome all contributions and will [happily give feedback](#questions)
* **Commit** - done? Yay! 🎉 It is recommended to create a new branch now and name it after the issue you're fixing, we usually follow the format: `temp-12345`. This means it's a temporary branch for the particular issue you're working on, in this case `12345`
* **Push** - great, now you can push the changes up to your fork on GitHub
* **Create pull request** - exciting! You're ready to show us your changes (or not quite ready, you just need some feedback to progress). GitHub has picked up on the new branch you've pushed and will offer to create a Pull Request. Click that green button and away you go.
![Create a pull request](img/createpullrequest.png)
### Further reading
At this point you might want to [read on about contributing in depth](CONTRIBUTING_DETAILED.md).
### Reviews
You've sent us your first contribution, congratulations! Now what?
The [pull request team](#the-pr-team) can now start reviewing your proposed changes and give you feedback on them. If it's not perfect, we'll either fix up what we need or we can request you to make some additional changes.
We have [a process in place which you can read all about](REVIEW_PROCESS.md). The very abbreviated version is:
- Your PR will get a reply within 48 hours
- An in-depth reply will be added within at most 2 weeks
- The PR will be either merged or rejected within at most 4 weeks
- Sometimes it is difficult to meet these timelines and we'll talk to you
## Styleguides
To be honest, we don't like rules very much. We trust you have the best of intentions and we encourage you to create working code. If it doesn't look perfect then we'll happily help clean it up.
That said, the Umbraco development team likes to follow the hints that ReSharper gives us (no problem if you don't have this installed) and we've added a `.editorconfig` file so that Visual Studio knows what to do with whitespace, line endings, etc.
## The PR team
The pull request team consists of a member of Umbraco HQ, [Sebastiaan](https://github.com/nul800sebastiaan), who gets assistance from the following community members
- [Anders Bjerner](https://github.com/abjerner)
- [Dave Woestenborghs](https://github.com/dawoe)
- [Emma Burstow](https://github.com/emmaburstow)
- [Poornima Nayar](https://github.com/poornimanayar)
These wonderful volunteers will provide you with a first reply to your PR, review and test out your changes and might ask more questions. After that they'll let Umbraco HQ know if everything seems okay.
## Questions?
You can get in touch with [the PR team](#the-pr-team) in multiple ways, we love open conversations and we are a friendly bunch. No question you have is stupid. Any questions you have usually helps out multiple people with the same question. Ask away:
- If there's an existing issue on the issue tracker then that's a good place to leave questions and discuss how to start or move forward
- Unsure where to start? Did something not work as expected? Try leaving a note in the ["Contributing to Umbraco"](https://our.umbraco.com/forum/contributing-to-umbraco-cms/) forum, the team monitors that one closely
## Code of Conduct
This project and everyone participating in it is governed by the [our Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [Sebastiaan Janssen - sj@umbraco.dk](mailto:sj@umbraco.dk).
## Contributing to Umbraco, in depth
There are other ways to contribute, and there's a few more things that you might be wondering about. We will answer the [most common questions and ways to contribute in our detailed documentation](CONTRIBUTING_DETAILED.md).
## Credits
This contribution guide borrows heavily from the excellent work on [the Atom contribution guide](https://github.com/atom/atom/blob/master/CONTRIBUTING.md). A big [#h5yr](http://h5yr.com/) to them!
+163
View File
@@ -0,0 +1,163 @@
# Contributing in detail
There's more than one way to contribute to Umbraco, there's some more suggestions below.
When contributing code to Umbraco there's plenty of things you'll want to know, skip down to [What should I know before I get started](#what-should-i-know-before-i-get-started) for the answers to your burning questions.
#### Table Of Contents
[How Can I Contribute?](#how-can-i-contribute)
* [Reporting Bugs](#reporting-bugs)
* [Suggesting Enhancements](#suggesting-enhancements)
* [Your First Code Contribution](#your-first-code-contribution)
* [Pull Requests](#pull-requests)
[Styleguides](#styleguides)
[What should I know before I get started?](#what-should-i-know-before-i-get-started)
* [Working with the source code](#working-with-the-source-code)
* [What branch should I target for my contributions?](#what-branch-should-i-target-for-my-contributions)
* [Building Umbraco from source code](#building-umbraco-from-source-code)
* [Keeping your Umbraco fork in sync with the main repository](#keeping-your-umbraco-fork-in-sync-with-the-main-repository)
## How Can I Contribute?
### Reporting Bugs
This section guides you through submitting a bug report for Umbraco CMS. Following these guidelines helps maintainers and the community understand your report 📝, reproduce the behavior 💻 💻, and find related reports 🔎.
Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you might find out that you don't need to create one. When you are creating a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). Fill out [the required template](https://github.com/umbraco/Umbraco-CMS/issues/new/choose), the information it asks for helps us resolve issues faster.
> **Note:** If you find a **Closed** issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
##### Before Submitting A Bug Report
* Most importantly, check **if you can reproduce the problem** in the [latest version of Umbraco](https://our.umbraco.com/download/). We might have already fixed your particular problem.
* It also helps tremendously to check if the issue you're experiencing is present in **a clean install** of the Umbraco version you're currently using. Custom code can have side-effects that don't occur in a clean install.
* **Use the Google**. Whatever you're experiencing, Google it plus "Umbraco" - usually you can get some pretty good hints from the search results, including open issues and further troubleshooting hints.
* If you do find and existing issue has **and the issue is still open**, add a comment to the existing issue if you have additional information. If you have the same problem and no new info to add, just "star" the issue.
Explain the problem and include additional details to help maintainers reproduce the problem. The following is a long description which we've boiled down into a few very simple questions in the issue tracker when you create a new issue. We're listing the following hints to indicate that the most successful reports usually have a lot of this ground covered:
* **Use a clear and descriptive title** for the issue to identify the problem.
* **Describe the exact steps which reproduce the problem** in as many details as possible. For example, start by explaining which steps you took in the backoffice to get to a certain undesireable result, e.g. you created a document type, inherting 3 levels deep, added a certain datatype, tried to save it and you got an error.
* **Provide specific examples to demonstrate the steps**. If you wrote some code, try to provide a code sample as specific as possible to be able to reproduce the behavior.
* **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior.
* **Explain which behavior you expected to see instead and why.**
Provide more context by answering these questions:
* **Can you reproduce the problem** when `debug="false"` in your `web.config` file?
* **Did the problem start happening recently** (e.g. after updating to a new version of Umbraco) or was this always a problem?
* **Can you reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens.
Include details about your configuration and environment:
* **Which version of Umbraco are you using?**
* **What is the environment you're using Umbraco in?** Is this a problem on your local machine or on a server. Tell us about your configuration: Windows version, IIS/IISExpress, database type, etc.
* **Which packages do you have installed?**
### Suggesting Enhancements
This section guides you through submitting an enhancement suggestion for Umbraco, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion 📝 and find related suggestions 🔎.
Most of the suggestions in the [reporting bugs](#reporting-bugs) section also count for suggesting enhancements.
Some additional hints that may be helpful:
* **Include screenshots and animated GIFs** which help you demonstrate the steps or point out the part of Umbraco which the suggestion is related to.
* **Explain why this enhancement would be useful to most Umbraco users** and isn't something that can or should be implemented as a [community package](https://our.umbraco.com/projects/).
### Your First Code Contribution
Unsure where to begin contributing to Umbraco? You can start by looking through [these `Up for grabs` and issues](https://issues.umbraco.org/issues?q=&project=U4&tagValue=upforgrabs&release=&issueType=&search=search) or on the [new issue tracker](https://github.com/umbraco/Umbraco-CMS/issues?q=is%3Aopen+is%3Aissue+label%3Acommunity%2Fup-for-grabs).
### Pull Requests
The most successful pull requests usually look a like this:
* Fill in the required template
* Include screenshots and animated GIFs in your pull request whenever possible.
* Unit tests, while optional are awesome, thank you!
* New code is commented with documentation from which [the reference documentation](https://our.umbraco.com/documentation/Reference/) is generated
Again, these are guidelines, not strict requirements.
## Making changes after the PR was opened
If you make the corrections we ask for in the same branch and push them to your fork again, the pull request automatically updates with the additional commit(s) so we can review it again. If all is well, we'll merge the code and your commits are forever part of Umbraco!
## Styleguides
To be honest, we don't like rules very much. We trust you have the best of intentions and we encourage you to create working code. If it doesn't look perfect then we'll happily help clean it up.
That said, the Umbraco development team likes to follow the hints that ReSharper gives us (no problem if you don't have this installed) and we've added a `.editorconfig` file so that Visual Studio knows what to do with whitespace, line endings, etc.
## What should I know before I get started?
### Working with the source code
Some parts of our source code is over 10 years old now. And when we say "old", we mean "mature" of course!
There's two big areas that you should know about:
1. The Umbraco backoffice is a extensible AngularJS app and requires you to run a `gulp dev` command while you're working with it, so changes are copied over to the appropriate directories and you can refresh your browser to view the results of your changes.
You may need to run the following commands to set up gulp properly:
```
npm cache clean
npm install -g bower
npm install -g gulp
npm install -g gulp-cli
npm install
gulp build
```
2. "The rest" is a C# based codebase, with some traces of our WebForms past but mostly ASP.NET MVC based these days. You can make changes, build them in Visual Studio, and hit `F5` to see the result.
To find the general areas of something you're looking to fix or improve, have a look at the following two parts of the API documentation.
* [The AngularJS based backoffice files](https://our.umbraco.com/apidocs/ui/#/api) (to be found in `src\Umbraco.Web.UI.Client\src`)
* [The rest](https://our.umbraco.com/apidocs/csharp/)
### What branch should I target for my contributions?
We like to use [Gitflow as much as possible](https://jeffkreeftmeijer.com/git-flow/), don't worry if you are not familiar with it. The most important thing you need to know is that when you fork the Umbraco repository, the default branch is set to something, usually `dev-v7`. Whatever the default is, that's where we'd like you to target your contributions.
![What branch do you want me to target?](img/defaultbranch.png)
### Building Umbraco from source code
In order to build the Umbraco source code locally, first make sure you have the following installed.
* Visual Studio 2017 v15.3+
* Node v10+ (Installed via `build.bat` script. If you already have it installed, make sure you're running at least v10)
* npm v6.4.1+ (Installed via `build.bat` script. If you already have it installed, make sure you're running at least v6.4.1)
The easiest way to get started is to run `build.bat` which will build both the backoffice (also known as "Belle") and the Umbraco core. You can then easily start debugging from Visual Studio, or if you need to debug Belle you can run `gulp dev` in `src\Umbraco.Web.UI.Client`. See [this page](BUILD.md) for more details.
Alternatively, you can open `src\umbraco.sln` in Visual Studio 2017 (version 15.3 or higher, [the community edition is free](https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15) for you to use to contribute to Open Source projects). In Visual Studio, find the Task Runner Explorer (in the View menu under Other Windows) and run the build task under the gulpfile.
![Gulp build in Visual Studio](img/gulpbuild.png)
After this build completes, you should be able to hit `F5` in Visual Studio to build and run the project. A IISExpress webserver will start and the Umbraco installer will pop up in your browser, follow the directions there to get a working Umbraco install up and running.
### Keeping your Umbraco fork in sync with the main repository
We recommend you sync with our repository before you submit your pull request. That way, you can fix any potential merge conflicts and make our lives a little bit easier.
Also, if you've submitted a pull request three weeks ago and want to work on something new, you'll want to get the latest code to build against of course.
To sync your fork with this original one, you'll have to add the upstream url, you only have to do this once:
```
git remote add upstream https://github.com/umbraco/Umbraco-CMS.git
```
Then when you want to get the changes from the main repository:
```
git fetch upstream
git rebase upstream/dev-v7
```
In this command we're syncing with the `dev-v7` branch, but you can of course choose another one if needed.
(More info on how this works: [http://robots.thoughtbot.com/post/5133345960/keeping-a-git-fork-updated](http://robots.thoughtbot.com/post/5133345960/keeping-a-git-fork-updated))
+33
View File
@@ -0,0 +1,33 @@
# Contributing to Umbraco CMS
When youre considering creating a pull request for Umbraco CMS, we will categorize them in two different sizes, small and large.
The process for both sizes is very similar, as [explained in the contribution document](CONTRIBUTING.md#how-do-i-begin).
## Small PRs
Bug fixes and small improvements - can be recognized by seeing a small number of changes and possibly a small number of new files.
Were usually able to handle small PRs pretty quickly. A community volunteer will do the initial review and flag it for Umbraco HQ as “community tested”. If everything looks good, it will be merged pretty quickly [as per the described process](REVIEW_PROCESS.md).
### Up for grabs
Umbraco HQ will regularly mark newly created issues on the issue tracker with the `Up for grabs` tag. This means that the proposed changes are wanted in Umbraco but the HQ does not have the time to make them at this time. These issues are usually small enough to fit in the "Small PRs" category and we encourage anyone to pick them up and help out.
If you do start working on something, make sure leave a small comment on the issue saying something like: "I'm working on this". That way other people stumbling upon the issue know they don't need to pick it up, someone already has.
## Large PRs
New features and large refactorings - can be recognized by seeing a large number of changes, plenty of new files, updates to package manager files (NuGets packages.config, NPMs packages.json, etc.).
We would love to follow the same process for larger PRs but this is not always possible due to time limitations and priorities that need to be aligned. We dont want to put up any barriers, but this document should set the correct expectations.
Please make sure to describe your idea in an issue, it helps to put in mockup screenshots or videos.
If the change makes sense for HQ to include in Umbraco CMS we will leave you some feedback on how wed like to see it being implemented.
If a larger pull request is encouraged by Umbraco HQ, the process will be similar to what is described in the [small PRs process](#small-prs) above, well get feedback to you within 14 days. Finalizing and merging the PR might take longer though as it will likely need to be picked up by the development team to make sure everything is in order. Well keep you posted on the progress.
### Pull request or package?
If it doesnt fit in CMS right now, we will likely encourage you to make it into a package instead. A package is a great way to check out popularity of a feature, learn how people use it, validate good usability and to fix bugs.
Eventually, a package could "graduate" to be included in the CMS.
+66
View File
@@ -0,0 +1,66 @@
---
name: 🐛 Bug Report
about: File a bug report, if you've discovered a problem in Umbraco.
---
A brief description of the issue goes here.
<!--
If you haven't yet done so, please read the "contributing guidelines"
thoroughly. Then, proceed by filling out the rest of the details in the issue
template below. The more details you can give us, the easier it will be for us
to determine the cause of a problem.
See: https://github.com/umbraco/Umbraco-CMS/blob/dev-v7/.github/CONTRIBUTING.md
-->
Reproduction
------------
If you're filing a bug, please describe how to reproduce it. Include as much
relevant information as possible, such as:
### Bug summary
<!--
* Write a short summary of the bug
* Try to pinpoint it as much as possible
* Try to state the _actual problem_, and not just what you _think_ the
solution might be.
-->
### Specifics
<!--
* Mention the URL where this bug occurs, if applicable
* What version of Umbraco are you using (down to the very last digit!)
* What browser and version you are using
* Please mention if you've checked it in other browsers as well
* Please include *full error messages* and *screenshots* if possible
-->
### Steps to reproduce
<!--
* Clearly mention the steps to reproduce the bug
-->
### Expected result
<!--
* What did you _expect_ that would happen on your Umbraco site?
* Describe the intended/desired outcome after you did the steps mentioned.
-->
### Actual result
<!--
* What is the actual result of the above steps?
* Describe the behaviour of the bug
* Please, please include **error messages** and screenshots. They might mean
nothing to you, but they are _very_ helpful to us.
-->
@@ -0,0 +1,31 @@
---
name: 📮 Feature Request
about: Open a feature request, if you want to propose a new feature.
---
A brief description of your feature request goes here.
<!--
If you want to discuss the feature you're imagining, please make sure to keep
those discussions on the forum at https://our.umbraco.com/ (choose the
category "Contributing to Umbraco", Umbraco HQ follows all new topics there).
Once you've come to a conclusion in the discussion, feel free to propose the
new feature here.
-->
How can you help?
-------------------------------
<!--
The resources (read: available time and effort) of Umbraco's core team are
limited.
If we can not work on your suggestion, please don't take it personally. Most
likely, it's either:
- We think your idea is valid, but we can't find the time to work on it.
- Your idea might be better suited as a package, if it's not suitable for
the majority of users.
-->
@@ -0,0 +1,9 @@
---
name: ⁉️ Support Question
about: Having trouble with Umbraco? -> https://our.umbraco.com
---
This issue tracker is NOT meant for support questions. If you have a question,
please join us on the forum at https://our.umbraco.com.
Thanks!
@@ -0,0 +1,9 @@
---
name: 📖 Documentation Issue
about: See https://github.com/umbraco/UmbracoDocs/issues for documentation issues
---
The Umbraco documentation has its own dedicated repository. Please open your
documentation-related issue at https://github.com/umbraco/UmbracoDocs/issues
Thanks!
@@ -0,0 +1,31 @@
---
name: 🔐 Security Issue
about: Discovered a Security Issue in Umbraco?
---
⚠️ PLEASE DON'T DISCLOSE SECURITY-RELATED ISSUES PUBLICLY, SEE BELOW.
If you have found a security issue in Umbraco, please send the details to
security@umbraco.com and don't disclose it publicly until we can provide a fix for
it. If you wish, we'll credit you for finding verified issues, when we release
the patched version.
❗ Please read more about how to report security issues on https://umbraco.com/security
A note on "Self XSS"
--------------------
Umbraco is a CMS, that allows users to edit content on a website. As such,
all _authenticated users_ can:
- Edit content, and (depending on the field types) insert HTML and CSS in that
content, with a variety of allowed attributes.
- Depending on the user level: Edit template files, and insert C#, HTML, CSS and
javascript in so on.
- Upload files to the site, which will become publicly available.
We see these functionalities as _features_, and not as security issues. Please
report the mentioned items only if they can be performed by non-authorized
users, or other exploitable vulnerabilities.
Thanks!
+12
View File
@@ -0,0 +1,12 @@
### Prerequisites
- [ ] I have added steps to test this contribution in the description below
If there's an existing issue for this PR then this fixes: <!-- link to the issue here! -->
### Description
<!-- A description of the changes proposed in the pull-request and how to test these changes -->
<!-- Thanks for contributing to Umbraco CMS! -->
+51
View File
@@ -0,0 +1,51 @@
[![Build status](https://ci.appveyor.com/api/projects/status/6by6harxtxt0ocdx/branch/dev-v7?svg=true)](https://ci.appveyor.com/project/Umbraco/umbraco-cms-b2cri/branch/dev-v7)
[![pullreminders](https://pullreminders.com/badge.svg)](https://pullreminders.com?ref=badge)
_Looking for Umbraco version 8? [Click here](https://github.com/umbraco/Umbraco-CMS/tree/temp8) to go to the v8 branch_
Umbraco CMS
===========
The friendliest, most flexible and fastest growing ASP.NET CMS, and used by more than 443,000 websites worldwide: [https://umbraco.com](https://umbraco.com)
[![ScreenShot](img/vimeo.png)](https://vimeo.com/172382998/)
## Umbraco CMS
Umbraco is a free open source Content Management System built on the ASP.NET platform. Our mission is to help you deliver delightful digital experiences by making Umbraco friendly, simpler and social.
## Watch an introduction video
[![ScreenShot](https://shop.umbraco.com/images/whatisumbraco.png)](https://umbraco.tv/videos/umbraco-v7/content-editor/basics/introduction/cms-explanation/)
## Umbraco - The Friendly CMS
For the first time on the Microsoft platform, there is a free user- and developer-friendly CMS that makes it quick and easy to create websites - and a breeze to build complex web applications. Umbraco has award-winning integration capabilities and supports ASP.NET MVC or Web Forms, including User and Custom Controls, right out of the box.
Umbraco is not only loved by developers, but is a content editor's dream. Enjoy intuitive editing tools, media management, responsive views, and approval workflows to send your content live.
Used by more than 443,000 active websites including Carlsberg, Segway, Amazon and Heinz and **The Official ASP.NET and IIS.NET website from Microsoft** ([https://asp.net](https://asp.net) / [https://iis.net](https://iis.net)), you can be sure that the technology is proven, stable and scalable. Backed by the team at Umbraco HQ, and supported by a dedicated community of over 220,000 craftspeople globally, you can trust that Umbraco is a safe choice and is here to stay.
To view more examples, please visit [https://umbraco.com/case-studies-testimonials/](https://umbraco.com/case-studies-testimonials/)
## Why Open Source?
As an Open Source platform, Umbraco is more than just a CMS. We are transparent with our roadmap for future versions, our incremental sprint planning notes are publicly accessible, and community contributions and packages are available for all to use.
## Trying out Umbraco CMS
[Umbraco Cloud](https://umbraco.com/cloud) is the easiest and fastest way to use Umbraco yet, with full support for all your custom .NET code and integrations. You're up and running in less than a minute, and your life will be made easier with automated upgrades and a built-in deployment engine. We offer a free 14-day trial, no credit card needed.
If you want to DIY, you can [download Umbraco](https://our.umbraco.com/download) either as a ZIP file or via NuGet. It's the same version of Umbraco CMS that powers Umbraco Cloud, but you'll need to find a place to host it yourself, and handling deployments and upgrades will be all up to you.
## Community
Our friendly community is available 24/7 at the community hub we call ["Our Umbraco"](https://our.umbraco.com). Our Umbraco features forums for questions and answers, documentation, downloadable plugins for Umbraco, and a rich collection of community resources.
## Contribute to Umbraco
Umbraco is contribution-focused and community-driven. If you want to contribute back to Umbraco, please check out our [guide to contributing](CONTRIBUTING.md).
## Found a bug?
Another way you can contribute to Umbraco is by providing issue reports. For information on how to submit an issue report, refer to our [online guide for reporting issues](https://github.com/umbraco/Umbraco-CMS/blob/dev-v7/.github/CONTRIBUTING.md).
You can comment and report issues on the [github issue tracker](https://github.com/umbraco/Umbraco-CMS/issues).
Since [September 2018](https://umbraco.com/blog/a-second-take-on-umbraco-issue-tracker-hello-github-issues/), the old issue tracker is in read-only mode, but can still be found at [http://issues.umbraco.org](http://issues.umbraco.org).
+25
View File
@@ -0,0 +1,25 @@
# Review process
You're an awesome person and have sent us your contribution in the form of a pull request! It's now time to relax for a bit and wait for our response.
In order to set some expectations, here's what happens next.
## Review process
You will get an initial reply within 48 hours (workdays) to acknowledge that weve seen your PR and well pick it up as soon as we can.
You will get feedback within at most 14 days after opening the PR. Youll most likely get feedback sooner though. Then there are a few possible outcomes:
- Your proposed change is awesome! We merge it in and it will be included in the next minor release of Umbraco
- If the change is a high priority bug fix, we will cherry-pick it into the next patch release as well so that we can release it as soon as possible
- Your proposed change is awesome but needs a bit more work, well give you feedback on the changes wed like to see
- Your proposed change is awesome but.. not something were looking to include at this point. Well close your PR and the related issue (well be nice about it!)
## Are you still available?
We understand you have other things to do and can't just drop everything to help us out.
So if were asking for your help to improve the PR well wait for two weeks to give you a fair chance to make changes. Well ask for an update if we dont hear back from you after that time.
If we dont hear back from you for 4 weeks, well close the PR so that it doesnt just hang around forever. Youre very welcome to re-open it once you have some more time to spend on it.
There will be times that we really like your proposed changes and well finish the final improvements wed like to see ourselves. You still get the credits and your commits will live on in the git repository.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

+14 -42
View File
@@ -1,50 +1,29 @@
#
# Umbraco Cms Git Ignore
#
# common files
*.obj
*.pdb
*.user
*.aps
*.pch
*.vspscc
*.orig
*.suo
*.vs10x
*.ndproj
*.log
# common directories
.DS_Store
._.DS_Store
.vs/
/local/
# build directories
[Bb]in/
[Bb]in
[Db]ebug*/
[Rr]elease*/
obj/
# tools
[Rr]elease*/
_ReSharper*/
_NCrunch_*/
*.ncrunchsolution
*.ncrunchsolution.user
*.ncrunchproject
*.crunchsolution.cache
tools/NDepend/
[Tt]est[Rr]esult*
[Bb]uild[Ll]og.*
*.[Pp]ublish.xml
*.suo
[sS]ource
[sS]andbox
umbraco.config
*.vs10x
App_Data/TEMP/*
[Uu]mbraco/[Pp]resentation/[Uu]mbraco/[Pp]lugins/*
[Uu]mbraco/[Pp]resentation/[Uu]ser[Cc]ontrols/*
@@ -67,11 +46,12 @@ src/Umbraco.Web.UI/Web.*.config.transformed
umbraco/presentation/umbraco/plugins/uComponents/uComponentsInstaller.ascx
umbraco/presentation/packages/uComponents/MultiNodePicker/CustomTreeService.asmx
*.ncrunchsolution
src/Umbraco.Tests/config/applications.config
src/Umbraco.Tests/config/trees.config
src/Umbraco.Web.UI/web.config
src/Umbraco.Web.UI/Config/ClientDependency.config
*.orig
src/Umbraco.Tests/config/404handlers.config
src/Umbraco.Web.UI/[Vv]iews/*.cshtml
src/Umbraco.Web.UI/[Vv]iews/*.vbhtml
@@ -109,16 +89,18 @@ src/Umbraco.Web.UI/[Uu]mbraco/[Aa]ssets/*
src/Umbraco.Web.UI.Client/[Bb]uild/*
src/Umbraco.Web.UI.Client/[Bb]uild/[Bb]elle/
src/Umbraco.Web.UI/[Uu]ser[Cc]ontrols/
src/Umbraco.Web.UI.Client/src/[Ll]ess/*.css
src/Umbraco.Web.UI.Client/vwd.webinfo
tools/NDepend/
src/Umbraco.Web.UI/App_Plugins/*
src/*.psess
src/*.vspx
src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/routes.js.*
NDependOut/*
*.ndproj
QueryResult.htm
*.ndproj
src/Umbraco.Web.UI/[Uu]mbraco/[Aa]ssets/*
src/Umbraco.Web.UI/[Uu]mbraco/[Ll]ib/*
src/Umbraco.Web.UI/[Uu]mbraco/[Vv]iews/**/*.html
@@ -134,9 +116,6 @@ src/Umbraco.Web.UI.Client/bower_components/*
/src/Umbraco.Web.UI/Umbraco/preview
/src/Umbraco.Web.UI/Umbraco/preview.old
# ignore rule for clearing out Belle (avoid rebuilding all the time)
preserve.belle
#Ignore Rule for output of generated documentation files from Grunt docserve
src/Umbraco.Web.UI.Client/docs/api
src/*.boltdata/
@@ -148,26 +127,19 @@ src/*.boltdata/
src/umbraco.sln.ide/*
src/.vs/
src/Umbraco.Web.UI/umbraco/js/install.loader.js
src/Umbraco.Web.UI/js/*
src/Umbraco.Tests/media
tools/docfx/*
apidocs/_site/*
src/*/project.lock.json
src/.idea/*
apidocs/api/*
build/docs.zip
build/ui-docs.zip
build/csharp-docs.zip
.vs/
src/packages/
src/PrecompiledWeb/*
# build
build.out/
build.tmp/
build/hooks/
build/temp/
# eof
build/Modules/*/temp/
/src/.idea/*
-80
View File
@@ -1,80 +0,0 @@
# Code of Conduct
## 1. Purpose
A primary goal of Umbraco CMS is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof).
This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior.
We invite all those who participate in Umbraco CMS to help us create safe and positive experiences for everyone.
## 2. Open Source Citizenship
A supplemental goal of this Code of Conduct is to increase open source citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community.
Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society.
If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know.
## 3. Expected Behavior
The following behaviors are expected and requested of all community members:
* Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community.
* Exercise consideration and respect in your speech and actions.
* Attempt collaboration before conflict.
* Refrain from demeaning, discriminatory, or harassing behavior and speech.
* Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential.
* Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations.
## 4. Unacceptable Behavior
The following behaviors are considered harassment and are unacceptable within our community:
* Violence, threats of violence or violent language directed against another person.
* Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.
* Posting or displaying sexually explicit or violent material.
* Posting or threatening to post other peoples personally identifying information ("doxing").
* Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability.
* Inappropriate photography or recording.
* Inappropriate physical contact. You should have someones consent before touching them.
* Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances.
* Deliberate intimidation, stalking or following (online or in person).
* Advocating for, or encouraging, any of the above behavior.
* Sustained disruption of community events, including talks and presentations.
## 5. Consequences of Unacceptable Behavior
Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated.
Anyone asked to stop unacceptable behavior is expected to comply immediately.
If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event).
## 6. Reporting Guidelines
If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. Please contact Sebastiaan Janssen - [sj@umbraco.dk](mailto:sj@umbraco.dk).
Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress.
## 7. Addressing Grievances
If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify Umbraco with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies.
## 8. Scope
We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venuesonline and in-personas well as in all one-on-one communications pertaining to community business.
This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members.
## 9. Contact info
Sebastiaan Janssen - [sj@umbraco.dk](mailto:sj@umbraco.dk)
## 10. License and attribution
This Code of Conduct is distributed under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/).
Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy).
Retrieved on November 22, 2016 from [http://citizencodeofconduct.org/](http://citizencodeofconduct.org/)
-209
View File
@@ -1,209 +0,0 @@
# Contributing to Umbraco CMS
👍🎉 First off, thanks for taking the time to contribute! 🎉👍
The following is a set of guidelines for contributing to Umbraco CMS.
These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
Remember, we're a friendly bunch and are happy with whatever contribution you might provide. Below are guidelines for success that we've gathered over the years. If you choose to ignore them then we still love you 💖.
#### Table Of Contents
__[Quick start guide for Umbraco v8](https://github.com/umbraco/Umbraco-CMS/blob/temp8/V8_GETTING_STARTED.md)__
[Code of Conduct](#code-of-conduct)
[How Can I Contribute?](#how-can-i-contribute)
* [Reporting Bugs](#reporting-bugs)
* [Suggesting Enhancements](#suggesting-enhancements)
* [Your First Code Contribution](#your-first-code-contribution)
* [Pull Requests](#pull-requests)
[Styleguides](#styleguides)
[What should I know before I get started?](#what-should-i-know-before-i-get-started)
* [Working with the source code](#working-with-the-source-code)
* [What branch should I target for my contributions?](#what-branch-should-i-target-for-my-contributions)
* [Building Umbraco from source code](#building-umbraco-from-source-code)
* [Keeping your Umbraco fork in sync with the main repository](#keeping-your-umbraco-fork-in-sync-with-the-main-repository)
[How do I even begin?](#how-do-i-even-begin)
[Problems?](#problems)
[Credits](#credits)
## Code of Conduct
This project and everyone participating in it is governed by the [our Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [Sebastiaan Janssen - sj@umbraco.dk](mailto:sj@umbraco.dk).
## How Can I Contribute?
### Reporting Bugs
This section guides you through submitting a bug report for Umbraco CMS. Following these guidelines helps maintainers and the community understand your report 📝, reproduce the behavior 💻 💻, and find related reports 🔎.
Before creating bug reports, please check [this list](#before-submitting-a-bug-report) as you might find out that you don't need to create one. When you are creating a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). Fill out [the required template](http://issues.umbraco.org/issues#newissue=61-30118), the information it asks for helps us resolve issues faster.
> **Note:** If you find a **Closed** issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
##### Before Submitting A Bug Report
* Most importantly, check **if you can reproduce the problem** in the [latest version of Umbraco](https://our.umbraco.org/download/). We might have already fixed your particular problem.
* It also helps tremendously to check if the issue you're experiencing is present in **a clean install** of the Umbraco version you're currently using. Custom code can have side-effects that don't occur in a clean install.
* **Use the Google**. Whatever you're experiencing, Google it plus "Umbraco" - usually you can get some pretty good hints from the search results, including open issues and further troubleshooting hints.
* If you do find and existing issue has **and the issue is still open**, add a comment to the existing issue if you have additional information. If you have the same problem and no new info to add, just "star" the issue.
Explain the problem and include additional details to help maintainers reproduce the problem. The following is a long description which we've boiled down into a few very simple question in the issue tracker when you create a new issue. We're listing the following hints to indicate that the most successful reports usually have a lot of this ground covered:
* **Use a clear and descriptive title** for the issue to identify the problem.
* **Describe the exact steps which reproduce the problem** in as many details as possible. For example, start by explaining which steps you took in the backoffice to get to a certain undesireable result, e.g. you created a document type, inherting 3 levels deep, added a certain datatype, tried to save it and you got an error.
* **Provide specific examples to demonstrate the steps**. If you wrote some code, try to provide a code sample as specific as possible to be able to reproduce the behavior.
* **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior.
* **Explain which behavior you expected to see instead and why.**
Provide more context by answering these questions:
* **Can you reproduce the problem** when `debug="false"` in your `web.config` file?
* **Did the problem start happening recently** (e.g. after updating to a new version of Umbraco) or was this always a problem?
* **Can you reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens.
Include details about your configuration and environment:
* **Which version of Umbraco are you using?**
* **What is the environment you're using Umbraco in?** Is this a problem on your local machine or on a server. Tell us about your configuration: Windows version, IIS/IISExpress, database type, etc.
* **Which packages do you have installed?**
### Suggesting Enhancements
This section guides you through submitting an enhancement suggestion for Atom, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion 📝 and find related suggestions 🔎.
Most of the suggestions in the [reporting bugs](#reporting-bugs) section also count for suggesting enhancements.
Some additional hints that may be helpful:
* **Include screenshots and animated GIFs** which help you demonstrate the steps or point out the part of Umbraco which the suggestion is related to.
* **Explain why this enhancement would be useful to most Umbraco users** and isn't something that can or should be implemented as a [community package](https://our.umbraco.org/projects/).
### Your First Code Contribution
Unsure where to begin contributing to Umbraco? You can start by looking through [these `Up for grabs` and issues](http://issues.umbraco.org/issues/U4?q=%28project%3A+%7BU4%7D+Difficulty%3A+%7BVery+Easy%7D+%23Easy+%23Unresolved+Priority%3A+Normal+%23Major+%23Show-stopper+State%3A+-%7BIn+Progress%7D+sort+by%3A+votes+Affected+versions%3A+-6.*+Affected+versions%3A+-4.*%29+OR+%28tag%3A+%7BUp+For+Grabs%7D+%23Unresolved+%29).
The issue list is sorted by total number of upvotes. While not perfect, number of upvotes is a reasonable proxy for impact a given change will have.
### Pull Requests
The most successful pull requests usually look a like this:
* Fill in the required template
* Include screenshots and animated GIFs in your pull request whenever possible.
* Unit tests, while optional are awesome, thank you!
* New code is commented with documentation from which [the reference documentation](https://our.umbraco.org/documentation/Reference/) is generated
Again, these are guidelines, not strict requirements.
## Styleguides
To be honest, we don't like rules very much. We trust you have the best of intentions and we encourage you to create working code. If it doesn't look perfect then we'll happily help clean it up.
That said, the Umbraco development team likes to follow the hints that ReSharper gives us (no problem if you don't have this installed) and we've added a `.editorconfig` file so that Visual Studio knows what to do with whitespace, line endings, etc.
## What should I know before I get started?
### Working with the source code
Some parts of our source code is over 10 years old now. And when we say "old", we mean "mature" of course!
There's two big areas that you should know about:
1. The Umbraco backoffice is a extensible AngularJS app and requires you to run a `gulp dev` command while you're working with it, so changes are copied over to the appropriate directories and you can refresh your browser to view the results of your changes.
You may need to run the following commands to set up gulp properly:
```
npm cache clean
npm install -g bower
npm install -g gulp
npm install -g gulp-cli
npm install
gulp build
```
2. "The rest" is a C# based codebase, with some traces of our WebForms past but mostly ASP.NET MVC based these days. You can make changes, build them in Visual Studio, and hit `F5` to see the result.
To find the general areas of something you're looking to fix or improve, have a look at the following two parts of the API documentation.
* [The AngularJS based backoffice files](https://our.umbraco.org/apidocs/ui/#/api) (to be found in `src\Umbraco.Web.UI.Client\src`)
* [The rest](https://our.umbraco.org/apidocs/csharp/)
### What branch should I target for my contributions?
We like to use [Gitflow as much as possible](https://jeffkreeftmeijer.com/git-flow/), don't worry if you are not familiar with it. The most important thing you need to know is that when you fork the Umbraco repository, the default branch is set to something, usually `dev-v7`. Whatever the default is, that's where we'd like you to target your contributions.
![What branch do you want me to target?](tools/contributing/defaultbranch.png)
### Building Umbraco from source code
The easiest way to get started is to run `build.bat` which will build both the backoffice (also known as "Belle") and the Umbraco core. You can then easily start debugging from Visual Studio, or if you need to debug Belle you can run `gulp dev` in `src\Umbraco.Web.UI.Client`. See [this page](BUILD.md) for more details.
Alternatively, you can open `src\umbraco.sln` in Visual Studio 2017 ([the community edition is free](https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15) for you to use to contribute to Open Source projects). In Visual Studio, find the Task Runner Explorer (in the View menu under Other Windows) and run the build task under the gulpfile.
![Gulp build in Visual Studio](tools/contributing/gulpbuild.png)
After this build completes, you should be able to hit `F5` in Visual Studio to build and run the project. A IISExpress webserver will start and the Umbraco installer will pop up in your browser, follow the directions there to get a working Umbraco install up and running.
### Keeping your Umbraco fork in sync with the main repository
We recommend you sync with our repository before you submit your pull request. That way, you can fix any potential merge conflicts and make our lives a little bit easier.
Also, if you've submitted a pull request three weeks ago and want to work on something new, you'll want to get the latest code to build against of course.
To sync your fork with this original one, you'll have to add the upstream url, you only have to do this once:
```
git remote add upstream https://github.com/umbraco/Umbraco-CMS.git
```
Then when you want to get the changes from the main repository:
```
git fetch upstream
git rebase upstream/dev-v7
```
In this command we're syncing with the `dev-v7` branch, but you can of course choose another one if needed.
(More info on how this works: [http://robots.thoughtbot.com/post/5133345960/keeping-a-git-fork-updated](http://robots.thoughtbot.com/post/5133345960/keeping-a-git-fork-updated))
## How do I even begin?
Great question! The short version goes like this:
* **Fork** - create a fork of [`Umbraco-CMS` on GitHub](https://github.com/umbraco/Umbraco-CMS)
![Fork the repository](tools/contributing/forkrepository.png)
* **Clone** - when GitHub has created your fork, you can clone it in your favorite Git tool
![Clone the fork](tools/contributing/clonefork.png)
* **Build** - build your fork of Umbraco locally as described in [building Umbraco from source code](#building-umbraco-from-source-code)
* **Change** - make your changes, experiment, have fun, explore and learn, and don't be afraid. We welcome all contributions and will happily give feedback
* **Commit** - done? Yay! 🎉 It is recommended to create a new branch now and name it after the issue you're fixing, we usually follow the format: `temp-U4-12345`. This means it's a temporary branch for the particular issue you're working on, in this case `U4-12345`
* **Push** - great, now you can push the changes up to your fork on GitHub
* **Create pull request** - exciting! You're ready to show us your changes (or not quite ready, you just need some feedback to progress). GitHub has picked up on the new branch you've pushed and will offer to create a Pull Request. Click that green button and away you go.
![Create a pull request](tools/contributing/createpullrequest.png)
The Umbraco development team can now start reviewing your proposed changes and give you feedback on them. If it's not perfect, we'll either fix up what we need or we can request you to make some additional changes.
If you make the corrections we ask for in the same branch and push them to your fork again, the pull request automatically updates with the additional commit(s) so we can review it again. If all is well, we'll merge the code and your commits are forever part of Umbraco!
Not all changes are wanted so on occassion we might close a PR without merging it. We will give you feedback why we can't accept your changes at this and we'll be nice about it, thanking you for spending your valueable time.
Remember, if an issue is in the `Up for grabs` list or you've asked for some feedback before you send us a PR, your PR will not be closed as unwanted.
## Problems?
Did something not work as expected? Try leaving a note in the ["Contributing to Umbraco"](https://our.umbraco.org/forum/contributing-to-umbraco-cms/) forum, the team monitors that one closely!
## Credits
This contribution guide borrows heavily from the excellent work on [the Atom contribution guide](https://github.com/atom/atom/blob/master/CONTRIBUTING.md). A big [#h5yr](http://h5yr.com/) to them!
+1 -1
View File
@@ -1,6 +1,6 @@
# The MIT License (MIT) #
Copyright (c) 2013 Umbraco
Copyright (c) 2013-present Umbraco
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:
-12
View File
@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
this is Umbraco's NuGet configuration,
content of this file is merged with the system-wide configuration,
at %APPDATA%\NuGet\NuGet.config
-->
<packageSources>
<add key="UmbracoCoreMyGet" value="https://www.myget.org/F/umbracocore/api/v3/index.json" />
<add key="ExamineAppVeyor" value="https://ci.appveyor.com/nuget/examine-f73l6qv0oqfh/" />
</packageSources>
</configuration>
-11
View File
@@ -1,11 +0,0 @@
### Prerequisites
- [ ] I have written a descriptive pull-request title
- [ ] I have linked this PR to an issue on the tracker at http://issues.umbraco.org
### Description
<!-- A description of the changes proposed in the pull-request -->
<!-- Thanks for contributing to Umbraco CMS! -->
-49
View File
@@ -1,49 +0,0 @@
_Looking for Umbraco version 7? [Click here](https://github.com/umbraco/Umbraco-CMS) to go to the v7 branch_
__Ready to try out Version 8? [See the quick start guide](https://github.com/umbraco/Umbraco-CMS/blob/temp8/V8_GETTING_STARTED.md).__
Umbraco CMS
===========
The friendliest, most flexible and fastest growing ASP.NET CMS used by more than 443,000 websites worldwide: [https://umbraco.com](https://umbraco.com)
[![ScreenShot](vimeo.png)](https://vimeo.com/172382998/)
## Umbraco CMS
Umbraco is a free open source Content Management System built on the ASP.NET platform. Our mission is to help you deliver delightful digital experiences by making Umbraco friendly, simpler and social.
## Watch an introduction video
[![ScreenShot](http://umbraco.com/images/whatisumbraco.png)](https://umbraco.tv/videos/umbraco-v7/content-editor/basics/introduction/cms-explanation/)
## Umbraco - The Friendly CMS
For the first time on the Microsoft platform, there is a free user and developer friendly CMS that makes it quick and easy to create websites - or a breeze to build complex web applications. Umbraco has award-winning integration capabilities and supports ASP.NET MVC or Web Forms, including User and Custom Controls, out of the box.
Umbraco is not only loved by developers, but is a content editors dream. Enjoy intuitive editing tools, media management, responsive views and approval workflows to send your content live.
Used by more than 443,000 active websites including Carlsberg, Segway, Amazon and Heinz and **The Official ASP.NET and IIS.NET website from Microsoft** ([https://asp.net](https://asp.net) / [https://iis.net](https://iis.net)), you can be sure that the technology is proven, stable and scales. Backed by the team at Umbraco HQ, and supported by a dedicated community of over 220,000 craftspeople globally, you can trust that Umbraco is a safe choice and is here to stay.
To view more examples, please visit [https://umbraco.com/why-umbraco/#caseStudies](https://umbraco.com/why-umbraco/#caseStudies)
## Why Open Source?
As an Open Source platform, Umbraco is more than just a CMS. We are transparent with our roadmap for future versions, our incremental sprint planning notes are publicly accessible and community contributions and packages are available for all to use.
## Trying out Umbraco CMS
[Umbraco Cloud](https://umbraco.com) is the easiest and fastest way to use Umbraco yet with full support for all your custom .NET code and intergrations. You're up and running in less than a minute and your life will be made easier with automated upgrades and a built-in deployment engine. We offer a free 14 day trial, no credit card needed.
If you want to DIY you can [download Umbraco](https://our.umbraco.org/download) either as a ZIP file or via NuGet. It's the same version of Umbraco CMS that powers Umbraco Cloud, but you'll need to find a place to host yourself and handling deployments and upgrades is all down to you.
## Community
Our friendly community is available 24/7 at the community hub we call ["Our Umbraco"](https://our.umbraco.org). Our Umbraco feature forums for questions and answers, documentation, downloadable plugins for Umbraco and a rich collection of community resources.
## Contribute to Umbraco
Umbraco is contribution focused and community driven. If you want to contribute back to Umbraco please check out our [guide to contributing](CONTRIBUTING.md).
## Found a bug?
Another way you can contribute to Umbraco is by providing issue reports. For information on how to submit an issue report refer to our [online guide for reporting issues](https://our.umbraco.org/contribute/report-an-issue-or-request-a-feature).
To view existing issues, please visit [http://issues.umbraco.org](http://issues.umbraco.org).
-30
View File
@@ -1,30 +0,0 @@
## A quick start guide for getting up and runnning with Umbraco v8
### What you need:
* [Visual Studio 2017 Community (Free)](https://www.visualstudio.com/vs/community/), or Professional, Enterprise, etc...
* .NET Framework 4.7.2 installed, get it here: https://www.microsoft.com/net/download/thank-you/net472?survey=false
* .NET Framework 4.7.2 developer pack, get it here: https://www.microsoft.com/net/download/thank-you/net472-developer-pack _(be sure this is the ENU file which will be named `NDP472-DevPack-ENU.exe`)_
* Clone the Umbraco repository and ensure you have the `temp8` branch checked out
### Start the solution
* Open the `/src/umbraco.sln` Visual Studio solution
* Start the solution (easiest way is to use `ctrl + F5`)
* When the solution is first built this may take some time since it will restore all nuget, npm and bower packages, build the .net solution and also build the angular solution.
* When the website starts you'll see the Umbraco installer and just follow the prompts
* Your all set!
### Making code changes
* _The process for making code changes in v8 is the same as v7_
* Any .NET changes you make you just need to compile
* Any Angular/JS changes you make you will need to make sure you are running the Gulp build. Easiest way to do this is from within Visual Studio in the `Task Runner Explorer`. You can find this window by pressing `ctrl + q` and typing in `Task Runner Explorer`. In this window you'll see all Gulp tasks, double click on the `dev` task, this will compile the angular solution and start a file watcher, then any html/js changes you make are automatically built.
* When making js changes, you should have the chrome developer tools open to ensure that cache is disabled
### What to work on?
We are keeping track of [known issues and limitations here](http://issues.umbraco.org/issue/U4-11279). These line items will eventually be turned into actual tasks to be worked on. Feel free to help us keep this list updated if you find issues and even help fix some of these items. If there is a particular item you'd like to help fix please mention this on the task and we'll create a sub task for the item to continue discussion there.
There's [a list of tasks for v8 that haven't been completed](http://issues.umbraco.org/issues/U4?q=Due+in+version%3A+8.0.0+%23Unresolved+). If you are interested in helping out with any of these please mention this on the task. This list will be constantly updated as we begin to document and design some of the other tasks that still need to get done.
+5
View File
@@ -0,0 +1,5 @@
- name: Umbraco.Core Documentation
href: https://our.umbraco.com/apidocs/csharp/api/Umbraco.Core.html
- name: Umbraco.Web Documentation
href: https://our.umbraco.com/apidocs/csharp/api/Umbraco.Web.html
@@ -7,7 +7,7 @@
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
<span>Copyright © 2016 Umbraco<br>Generated by <strong>DocFX</strong></span>
<span>Copyright © 2016-present Umbraco<br>Generated by <strong>DocFX</strong></span>
</div>
</div>
</footer>
@@ -8,7 +8,7 @@
<meta name="title" content="{{#title}}{{title}}{{/title}}{{^title}}{{>partials/title}}{{/title}} {{#_appTitle}}| {{_appTitle}} {{/_appTitle}}">
<meta name="generator" content="docfx {{_docfxVersion}}">
{{#_description}}<meta name="description" content="{{_description}}">{{/_description}}
<link rel="icon" type="image/png" href="https://our.umbraco.org/assets/images/app-icons/favicon.png">
<link rel="icon" type="image/png" href="https://our.umbraco.com/assets/images/app-icons/favicon.png">
<link rel="stylesheet" href="{{_rel}}styles/docfx.vendor.css">
<link rel="stylesheet" href="{{_rel}}styles/docfx.css">
<link rel="stylesheet" href="{{_rel}}styles/main.css">
@@ -63,7 +63,7 @@ a:focus {
}
.navbar-header .navbar-brand {
background: url(https://our.umbraco.org/assets/images/logo.svg) left center no-repeat;
background: url(https://our.umbraco.com/assets/images/logo.svg) left center no-repeat;
background-size: 40px auto;
width:50px;
}
+62
View File
@@ -0,0 +1,62 @@
version: '{build}'
shallow_clone: true
init:
- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
build_script:
- cmd: >-
SET SLN=%CD%
SET SRC=%SLN%\src
SET PACKAGES=%SRC%\packages
CD build
SET "release="
FOR /F "skip=1 delims=" %%i IN (UmbracoVersion.txt) DO IF NOT DEFINED release SET "release=%%i"
ECHO "Restoring NuGet into %PACKAGES%"
%SRC%\.nuget\NuGet.exe sources Add -Name MyGetUmbracoCore -Source https://www.myget.org/F/umbracocore/api/v2/ >NUL
%SRC%\.nuget\NuGet.exe restore %SRC%\umbraco.sln -Verbosity Quiet -NonInteractive -PackagesDirectory %PACKAGES%
ECHO Building Release %release% build%APPVEYOR_BUILD_NUMBER%
SET PATH=C:\Program Files (x86)\MSBuild\14.0\Bin;%PATH%
SET MSBUILD="C:\Program Files (x86)\MSBuild\14.0\Bin\MsBuild.exe"
XCOPY "%SRC%\Umbraco.Tests\unit-test-log4net.CI.config" "%SRC%\Umbraco.Tests\unit-test-log4net.config" /Y
%MSBUILD% "%SLN%/src/Umbraco.Tests/Umbraco.Tests.csproj" /consoleloggerparameters:Summary;ErrorsOnly;WarningsOnly /p:NugetPackagesDirectory=%PACKAGES%
build.bat -integration -release:%release% -comment:build%APPVEYOR_BUILD_NUMBER% -nugetfolder:%PACKAGES%
test:
assemblies: src\Umbraco.Tests\bin\Debug\Umbraco.Tests.dll
artifacts:
- path: build\UmbracoCms.*
name: UmbracoFiles
- path: build\msbuild.log
name: BuildLog
deploy:
- provider: AzureBlob
storage_account_name: umbraconightlies
storage_access_key:
secure: bmEMml2SF7QLHULiePa/a01XOeIa2SxJeXuaZ+1R27b+Vb2nNUQVYiPlUyF2cZAFSHI/zO/LekRsVU1rTescGhJjF7SSjKybymI3p+F/OWpwqiu2WfFee1ofXBFx8QHw
container: umbraco-750
artifact: UmbracoFiles
on:
branch: dev-v7
notifications:
- provider: Slack
auth_token:
secure: v2csJi2V5ghR0rPdODK8GJdOGNCA+XaK84iQ9MdPOClqB+VU+40ybdKp6gPirGSH
channel: '#build-umbraco-core'
on_build_success: false
on_build_failure: true
on_build_status_changed: false
+14
View File
@@ -0,0 +1,14 @@
@ECHO OFF
powershell .\build\build.ps1
IF ERRORLEVEL 1 (
GOTO :error
) ELSE (
GOTO :EOF
)
:error
ECHO.
ECHO Cannot run build\build.ps1.
ECHO If this is due to a SecurityError then please refer to BUILD.md for help!
ECHO.
-59
View File
@@ -1,59 +0,0 @@
Param(
[string]$GitHubPersonalAccessToken,
[string]$Directory
)
$workingDirectory = $Directory
CD $workingDirectory
# Clone repo
$fullGitUrl = "https://$env:GIT_URL/$env:GIT_REPOSITORYNAME.git"
git clone $fullGitUrl 2>&1 | % { $_.ToString() }
# Remove everything so that unzipping the release later will update everything
# Don't remove the readme file nor the git directory
Write-Host "Cleaning up git directory before adding new version"
Remove-Item -Recurse $workingDirectory\$env:GIT_REPOSITORYNAME\* -Exclude README.md,.git
# Find release zip
$zipsDir = "$workingDirectory\$env:BUILD_DEFINITIONNAME\zips"
$pattern = "UmbracoCms.([0-9]{1,2}.[0-9]{1,3}.[0-9]{1,3}).zip"
Write-Host "Searching for Umbraco release files in $workingDirectory\$zipsDir for a file with pattern $pattern"
$file = (Get-ChildItem $zipsDir | Where-Object { $_.Name -match "$pattern" })
if($file)
{
# Get release name
$version = [regex]::Match($file.Name, $pattern).captures.groups[1].value
$releaseName = "Umbraco $version"
Write-Host "Found $releaseName"
# Unzip into repository to update release
Add-Type -AssemblyName System.IO.Compression.FileSystem
Write-Host "Unzipping $($file.FullName) to $workingDirectory\$env:GIT_REPOSITORYNAME"
[System.IO.Compression.ZipFile]::ExtractToDirectory("$($file.FullName)", "$workingDirectory\$env:GIT_REPOSITORYNAME")
# Telling git who we are
git config --global user.email "coffee@umbraco.com" 2>&1 | % { $_.ToString() }
git config --global user.name "Umbraco HQ" 2>&1 | % { $_.ToString() }
# Commit
CD $env:GIT_REPOSITORYNAME
Write-Host "Committing Umbraco $version Release from Build Output"
git add . 2>&1 | % { $_.ToString() }
git commit -m " Release $releaseName from Build Output" 2>&1 | % { $_.ToString() }
# Tag the release
git tag -a "v$version" -m "v$version"
# Push release to master
$fullGitAuthUrl = "https://$($env:GIT_USERNAME):$GitHubPersonalAccessToken@$env:GIT_URL/$env:GIT_REPOSITORYNAME.git"
git push $fullGitAuthUrl 2>&1 | % { $_.ToString() }
#Push tag to master
git push $fullGitAuthUrl --tags 2>&1 | % { $_.ToString() }
}
else
{
Write-Error "Umbraco release file not found, searched in $workingDirectory\$zipsDir for a file with pattern $pattern - cancelling"
}
-63
View File
@@ -1,63 +0,0 @@
@ECHO OFF
SETLOCAL
REM SETLOCAL is on, so changes to the path not persist to the actual user's path
git.exe --version
IF %ERRORLEVEL%==9009 GOTO :trydefaultpath
REM OK, DONE
GOTO :EOF
:trydefaultpath
PATH=C:\Program Files (x86)\Git\cmd;C:\Program Files\Git\cmd;%PATH%
git.exe --version
IF %ERRORLEVEL%==9009 GOTO :showerror
REM OK, DONE
GOTO :EOF
:showerror
ECHO Git is not in your path and could not be found in C:\Program Files (x86)\Git\cmd nor in C:\Program Files\Git\cmd
SET /p install=" Do you want to install Git through Chocolatey [y/n]? " %=%
IF %install%==y (
:: Create a temporary batch file to execute either after elevating to admin or as-is when the user is already admin
ECHO @ECHO OFF > "%temp%\ChocoInstallGit.cmd"
ECHO SETLOCAL >> "%temp%\ChocoInstallGit.cmd"
ECHO ECHO Installing Chocolatey first >> "%temp%\ChocoInstallGit.cmd"
ECHO @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" >> "%temp%\ChocoInstallGit.cmd"
ECHO SET PATH=%%PATH%%;%%ALLUSERSPROFILE%%\chocolatey\bin >> "%temp%\ChocoInstallGit.cmd"
ECHO choco install git -y >> "%temp%\ChocoInstallGit.cmd"
GOTO :installgit
) ELSE (
GOTO :cantcontinue
)
:cantcontinue
ECHO Can't complete the build without Git being in the path. Please add it to be able to continue.
GOTO :EOF
:installgit
pushd %~dp0
:: Running prompt elevated
:: --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
:: --> If error flag set, we do not have admin.
IF '%errorlevel%' NEQ '0' (
GOTO UACPrompt
) ELSE ( GOTO gotAdmin )
:UACPrompt
ECHO You're not currently running this with admin privileges, we'll now try to execute the install of Git through Chocolatey after elevating to admin privileges
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
ECHO UAC.ShellExecute "%temp%\ChocoInstallGit.cmd", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
EXIT /B
:gotAdmin
IF EXIST "%temp%\getadmin.vbs" ( DEL "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
CALL "%temp%\ChocoInstallGit.cmd"
@@ -0,0 +1,112 @@
#
function Build-UmbracoDocs
{
$uenv = Get-UmbracoBuildEnv
$src = "$($uenv.SolutionRoot)\src"
$out = "$($uenv.SolutionRoot)\build.out"
$tmp = "$($uenv.SolutionRoot)\build.tmp"
$buildTemp = "$PSScriptRoot\temp"
$cache = 2
Prepare-Build -keep $uenv
################ Do the UI docs
# get a temp clean node env (will restore)
Sandbox-Node $uenv
Write-Host "Executing gulp docs"
push-location "$($uenv.SolutionRoot)\src\Umbraco.Web.UI.Client"
write "node version is:" > $tmp\belle-docs.log
&node -v >> $tmp\belle-docs.log 2>&1
write "npm version is:" >> $tmp\belle-docs.log 2>&1
&npm -v >> $tmp\belle-docs.log 2>&1
write "executing npm install" >> $tmp\belle-docs.log 2>&1
&npm install >> $tmp\belle-docs.log 2>&1
write "executing bower install" >> $tmp\belle-docs.log 2>&1
&npm install -g bower >> $tmp\belle-docs.log 2>&1
write "installing gulp" >> $tmp\belle-docs.log 2>&1
&npm install -g gulp >> $tmp\belle-docs.log 2>&1
write "installing gulp-cli" >> $tmp\belle-docs.log 2>&1
&npm install -g gulp-cli --quiet >> $tmp\belle-docs.log 2>&1
write "building docs using gulp" >> $tmp\belle-docs.log 2>&1
&gulp docs >> $tmp\belle-docs.log 2>&1
pop-location
Write-Host "Completed gulp docs build"
# fixme - should we filter the log to find errors?
#get-content .\build.tmp\belle-docs.log | %{ if ($_ -match "build") { write $_}}
# change baseUrl
$baseUrl = "https://our.umbraco.com/apidocs/ui/"
$indexPath = "$src/Umbraco.Web.UI.Client/docs/api/index.html"
(Get-Content $indexPath).Replace("origin + location.href.substr(origin.length).replace(rUrl, indexFile)", "'$baseUrl'") `
| Set-Content $indexPath
# restore
Restore-Node
# zip
&$uenv.Zip a -tzip -r "$out\ui-docs.zip" "$src\Umbraco.Web.UI.Client\docs\api\*.*" `
> $null
################ Do the c# docs
Write-Host "Build C# documentation"
# Build the solution in debug mode
# FIXME no only a simple compilation should be enough!
# FIXME we MUST handle msbuild & co error codes!
# FIXME deal with weird things in gitconfig?
#Build-Umbraco -Configuration Debug
Restore-NuGet $uenv
Compile-Umbraco $uenv "Debug" # FIXME different log file!
Restore-WebConfig "$src\Umbraco.Web.UI"
# ensure we have docfx
Get-DocFx $uenv $buildTemp
# clear
$docFxOutput = "$($uenv.SolutionRoot)\apidocs\_site"
if (test-path($docFxOutput))
{
Remove-Directory $docFxOutput
}
# run
$docFxJson = "$($uenv.SolutionRoot)\apidocs\docfx.json"
push-location "$($uenv.SolutionRoot)\build" # silly docfx.json wants this
Write-Host "Run DocFx metadata"
Write-Host "Logging to $tmp\docfx.metadata.log"
&$uenv.DocFx metadata $docFxJson > "$tmp\docfx.metadata.log"
Write-Host "Run DocFx build"
Write-Host "Logging to $tmp\docfx.build.log"
&$uenv.DocFx build $docFxJson > "$tmp\docfx.build.log"
pop-location
# zip
&$uenv.Zip a -tzip -r "$out\csharp-docs.zip" "$docFxOutput\*.*" `
> $null
}
function Get-DocFx($uenv, $buildTemp)
{
$docFx = "$buildTemp\docfx"
if (-not (test-path $docFx))
{
$source = "https://github.com/dotnet/docfx/releases/download/v2.19.2/docfx.zip"
Write-Host "Download DocFx from $source"
Invoke-WebRequest $source -OutFile "$buildTemp\docfx.zip"
&$uenv.Zip x "$buildTemp\docfx.zip" -o"$buildTemp\docfx" -aos > $nul
Remove-File "$buildTemp\docfx.zip"
}
$uenv | add-member -memberType NoteProperty -name DocFx -value "$docFx\docfx.exe"
}
@@ -0,0 +1,187 @@
#
# Get-UmbracoBuildEnv
# Gets the Umbraco build environment
# Downloads tools if necessary
#
function Get-UmbracoBuildEnv
{
# store tools in the module's directory
# and cache them for two days
$path = "$PSScriptRoot\temp"
$src = "$PSScriptRoot\..\..\..\src"
$cache = 2
if (-not (test-path $path))
{
mkdir $path > $null
}
# ensure we have NuGet
$nuget = "$path\nuget.exe"
$source = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
if ((test-path $nuget) -and ((ls $nuget).CreationTime -lt [DateTime]::Now.AddDays(-$cache)))
{
Remove-File $nuget
}
if (-not (test-path $nuget))
{
Write-Host "Download NuGet..."
Invoke-WebRequest $source -OutFile $nuget
}
# ensure we have 7-Zip
$sevenZip = "$path\7za.exe"
if ((test-path $sevenZip) -and ((ls $sevenZip).CreationTime -lt [DateTime]::Now.AddDays(-$cache)))
{
Remove-File $sevenZip
}
if (-not (test-path $sevenZip))
{
Write-Host "Download 7-Zip..."
&$nuget install 7-Zip.CommandLine -configFile "$src\NuGet.config" -OutputDirectory $path -Verbosity quiet
$dir = ls "$path\7-Zip.CommandLine.*" | sort -property Name -descending | select -first 1
$file = ls -path "$dir" -name 7za.exe -recurse
$file = ls -path "$dir" -name 7za.exe -recurse | select -first 1 #A select is because there is tools\7za.exe & tools\x64\7za.exe
mv "$dir\$file" $sevenZip
Remove-Directory $dir
}
# ensure we have vswhere
$vswhere = "$path\vswhere.exe"
if ((test-path $vswhere) -and ((ls $vswhere).CreationTime -lt [DateTime]::Now.AddDays(-$cache)))
{
Remove-File $vswhere
}
if (-not (test-path $vswhere))
{
Write-Host "Download VsWhere..."
&$nuget install vswhere -configFile "$src\NuGet.config" -OutputDirectory $path -Verbosity quiet
$dir = ls "$path\vswhere.*" | sort -property Name -descending | select -first 1
$file = ls -path "$dir" -name vswhere.exe -recurse
mv "$dir\$file" $vswhere
Remove-Directory $dir
}
# ensure we have semver
$semver = "$path\Semver.dll"
if ((test-path $semver) -and ((ls $semver).CreationTime -lt [DateTime]::Now.AddDays(-$cache)))
{
Remove-File $semver
}
if (-not (test-path $semver))
{
Write-Host "Download Semver..."
&$nuget install semver -configFile "$src\NuGet.config" -OutputDirectory $path -Verbosity quiet
$dir = ls "$path\semver.*" | sort -property Name -descending | select -first 1
$file = "$dir\lib\net452\Semver.dll"
if (-not (test-path $file))
{
Write-Error "Failed to file $file"
return
}
mv "$file" $semver
Remove-Directory $dir
}
try
{
[Reflection.Assembly]::LoadFile($semver) > $null
}
catch
{
Write-Error -Exception $_.Exception -Message "Failed to load $semver"
break
}
# ensure we have node
$node = "$path\node-v8.12.0-win-x86"
$source = "http://nodejs.org/dist/v8.12.0/node-v8.12.0-win-x86.7z "
if (-not (test-path $node))
{
Write-Host "Download Node..."
Invoke-WebRequest $source -OutFile "$path\node-v8.12.0-win-x86.7z"
&$sevenZip x "$path\node-v8.12.0-win-x86.7z" -o"$path" -aos > $nul
Remove-File "$path\node-v8.12.0-win-x86.7z"
}
# note: why? node already brings everything we need!
## ensure we have npm
#$npm = "$path\npm.*"
#$getNpm = $true
#if (test-path $npm)
#{
# $getNpm = $false
# $tmpNpm = ls "$path\npm.*" | sort -property Name -descending | select -first 1
# if ($tmpNpm.CreationTime -lt [DateTime]::Now.AddDays(-$cache))
# {
# $getNpm = $true
# }
# else
# {
# $npm = $tmpNpm.ToString()
# }
#}
#if ($getNpm)
#{
# Write-Host "Download Npm..."
# &$nuget install npm -OutputDirectory $path -Verbosity quiet
# $npm = ls "$path\npm.*" | sort -property Name -descending | select -first 1
# $npm.CreationTime = [DateTime]::Now
# $npm = $npm.ToString()
#}
# find visual studio
# will not work on VSO but VSO does not need it
$vsPath = ""
$vsVer = ""
$msBuild = $null
$params = @()
$params += "-prerelease"
&$vswhere @params | foreach {
if ($_.StartsWith("installationPath:")) { $vsPath = $_.SubString("installationPath:".Length).Trim() }
if ($_.StartsWith("installationVersion:")) { $vsVer = $_.SubString("installationVersion:".Length).Trim() }
}
if ($vsPath -ne "")
{
$vsVerParts = $vsVer.Split('.')
$vsMajor = [int]::Parse($vsVerParts[0])
$vsMinor = [int]::Parse($vsVerParts[1])
if ($vsMajor -eq 16) {
$msBuild = "$vsPath\MSBuild\Current\Bin"
}
elseif ($vsMajor -eq 15) {
$msBuild = "$vsPath\MSBuild\$vsMajor.0\Bin"
}
elseif ($vsMajor -eq 14) {
$msBuild = "c:\Program Files (x86)\MSBuild\$vsMajor\Bin"
}
else
{
$msBuild = $null
}
}
$vs = $null
if ($msBuild)
{
$vs = new-object -typeName PsObject
$vs | add-member -memberType NoteProperty -name Path -value $vsPath
$vs | add-member -memberType NoteProperty -name Major -value $vsMajor
$vs | add-member -memberType NoteProperty -name Minor -value $vsMinor
$vs | add-member -memberType NoteProperty -name MsBuild -value "$msBuild\MsBuild.exe"
}
$solutionRoot = Get-FullPath "$PSScriptRoot\..\..\.."
$uenv = new-object -typeName PsObject
$uenv | add-member -memberType NoteProperty -name SolutionRoot -value $solutionRoot
$uenv | add-member -memberType NoteProperty -name VisualStudio -value $vs
$uenv | add-member -memberType NoteProperty -name NuGet -value $nuget
$uenv | add-member -memberType NoteProperty -name Zip -value $sevenZip
$uenv | add-member -memberType NoteProperty -name VsWhere -value $vswhere
$uenv | add-member -memberType NoteProperty -name Semver -value $semver
$uenv | add-member -memberType NoteProperty -name NodePath -value $node
#$uenv | add-member -memberType NoteProperty -name NpmPath -value $npm
return $uenv
}
@@ -0,0 +1,26 @@
#
# Get-UmbracoVersion
# Gets the Umbraco version
#
function Get-UmbracoVersion
{
$uenv = Get-UmbracoBuildEnv
# parse SolutionInfo and retrieve the version string
$filepath = "$($uenv.SolutionRoot)\src\SolutionInfo.cs"
$text = [System.IO.File]::ReadAllText($filepath)
$match = [System.Text.RegularExpressions.Regex]::Matches($text, "AssemblyInformationalVersion\(`"(.+)?`"\)")
$version = $match.Groups[1]
# semver-parse the version string
$semver = [SemVer.SemVersion]::Parse($version)
$release = "" + $semver.Major + "." + $semver.Minor + "." + $semver.Patch
$versions = new-object -typeName PsObject
$versions | add-member -memberType NoteProperty -name Semver -value $semver
$versions | add-member -memberType NoteProperty -name Release -value $release
$versions | add-member -memberType NoteProperty -name Comment -value $semver.PreRelease
$versions | add-member -memberType NoteProperty -name Build -value $semver.Build
return $versions
}
@@ -0,0 +1,30 @@
# finds msbuild
function Get-VisualStudio($vswhere)
{
$vsPath = ""
$vsVer = ""
&$vswhere | foreach {
if ($_.StartsWith("installationPath:")) { $vsPath = $_.SubString("installationPath:".Length).Trim() }
if ($_.StartsWith("installationVersion:")) { $vsVer = $_.SubString("installationVersion:".Length).Trim() }
}
if ($vsPath -eq "") { return $null }
$vsVerParts = $vsVer.Split('.')
$vsMajor = [int]::Parse($vsVerParts[0])
$vsMinor = [int]::Parse($vsVerParts[1])
if ($vsMajor -eq 15) {
$msBuild = "$vsPath\MSBuild\$vsMajor.$vsMinor\Bin"
}
elseif ($vsMajor -eq 14) {
$msBuild = "c:\Program Files (x86)\MSBuild\$vsMajor\Bin"
}
else { return $null }
$msBuild = "$msBuild\MsBuild.exe"
$vs = new-object -typeName PsObject
$vs | add-member -memberType NoteProperty -name Path -value $vsPath
$vs | add-member -memberType NoteProperty -name Major -value $vsMajor
$vs | add-member -memberType NoteProperty -name Minor -value $vsMinor
$vs | add-member -memberType NoteProperty -name MsBuild -value $msBuild
return $vs
}
@@ -0,0 +1,30 @@
#
# Set-UmbracoContinuousVersion
# Sets the Umbraco version for continuous integration
#
# -Version <version>
# where <version> is a Semver valid version
# eg 1.2.3, 1.2.3-alpha, 1.2.3-alpha+456
#
# -BuildNumber <buildNumber>
# where <buildNumber> is a string coming from the build server
# eg 34, 126, 1
#
function Set-UmbracoContinuousVersion
{
param (
[Parameter(Mandatory=$true)]
[string]
$version,
[Parameter(Mandatory=$true)]
[string]
$buildNumber
)
Write-Host "Version is currently set to $version"
$umbracoVersion = "$($version.Trim())-alpha$($buildNumber)"
Write-Host "Setting Umbraco Version to $umbracoVersion"
Set-UmbracoVersion $umbracoVersion
}
@@ -0,0 +1,117 @@
#
# Set-UmbracoVersion
# Sets the Umbraco version
#
# -Version <version>
# where <version> is a Semver valid version
# eg 1.2.3, 1.2.3-alpha, 1.2.3-alpha+456
#
function Set-UmbracoVersion
{
param (
[Parameter(Mandatory=$true)]
[string]
$version
)
$uenv = Get-UmbracoBuildEnv
try
{
[Reflection.Assembly]::LoadFile($uenv.Semver) > $null
}
catch
{
Write-Error "Failed to load $uenv.Semver"
break
}
# validate input
$ok = [Regex]::Match($version, "^[0-9]+\.[0-9]+\.[0-9]+(\-[a-z0-9]+)?(\+[0-9]+)?$")
if (-not $ok.Success)
{
Write-Error "Invalid version $version"
break
}
# parse input
try
{
$semver = [SemVer.SemVersion]::Parse($version)
}
catch
{
Write-Error "Invalid version $version"
break
}
#
$release = "" + $semver.Major + "." + $semver.Minor + "." + $semver.Patch
# edit files and set the proper versions and dates
Write-Host "Update UmbracoVersion.cs"
Replace-FileText "$($uenv.SolutionRoot)\src\Umbraco.Core\Configuration\UmbracoVersion.cs" `
"(\d+)\.(\d+)\.(\d+)(.(\d+))?" `
"$release"
Replace-FileText "$($uenv.SolutionRoot)\src\Umbraco.Core\Configuration\UmbracoVersion.cs" `
"CurrentComment { get { return `"(.+)`"" `
"CurrentComment { get { return `"$($semver.PreRelease)`""
Write-Host "Update SolutionInfo.cs"
Replace-FileText "$($uenv.SolutionRoot)\src\SolutionInfo.cs" `
"AssemblyFileVersion\(`"(.+)?`"\)" `
"AssemblyFileVersion(`"$release`")"
Replace-FileText "$($uenv.SolutionRoot)\src\SolutionInfo.cs" `
"AssemblyInformationalVersion\(`"(.+)?`"\)" `
"AssemblyInformationalVersion(`"$semver`")"
$year = [System.DateTime]::Now.ToString("yyyy")
Replace-FileText "$($uenv.SolutionRoot)\src\SolutionInfo.cs" `
"AssemblyCopyright\(`"Copyright © Umbraco (\d{4})`"\)" `
"AssemblyCopyright(`"Copyright © Umbraco $year`")"
# edit csproj and set IIS Express port number
# this is a raw copy of ReplaceIISExpressPortNumber.exe
# it probably can be achieved in a much nicer way - l8tr
$source = @"
using System;
using System.IO;
using System.Xml;
using System.Globalization;
namespace Umbraco
{
public static class PortUpdater
{
public static void Update(string path, string release)
{
XmlDocument xmlDocument = new XmlDocument();
string fullPath = Path.GetFullPath(path);
xmlDocument.Load(fullPath);
int result = 1;
int.TryParse(release.Replace(`".`", `"`"), out result);
while (result < 1024)
result *= 10;
XmlNode xmlNode1 = xmlDocument.GetElementsByTagName(`"IISUrl`").Item(0);
if (xmlNode1 != null)
xmlNode1.InnerText = `"http://localhost:`" + (object) result;
XmlNode xmlNode2 = xmlDocument.GetElementsByTagName(`"DevelopmentServerPort`").Item(0);
if (xmlNode2 != null)
xmlNode2.InnerText = result.ToString((IFormatProvider) CultureInfo.InvariantCulture);
xmlDocument.Save(fullPath);
}
}
}
"@
$assem = (
"System.Xml",
"System.IO",
"System.Globalization"
)
Write-Host "Update Umbraco.Web.UI.csproj"
add-type -referencedAssemblies $assem -typeDefinition $source -language CSharp
$csproj = "$($uenv.SolutionRoot)\src\Umbraco.Web.UI\Umbraco.Web.UI.csproj"
[Umbraco.PortUpdater]::Update($csproj, $release)
return $semver
}
@@ -0,0 +1,619 @@
# Umbraco.Build.psm1
#
# $env:PSModulePath = "$pwd\build\Modules\;$env:PSModulePath"
# Import-Module Umbraco.Build -Force -DisableNameChecking
#
# PowerShell Modules:
# https://msdn.microsoft.com/en-us/library/dd878324%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
#
# PowerShell Module Manifest:
# https://msdn.microsoft.com/en-us/library/dd878337%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
#
# See also
# http://www.powershellmagazine.com/2014/08/15/pstip-taking-control-of-verbose-and-debug-output-part-5/
. "$PSScriptRoot\Utilities.ps1"
. "$PSScriptRoot\Get-VisualStudio.ps1"
. "$PSScriptRoot\Get-UmbracoBuildEnv.ps1"
. "$PSScriptRoot\Set-UmbracoVersion.ps1"
. "$PSScriptRoot\Set-UmbracoContinuousVersion.ps1"
. "$PSScriptRoot\Get-UmbracoVersion.ps1"
. "$PSScriptRoot\Verify-NuGet.ps1"
. "$PSScriptRoot\Build-UmbracoDocs.ps1"
#
# Prepares the build
#
function Prepare-Build
{
param (
$uenv, # an Umbraco build environment (see Get-UmbracoBuildEnv)
[Alias("k")]
[switch]
$keep = $false
)
Write-Host ">> Prepare Build"
$src = "$($uenv.SolutionRoot)\src"
$tmp = "$($uenv.SolutionRoot)\build.tmp"
$out = "$($uenv.SolutionRoot)\build.out"
# clear
Write-Host "Clear folders and files"
Remove-Directory "$src\Umbraco.Web.UI.Client\bower_components"
if (-not $keep)
{
Remove-Directory "$tmp"
Remove-Directory "$out"
}
if (-not (Test-Path "$tmp"))
{
mkdir "$tmp" > $null
}
if (-not (Test-Path "$out"))
{
mkdir "$out" > $null
}
# ensure proper web.config
$webUi = "$src\Umbraco.Web.UI"
Store-WebConfig $webUi
Write-Host "Create clean web.config"
Copy-File "$webUi\web.Template.config" "$webUi\web.config"
}
function Clear-EnvVar($var)
{
$value = [Environment]::GetEnvironmentVariable($var)
if (test-path "env:$var") { rm "env:$var" }
return $value
}
function Set-EnvVar($var, $value)
{
if ($value)
{
[Environment]::SetEnvironmentVariable($var, $value)
}
else
{
if (test-path "env:$var") { rm "env:$var" }
}
}
function Sandbox-Node
{
param (
$uenv # an Umbraco build environment (see Get-UmbracoBuildEnv)
)
$global:node_path = $env:path
$nodePath = $uenv.NodePath
$gitExe = (get-command git).Source
$gitPath = [System.IO.Path]::GetDirectoryName($gitExe)
$env:path = "$nodePath;$gitPath"
$global:node_nodepath = Clear-EnvVar "NODEPATH"
$global:node_npmcache = Clear-EnvVar "NPM_CONFIG_CACHE"
$global:node_npmprefix = Clear-EnvVar "NPM_CONFIG_PREFIX"
}
function Restore-Node
{
$env:path = $node_path
Set-EnvVar "NODEPATH" $node_nodepath
Set-EnvVar "NPM_CONFIG_CACHE" $node_npmcache
Set-EnvVar "NPM_CONFIG_PREFIX" $node_npmprefix
}
#
# Builds the Belle UI project
#
function Compile-Belle
{
param (
$uenv, # an Umbraco build environment (see Get-UmbracoBuildEnv)
$version # an Umbraco version object (see Get-UmbracoVersion)
)
$tmp = "$($uenv.SolutionRoot)\build.tmp"
$src = "$($uenv.SolutionRoot)\src"
Write-Host ">> Compile Belle"
Write-Host "Logging to $tmp\belle.log"
# get a temp clean node env (will restore)
Sandbox-Node $uenv
push-location "$($uenv.SolutionRoot)\src\Umbraco.Web.UI.Client"
write "node version is:" > $tmp\belle.log
&node -v >> $tmp\belle.log 2>&1
write "npm version is:" >> $tmp\belle.log 2>&1
&npm -v >> $tmp\belle.log 2>&1
write "cleaning npm cache" >> $tmp\belle.log 2>&1
&npm cache clean >> $tmp\belle.log 2>&1
write "installing bower" >> $tmp\belle.log 2>&1
&npm install -g bower >> $tmp\belle.log 2>&1
write "installing gulp" >> $tmp\belle.log 2>&1
&npm install -g gulp >> $tmp\belle.log 2>&1
write "installing gulp-cli" >> $tmp\belle.log 2>&1
&npm install -g gulp-cli --quiet >> $tmp\belle.log 2>&1
write "executing npm install" >> $tmp\belle.log 2>&1
&npm install >> $tmp\belle.log 2>&1
write "executing gulp build for version $version" >> $tmp\belle.log 2>&1
&gulp build --buildversion=$version.Release >> $tmp\belle.log 2>&1
pop-location
# fixme - should we filter the log to find errors?
#get-content .\build.tmp\belle.log | %{ if ($_ -match "build") { write $_}}
# restore
Restore-Node
# setting node_modules folder to hidden
# used to prevent VS13 from crashing on it while loading the websites project
# also makes sure aspnet compiler does not try to handle rogue files and chokes
# in VSO with Microsoft.VisualC.CppCodeProvider -related errors
# use get-item -force 'cos it might be hidden already
write "Set hidden attribute on node_modules"
$dir = get-item -force "$src\Umbraco.Web.UI.Client\node_modules"
$dir.Attributes = $dir.Attributes -bor ([System.IO.FileAttributes]::Hidden)
}
#
# Compiles Umbraco
#
function Compile-Umbraco
{
param (
$uenv, # an Umbraco build environment (see Get-UmbracoBuildEnv)
[string] $buildConfiguration = "Release"
)
$src = "$($uenv.SolutionRoot)\src"
$tmp = "$($uenv.SolutionRoot)\build.tmp"
$out = "$($uenv.SolutionRoot)\build.out"
if ($uenv.VisualStudio -eq $null)
{
Write-Error "Build environment does not provide VisualStudio."
break
}
$toolsVersion = "4.0"
if ($uenv.VisualStudio.Major -eq 15)
{
$toolsVersion = "15.0"
}
if ($uenv.VisualStudio.Major -eq 16)
{
$toolsVersion = "Current"
}
Write-Host ">> Compile Umbraco"
Write-Host "Logging to $tmp\msbuild.umbraco.log"
# beware of the weird double \\ at the end of paths
# see http://edgylogic.com/blog/powershell-and-external-commands-done-right/
&$uenv.VisualStudio.MsBuild "$src\Umbraco.Web.UI\Umbraco.Web.UI.csproj" `
/p:WarningLevel=0 `
/p:Configuration=$buildConfiguration `
/p:Platform=AnyCPU `
/p:UseWPP_CopyWebApplication=True `
/p:PipelineDependsOnBuild=False `
/p:OutDir=$tmp\bin\\ `
/p:WebProjectOutputDir=$tmp\WebApp\\ `
/p:Verbosity=minimal `
/t:Clean`;Rebuild `
/tv:$toolsVersion `
/p:UmbracoBuild=True `
> $tmp\msbuild.umbraco.log
# /p:UmbracoBuild tells the csproj that we are building from PS
}
#
# Prepare Tests
#
function Prepare-Tests
{
param (
$uenv # an Umbraco build environment (see Get-UmbracoBuildEnv)
)
$src = "$($uenv.SolutionRoot)\src"
$tmp = "$($uenv.SolutionRoot)\build.tmp"
Write-Host ">> Prepare Tests"
# fixme - idea is to avoid rebuilding everything for tests
# but because of our weird assembly versioning (with .* stuff)
# everything gets rebuilt all the time...
#Copy-Files "$tmp\bin" "." "$tmp\tests"
# data
Write-Host "Copy data files"
if (-Not (Test-Path -Path "$tmp\tests\Packaging" ) )
{
Write-Host "Create packaging directory"
mkdir "$tmp\tests\Packaging" > $null
}
Copy-Files "$src\Umbraco.Tests\Packaging\Packages" "*" "$tmp\tests\Packaging\Packages"
# required for package install tests
if (-Not (Test-Path -Path "$tmp\tests\bin" ) )
{
Write-Host "Create bin directory"
mkdir "$tmp\tests\bin" > $null
}
}
#
# Compiles Tests
#
function Compile-Tests
{
param (
$uenv # an Umbraco build environment (see Get-UmbracoBuildEnv)
)
$src = "$($uenv.SolutionRoot)\src"
$tmp = "$($uenv.SolutionRoot)\build.tmp"
$out = "$tmp\tests"
$buildConfiguration = "Release"
if ($uenv.VisualStudio -eq $null)
{
Write-Error "Build environment does not provide VisualStudio."
break
}
$toolsVersion = "4.0"
if ($uenv.VisualStudio.Major -eq 15)
{
$toolsVersion = "15.0"
}
Write-Host ">> Compile Tests"
Write-Host "Logging to $tmp\msbuild.tests.log"
# beware of the weird double \\ at the end of paths
# see http://edgylogic.com/blog/powershell-and-external-commands-done-right/
&$uenv.VisualStudio.MsBuild "$src\Umbraco.Tests\Umbraco.Tests.csproj" `
/p:WarningLevel=0 `
/p:Configuration=$buildConfiguration `
/p:Platform=AnyCPU `
/p:UseWPP_CopyWebApplication=True `
/p:PipelineDependsOnBuild=False `
/p:OutDir=$out\\ `
/p:Verbosity=minimal `
/t:Build `
/tv:$toolsVersion `
/p:UmbracoBuild=True `
/p:NugetPackages=$src\packages `
> $tmp\msbuild.tests.log
# /p:UmbracoBuild tells the csproj that we are building from PS
}
#
# Cleans things up and prepare files after compilation
#
function Prepare-Packages
{
param (
$uenv # an Umbraco build environment (see Get-UmbracoBuildEnv)
)
Write-Host ">> Prepare Packages"
$src = "$($uenv.SolutionRoot)\src"
$tmp = "$($uenv.SolutionRoot)\build.tmp"
$out = "$($uenv.SolutionRoot)\build.out"
$buildConfiguration = "Release"
# restore web.config
Restore-WebConfig "$src\Umbraco.Web.UI"
# cleanup build
Write-Host "Clean build"
Remove-File "$tmp\bin\*.dll.config"
Remove-File "$tmp\WebApp\bin\*.dll.config"
# cleanup presentation
Write-Host "Cleanup presentation"
Remove-Directory "$tmp\WebApp\umbraco.presentation"
# create directories
Write-Host "Create directories"
mkdir "$tmp\Configs" > $null
mkdir "$tmp\Configs\Lang" > $null
mkdir "$tmp\WebApp\App_Data" > $null
#mkdir "$tmp\WebApp\Media" > $null
#mkdir "$tmp\WebApp\Views" > $null
# copy various files
Write-Host "Copy xml documentation"
cp -force "$tmp\bin\*.xml" "$tmp\WebApp\bin"
Write-Host "Copy transformed configs and langs"
# note: exclude imageprocessor/*.config as imageprocessor pkg installs them
Copy-Files "$tmp\WebApp\config" "*.config" "$tmp\Configs" `
{ -not $_.RelativeName.StartsWith("imageprocessor") }
Copy-Files "$tmp\WebApp\config" "*.js" "$tmp\Configs"
Copy-Files "$tmp\WebApp\config\lang" "*.xml" "$tmp\Configs\Lang"
Copy-File "$tmp\WebApp\web.config" "$tmp\Configs\web.config.transform"
Write-Host "Copy transformed web.config"
Copy-File "$src\Umbraco.Web.UI\web.$buildConfiguration.Config.transformed" "$tmp\WebApp\web.config"
# offset the modified timestamps on all umbraco dlls, as WebResources
# break if date is in the future, which, due to timezone offsets can happen.
Write-Host "Offset dlls timestamps"
ls -r "$tmp\*.dll" | foreach {
$_.CreationTime = $_.CreationTime.AddHours(-11)
$_.LastWriteTime = $_.LastWriteTime.AddHours(-11)
}
# copy libs
Write-Host "Copy SqlCE libraries"
Copy-Files "$src\packages\SqlServerCE.4.0.0.1" "*.*" "$tmp\bin" `
{ -not $_.Extension.StartsWith(".nu") -and -not $_.RelativeName.StartsWith("lib\") }
Copy-Files "$src\packages\SqlServerCE.4.0.0.1" "*.*" "$tmp\WebApp\bin" `
{ -not $_.Extension.StartsWith(".nu") -and -not $_.RelativeName.StartsWith("lib\") }
# copy Belle
Write-Host "Copy Belle"
Copy-Files "$src\Umbraco.Web.UI\umbraco\assets" "*" "$tmp\WebApp\umbraco\assets"
Copy-Files "$src\Umbraco.Web.UI\umbraco\js" "*" "$tmp\WebApp\umbraco\js"
Copy-Files "$src\Umbraco.Web.UI\umbraco\lib" "*" "$tmp\WebApp\umbraco\lib"
Copy-Files "$src\Umbraco.Web.UI\umbraco\views" "*" "$tmp\WebApp\umbraco\views"
}
#
# Creates the Zip packages
#
function Package-Zip
{
param (
$uenv # an Umbraco build environment (see Get-UmbracoBuildEnv)
)
Write-Host ">> Create Zip packages"
$src = "$($uenv.SolutionRoot)\src"
$tmp = "$($uenv.SolutionRoot)\build.tmp"
$out = "$($uenv.SolutionRoot)\build.out"
Write-Host "Zip all binaries"
&$uenv.Zip a -r "$out\UmbracoCms.AllBinaries.$($version.Semver).zip" `
"$tmp\bin\*" `
"-x!dotless.Core.*" `
> $null
Write-Host "Zip cms"
&$uenv.Zip a -r "$out\UmbracoCms.$($version.Semver).zip" `
"$tmp\WebApp\*" `
"-x!dotless.Core.*" "-x!Content_Types.xml" "-x!*.pdb"`
> $null
}
#
# Prepares NuGet
#
function Prepare-NuGet
{
param (
$uenv # an Umbraco build environment (see Get-UmbracoBuildEnv)
)
Write-Host ">> Prepare NuGet"
$src = "$($uenv.SolutionRoot)\src"
$tmp = "$($uenv.SolutionRoot)\build.tmp"
$out = "$($uenv.SolutionRoot)\build.out"
# add Web.config transform files to the NuGet package
Write-Host "Add web.config transforms to NuGet package"
mv "$tmp\WebApp\Views\Web.config" "$tmp\WebApp\Views\Web.config.transform"
# fixme - that one does not exist in .bat build either?
#mv "$tmp\WebApp\Xslt\Web.config" "$tmp\WebApp\Xslt\Web.config.transform"
}
#
# Restores NuGet
#
function Restore-NuGet
{
param (
$uenv # an Umbraco build environment (see Get-UmbracoBuildEnv)
)
$src = "$($uenv.SolutionRoot)\src"
$tmp = "$($uenv.SolutionRoot)\build.tmp"
Write-Host ">> Restore NuGet"
Write-Host "Logging to $tmp\nuget.restore.log"
&$uenv.NuGet restore "$src\Umbraco.sln" -configfile "$src\NuGet.config" > "$tmp\nuget.restore.log"
}
#
# Copies the Azure Gallery script to output
#
function Prepare-AzureGallery
{
param (
$uenv # an Umbraco build environment (see Get-UmbracoBuildEnv)
)
$src = "$($uenv.SolutionRoot)\src"
$tmp = "$($uenv.SolutionRoot)\build.tmp"
$out = "$($uenv.SolutionRoot)\build.out"
$psScript = "$($uenv.SolutionRoot)\build\azuregalleryrelease.ps1"
Write-Host ">> Copy azuregalleryrelease.ps1 to output folder"
Copy-Item $psScript $out
}
#
# Creates the NuGet packages
#
function Package-NuGet
{
param (
$uenv, # an Umbraco build environment (see Get-UmbracoBuildEnv)
$version # an Umbraco version object (see Get-UmbracoVersion)
)
$src = "$($uenv.SolutionRoot)\src"
$tmp = "$($uenv.SolutionRoot)\build.tmp"
$out = "$($uenv.SolutionRoot)\build.out"
$nuspecs = "$($uenv.SolutionRoot)\build\NuSpecs"
Write-Host ">> Create NuGet packages"
# see https://docs.microsoft.com/en-us/nuget/schema/nuspec
# note - warnings about SqlCE native libs being outside of 'lib' folder,
# nothing much we can do about it as it's intentional yet there does not
# seem to be a way to disable the warning
&$uenv.NuGet Pack "$nuspecs\UmbracoCms.Core.nuspec" `
-Properties BuildTmp="$tmp" `
-Version $version.Semver.ToString() `
-Symbols -Verbosity quiet -outputDirectory $out
&$uenv.NuGet Pack "$nuspecs\UmbracoCms.nuspec" `
-Properties BuildTmp="$tmp" `
-Version $version.Semver.ToString() `
-Verbosity quiet -outputDirectory $out
}
#
# Builds Umbraco
#
function Build-Umbraco
{
[CmdletBinding()]
param (
[string]
$target = "all",
[string]
$buildConfiguration = "Release"
)
$target = $target.ToLowerInvariant()
Write-Host ">> Build-Umbraco <$target> <$buildConfiguration>"
Write-Host "Get Build Environment"
$uenv = Get-UmbracoBuildEnv
Write-Host "Get Version"
$version = Get-UmbracoVersion
Write-Host "Version $($version.Semver)"
if ($target -eq "pre-build")
{
Prepare-Build $uenv
#Compile-Belle $uenv $version
# set environment variables
$env:UMBRACO_VERSION=$version.Semver.ToString()
$env:UMBRACO_RELEASE=$version.Release
$env:UMBRACO_COMMENT=$version.Comment
$env:UMBRACO_BUILD=$version.Build
# set environment variable for VSO
# https://github.com/Microsoft/vsts-tasks/issues/375
# https://github.com/Microsoft/vsts-tasks/blob/master/docs/authoring/commands.md
Write-Host ("##vso[task.setvariable variable=UMBRACO_VERSION;]$($version.Semver.ToString())")
Write-Host ("##vso[task.setvariable variable=UMBRACO_RELEASE;]$($version.Release)")
Write-Host ("##vso[task.setvariable variable=UMBRACO_COMMENT;]$($version.Comment)")
Write-Host ("##vso[task.setvariable variable=UMBRACO_BUILD;]$($version.Build)")
Write-Host ("##vso[task.setvariable variable=UMBRACO_TMP;]$($uenv.SolutionRoot)\build.tmp")
}
elseif ($target -eq "pre-tests")
{
Prepare-Tests $uenv
}
elseif ($target -eq "compile-tests")
{
Compile-Tests $uenv
}
elseif ($target -eq "compile-umbraco")
{
Compile-Umbraco $uenv $buildConfiguration
}
elseif ($target -eq "pre-packages")
{
Prepare-Packages $uenv
}
elseif ($target -eq "pre-nuget")
{
Prepare-NuGet $uenv
}
elseif ($target -eq "restore-nuget")
{
Restore-NuGet $uenv
}
elseif ($target -eq "pkg-zip")
{
Package-Zip $uenv
}
elseif ($target -eq "compile-belle")
{
Compile-Belle $uenv $version
}
elseif ($target -eq "prepare-azuregallery")
{
Prepare-AzureGallery $uenv
}
elseif ($target -eq "all")
{
Prepare-Build $uenv
Restore-NuGet $uenv
Compile-Belle $uenv $version
Compile-Umbraco $uenv $buildConfiguration
Prepare-Tests $uenv
Compile-Tests $uenv
# not running tests...
Prepare-Packages $uenv
Package-Zip $uenv
Verify-NuGet $uenv
Prepare-NuGet $uenv
Package-NuGet $uenv $version
Prepare-AzureGallery $uenv
}
else
{
Write-Error "Unsupported target `"$target`"."
}
}
#
# export functions
#
Export-ModuleMember -function Get-UmbracoBuildEnv
Export-ModuleMember -function Set-UmbracoVersion
Export-ModuleMember -function Set-UmbracoContinuousVersion
Export-ModuleMember -function Get-UmbracoVersion
Export-ModuleMember -function Build-Umbraco
Export-ModuleMember -function Build-UmbracoDocs
Export-ModuleMember -function Verify-NuGet
#eof
+95
View File
@@ -0,0 +1,95 @@
# returns the full path if $file is relative to $pwd
function Get-FullPath($file)
{
$path = [System.IO.Path]::Combine($pwd, $file)
$path = [System.IO.Path]::GetFullPath($path)
return $path
}
# removes a directory, doesn't complain if it does not exist
function Remove-Directory($dir)
{
remove-item $dir -force -recurse -errorAction SilentlyContinue > $null
}
# removes a file, doesn't complain if it does not exist
function Remove-File($file)
{
remove-item $file -force -errorAction SilentlyContinue > $null
}
# copies a file, creates target dir if needed
function Copy-File($source, $target)
{
$ignore = new-item -itemType file -path $target -force
cp -force $source $target
}
# copies files to a directory
function Copy-Files($source, $select, $target, $filter)
{
$files = ls -r "$source\$select"
$files | foreach {
$relative = $_.FullName.SubString($source.Length+1)
$_ | add-member -memberType NoteProperty -name RelativeName -value $relative
}
if ($filter -ne $null) {
$files = $files | where $filter
}
$files |
foreach {
if ($_.PsIsContainer) {
$ignore = new-item -itemType directory -path "$target\$($_.RelativeName)" -force
}
else {
Copy-File $_.FullName "$target\$($_.RelativeName)"
}
}
}
# regex-replaces content in a file
function Replace-FileText($filename, $source, $replacement)
{
$filepath = Get-FullPath $filename
$text = [System.IO.File]::ReadAllText($filepath)
$text = [System.Text.RegularExpressions.Regex]::Replace($text, $source, $replacement)
$utf8bom = New-Object System.Text.UTF8Encoding $true
[System.IO.File]::WriteAllText($filepath, $text, $utf8bom)
}
# store web.config
function Store-WebConfig($webUi)
{
if (test-path "$webUi\web.config")
{
if (test-path "$webUi\web.config.temp-build")
{
Write-Host "Found existing web.config.temp-build"
$i = 0
while (test-path "$webUi\web.config.temp-build.$i")
{
$i = $i + 1
}
Write-Host "Save existing web.config as web.config.temp-build.$i"
Write-Host "(WARN: the original web.config.temp-build will be restored during post-build)"
mv "$webUi\web.config" "$webUi\web.config.temp-build.$i"
}
else
{
Write-Host "Save existing web.config as web.config.temp-build"
Write-Host "(will be restored during post-build)"
mv "$webUi\web.config" "$webUi\web.config.temp-build"
}
}
}
# restore web.config
function Restore-WebConfig($webUi)
{
if (test-path "$webUi\web.config.temp-build")
{
Write-Host "Restoring existing web.config"
Remove-File "$webUi\web.config"
mv "$webUi\web.config.temp-build" "$webUi\web.config"
}
}
@@ -0,0 +1,444 @@
#
# Verify-NuGet
#
function Format-Dependency
{
param ( $d )
$m = $d.Id + " "
if ($d.MinInclude) { $m = $m + "[" }
else { $m = $m + "(" }
$m = $m + $d.MinVersion
if ($d.MaxVersion -ne $d.MinVersion) { $m = $m + "," + $d.MaxVersion }
if ($d.MaxInclude) { $m = $m + "]" }
else { $m = $m + ")" }
return $m
}
function Write-NuSpec
{
param ( $name, $deps )
Write-Host ""
Write-Host "$name NuSpec dependencies:"
foreach ($d in $deps)
{
$m = Format-Dependency $d
Write-Host " $m"
}
}
function Write-Package
{
param ( $name, $pkgs )
Write-Host ""
Write-Host "$name packages:"
foreach ($p in $pkgs)
{
Write-Host " $($p.Id) $($p.Version)"
}
}
function Verify-NuGet
{
param (
$uenv # an Umbraco build environment (see Get-UmbracoBuildEnv)
)
if ($uenv -eq $null)
{
$uenv = Get-UmbracoBuildEnv
}
$source = @"
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
using Semver;
namespace Umbraco.Build
{
public class NuGet
{
public static Dependency[] GetNuSpecDependencies(string filename)
{
NuSpec nuspec;
var serializer = new XmlSerializer(typeof(NuSpec));
using (var reader = new StreamReader(filename))
{
nuspec = (NuSpec) serializer.Deserialize(reader);
}
var nudeps = nuspec.Metadata.Dependencies;
var deps = new List<Dependency>();
foreach (var nudep in nudeps)
{
var dep = new Dependency();
dep.Id = nudep.Id;
var parts = nudep.Version.Split(',');
if (parts.Length == 1)
{
dep.MinInclude = parts[0].StartsWith("[");
dep.MaxInclude = parts[0].EndsWith("]");
SemVersion version;
if (!SemVersion.TryParse(parts[0].Substring(1, parts[0].Length-2).Trim(), out version)) continue;
dep.MinVersion = dep.MaxVersion = version; //parts[0].Substring(1, parts[0].Length-2).Trim();
}
else
{
SemVersion version;
if (!SemVersion.TryParse(parts[0].Substring(1).Trim(), out version)) continue;
dep.MinVersion = version; //parts[0].Substring(1).Trim();
if (!SemVersion.TryParse(parts[1].Substring(0, parts[1].Length-1).Trim(), out version)) continue;
dep.MaxVersion = version; //parts[1].Substring(0, parts[1].Length-1).Trim();
dep.MinInclude = parts[0].StartsWith("[");
dep.MaxInclude = parts[1].EndsWith("]");
}
deps.Add(dep);
}
return deps.ToArray();
}
public static IEnumerable<TSource> DistinctBy<TSource, TKey>(/*this*/ IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
{
HashSet<TKey> knownKeys = new HashSet<TKey>();
foreach (TSource element in source)
{
if (knownKeys.Add(keySelector(element)))
{
yield return element;
}
}
}
public static Package[] GetProjectsPackages(string src, string[] projects)
{
var l = new List<Package>();
foreach (var project in projects)
{
var path = Path.Combine(src, project);
var packageConfig = Path.Combine(path, "packages.config");
if (File.Exists(packageConfig))
ReadPackagesConfig(packageConfig, l);
var csprojs = Directory.GetFiles(path, "*.csproj");
foreach (var csproj in csprojs)
{
ReadCsProj(csproj, l);
}
}
IEnumerable<Package> p = l.OrderBy(x => x.Id);
p = DistinctBy(p, x => x.Id + ":::" + x.Version);
return p.ToArray();
}
public static object[] GetPackageErrors(Package[] pkgs)
{
return pkgs
.GroupBy(x => x.Id)
.Where(x => x.Count() > 1)
.ToArray();
}
public static object[] GetNuSpecErrors(Package[] pkgs, Dependency[] deps)
{
var d = pkgs.ToDictionary(x => x.Id, x => x.Version);
return deps
.Select(x =>
{
SemVersion v;
if (!d.TryGetValue(x.Id, out v)) return null;
var ok = true;
/*
if (x.MinInclude)
{
if (v < x.MinVersion) ok = false;
}
else
{
if (v <= x.MinVersion) ok = false;
}
if (x.MaxInclude)
{
if (v > x.MaxVersion) ok = false;
}
else
{
if (v >= x.MaxVersion) ok = false;
}
*/
if (!x.MinInclude || v != x.MinVersion) ok = false;
return ok ? null : new { Dependency = x, Version = v };
})
.Where(x => x != null)
.ToArray();
}
/*
public static Package[] GetProjectPackages(string path)
{
var l = new List<Package>();
var packageConfig = Path.Combine(path, "packages.config");
if (File.Exists(packageConfig))
ReadPackagesConfig(packageConfig, l);
var csprojs = Directory.GetFiles(path, "*.csproj");
foreach (var csproj in csprojs)
{
ReadCsProj(csproj, l);
}
return l.ToArray();
}
*/
public static string GetDirectoryName(string filename)
{
return Path.GetFileName(Path.GetDirectoryName(filename));
}
public static void ReadPackagesConfig(string filename, List<Package> packages)
{
//Console.WriteLine("read " + filename);
PackagesConfigPackages pkgs;
var serializer = new XmlSerializer(typeof(PackagesConfigPackages));
using (var reader = new StreamReader(filename))
{
pkgs = (PackagesConfigPackages) serializer.Deserialize(reader);
}
foreach (var p in pkgs.Packages)
{
SemVersion version;
if (!SemVersion.TryParse(p.Version, out version)) continue;
packages.Add(new Package { Id = p.Id, Version = version, Project = GetDirectoryName(filename) });
}
}
public static void ReadCsProj(string filename, List<Package> packages)
{
//Console.WriteLine("read " + filename);
// if xmlns then it's not a VS2017 with PackageReference
var text = File.ReadAllLines(filename);
var line = text.FirstOrDefault(x => x.Contains("<Project"));
if (line == null) return;
if (line.Contains("xmlns")) return;
CsProjProject proj;
var serializer = new XmlSerializer(typeof(CsProjProject));
using (var reader = new StreamReader(filename))
{
proj = (CsProjProject) serializer.Deserialize(reader);
}
foreach (var p in proj.ItemGroups.Where(x => x.Packages != null).SelectMany(x => x.Packages))
{
var sversion = p.VersionE ?? p.VersionA;
SemVersion version;
if (!SemVersion.TryParse(sversion, out version)) continue;
packages.Add(new Package { Id = p.Id, Version = version, Project = GetDirectoryName(filename) });
}
}
public class Dependency
{
public string Id { get; set; }
public SemVersion MinVersion { get; set; }
public SemVersion MaxVersion { get; set; }
public bool MinInclude { get; set; }
public bool MaxInclude { get; set; }
}
public class Package
{
public string Id { get; set; }
public SemVersion Version { get; set; }
public string Project { get; set; }
}
[XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd")]
[XmlRoot(Namespace = "http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd", IsNullable = false, ElementName = "package")]
public class NuSpec
{
[XmlElement("metadata")]
public NuSpecMetadata Metadata { get; set; }
}
[XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd", TypeName = "metadata")]
public class NuSpecMetadata
{
[XmlArray("dependencies")]
[XmlArrayItem("dependency", IsNullable = false)]
public NuSpecDependency[] Dependencies { get; set; }
}
[XmlType(AnonymousType = true, Namespace = "http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd", TypeName = "dependencies")]
public class NuSpecDependency
{
[XmlAttribute(AttributeName = "id")]
public string Id { get; set; }
[XmlAttribute(AttributeName = "version")]
public string Version { get; set; }
}
[XmlType(AnonymousType = true)]
[XmlRoot(Namespace = "", IsNullable = false, ElementName = "packages")]
public class PackagesConfigPackages
{
[XmlElement("package")]
public PackagesConfigPackage[] Packages { get; set; }
}
[XmlType(AnonymousType = true, TypeName = "package")]
public class PackagesConfigPackage
{
[XmlAttribute(AttributeName = "id")]
public string Id { get; set; }
[XmlAttribute(AttributeName = "version")]
public string Version { get; set; }
}
[XmlType(AnonymousType = true)]
[XmlRoot(Namespace = "", IsNullable = false, ElementName = "Project")]
public class CsProjProject
{
[XmlElement("ItemGroup")]
public CsProjItemGroup[] ItemGroups { get; set; }
}
[XmlType(AnonymousType = true, TypeName = "ItemGroup")]
public class CsProjItemGroup
{
[XmlElement("PackageReference")]
public CsProjPackageReference[] Packages { get; set; }
}
[XmlType(AnonymousType = true, TypeName = "PackageReference")]
public class CsProjPackageReference
{
[XmlAttribute(AttributeName = "Include")]
public string Id { get; set; }
[XmlAttribute(AttributeName = "Version")]
public string VersionA { get; set; }
[XmlElement("Version")]
public string VersionE { get; set;}
}
}
}
"@
Write-Host ">> Verify NuGet consistency"
$assem = (
"System.Xml",
"System.Core", # "System.Collections.Generic"
"System.Linq",
"System.Xml.Serialization",
"System.IO",
"System.Globalization",
$uenv.Semver
)
try
{
# as long as the code hasn't changed it's fine to re-add, but if the code
# has changed this will throw - better warn the dev that we have an issue
add-type -referencedAssemblies $assem -typeDefinition $source -language CSharp
}
catch
{
if ($_.FullyQualifiedErrorId.StartsWith("TYPE_ALREADY_EXISTS,"))
{ Write-Error "Failed to add type, did you change the code?" }
else
{ Write-Error $_ }
}
if (-not $?) { break }
$nuspecs = (
"UmbracoCms",
"UmbracoCms.Core"
)
$projects = (
"Umbraco.Core",
"Umbraco.Web",
"Umbraco.Web.UI",
"UmbracoExamine"#,
#"Umbraco.Tests",
#"Umbraco.Tests.Benchmarks"
)
$src = "$($uenv.SolutionRoot)\src"
$pkgs = [Umbraco.Build.NuGet]::GetProjectsPackages($src, $projects)
if (-not $?) { break }
#Write-Package "All" $pkgs
$errs = [Umbraco.Build.NuGet]::GetPackageErrors($pkgs)
if (-not $?) { break }
if ($errs.Length -gt 0)
{
Write-Host ""
}
foreach ($err in $errs)
{
Write-Host $err.Key
foreach ($e in $err)
{
Write-Host " $($e.Version) required by $($e.Project)"
}
}
if ($errs.Length -gt 0)
{
Write-Error "Found non-consolidated package dependencies"
break
}
$nuerr = $false
$nupath = "$($uenv.SolutionRoot)\build\NuSpecs"
foreach ($nuspec in $nuspecs)
{
$deps = [Umbraco.Build.NuGet]::GetNuSpecDependencies("$nupath\$nuspec.nuspec")
if (-not $?) { break }
#Write-NuSpec $nuspec $deps
$errs = [Umbraco.Build.NuGet]::GetNuSpecErrors($pkgs, $deps)
if (-not $?) { break }
if ($errs.Length -gt 0)
{
Write-Host ""
Write-Host "$nuspec requires:"
$nuerr = $true
}
foreach ($err in $errs)
{
$m = Format-Dependency $err.Dependency
Write-Host " $m but projects require $($err.Version)"
}
}
if ($nuerr)
{
Write-Error "Found inconsistent NuGet dependencies"
break
}
}
+116 -87
View File
@@ -1,87 +1,116 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata minClientVersion="3.4.4">
<id>UmbracoCms.Core</id>
<version>8.0.0</version>
<title>Umbraco Cms Core Binaries</title>
<authors>Umbraco HQ</authors>
<owners>Umbraco HQ</owners>
<licenseUrl>http://opensource.org/licenses/MIT</licenseUrl>
<projectUrl>http://umbraco.com/</projectUrl>
<iconUrl>http://umbraco.com/media/357769/100px_transparent.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Contains the core assemblies needed to run Umbraco Cms. This package only contains assemblies and can be used for package development. Use the UmbracoCms-package to setup Umbraco in Visual Studio as an ASP.NET project.</description>
<summary>Contains the core assemblies needed to run Umbraco Cms</summary>
<language>en-US</language>
<tags>umbraco</tags>
<dependencies>
<dependency id="AutoMapper" version="[6.2.2,6.666666)" />
<dependency id="ClientDependency" version="[1.9.6,1.666666)" />
<dependency id="ClientDependency-Mvc5" version="[1.8.0,1.666666)" />
<dependency id="CSharpTest.Net.Collections" version="[14.906.1403.1082,14.666666)" />
<dependency id="Examine" version="[1.0.0-beta025,1.666666)" />
<dependency id="HtmlAgilityPack" version="[1.7.2,1.666666)" />
<dependency id="ImageProcessor" version="[2.6.1.19,2.666666)" />
<dependency id="ImageProcessor.Web" version="[4.9.2.19,4.666666)" />
<dependency id="ImageProcessor.Web.Config" version="[2.4.1.19,2.666666)" />
<dependency id="LightInject" version="[5.1.2,5.666666)" />
<dependency id="LightInject.Annotation" version="[1.1.0,1.666666)" />
<dependency id="LightInject.Mvc" version="[2.0.0,2.666666)" />
<dependency id="LightInject.WebApi" version="[2.0.0,2.666666)" />
<dependency id="log4net" version="[2.0.8,2.666666)" />
<dependency id="Log4Net.Async" version="[2.0.4,2.666666)" />
<dependency id="Lucene.Net.Contrib" version="[3.0.3,3.666666)" />
<dependency id="Markdown" version="[2.2.1,2.666666)" />
<dependency id="Microsoft.AspNet.Identity.Owin" version="[2.2.1,2.666666)" />
<dependency id="Microsoft.AspNet.Mvc" version="[5.2.6,5.666666)" />
<dependency id="Microsoft.AspNet.SignalR.Core" version="[2.2.3,2.666666)" />
<dependency id="Microsoft.AspNet.WebApi" version="[5.2.6,5.666666)" />
<dependency id="Microsoft.CodeAnalysis.CSharp" version="[2.8.0,2.666666)" />
<dependency id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="[1.0.8,1.666666)" />
<dependency id="Microsoft.Net.Compilers" version="[2.8.0,2.666666)" />
<dependency id="Microsoft.Owin.Host.SystemWeb" version="[4.0.0,4.666666)" />
<dependency id="Microsoft.Owin.Security.Cookies" version="[4.0.0,4.666666)" />
<dependency id="Microsoft.Owin.Security.OAuth" version="[4.0.0,4.666666)" />
<dependency id="Microsoft.Web.Xdt" version="[2.1.2,2.666666)" />
<dependency id="MiniProfiler" version="[3.2.0.157,3.666666)" />
<dependency id="MySql.Data" version="[6.10.7,6.666666)" />
<dependency id="Newtonsoft.Json" version="[11.0.2,11.666666)" />
<dependency id="NPoco" version="[3.9.3,3.666666)" />
<dependency id="Semver" version="[2.0.4,2.666666)" />
<dependency id="System.Reflection.Metadata" version="[1.5.0,1.666666)" />
<dependency id="System.Reflection.Primitives" version="[4.3.0,4.666666)" />
<dependency id="System.Runtime.Handles" version="[4.3.0,4.666666)" />
<dependency id="System.Security.Cryptography.Algorithms" version="[4.3.1,4.666666)" />
<dependency id="System.Security.Cryptography.X509Certificates" version="[4.3.2,4.666666)" />
<dependency id="System.Text.Encoding.CodePages" version="[4.4.0,4.666666)" />
<dependency id="System.Threading.Tasks.Dataflow" version="[4.8.0,4.666666)" />
<dependency id="System.ValueTuple" version="[4.4.0,4.666666)" />
<dependency id="Umbraco.ModelsBuilder" version="[8.0.0-alpha.18,8.666666)" />
<dependency id="Umbraco.SqlServerCE" version="[4.0.0.1,4.666666)" />
</dependencies>
</metadata>
<files>
<file src="$BuildTmp$\WebApp\bin\Umbraco.Core.dll" target="lib\net472\Umbraco.Core.dll" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Web.dll" target="lib\net472\Umbraco.Web.dll" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Web.UI.dll" target="lib\net472\Umbraco.Web.UI.dll" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Examine.dll" target="lib\net472\Umbraco.Examine.dll" />
<!-- docs -->
<file src="$BuildTmp$\WebApp\bin\Umbraco.Core.xml" target="lib\Umbraco.Core.xml" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Web.xml" target="lib\Umbraco.Web.xml" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Web.UI.xml" target="lib\Umbraco.Web.UI.xml" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Examine.xml" target="lib\Umbraco.Examine.xml" />
<file src="tools\install.core.ps1" target="tools\install.ps1" />
<!-- symbols -->
<file src="$BuildTmp$\bin\Umbraco.Core.pdb" target="lib" />
<file src="$BuildTmp$\..\src\Umbraco.Core\**\*.cs" exclude="$BuildTmp$\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Core" />
<file src="$BuildTmp$\bin\Umbraco.Web.pdb" target="lib" />
<file src="$BuildTmp$\..\src\Umbraco.Web\**\*.cs" exclude="$BuildTmp$\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Web" />
<file src="$BuildTmp$\bin\Umbraco.Web.UI.pdb" target="lib" />
<file src="$BuildTmp$\..\src\Umbraco.Web.UI\**\*.cs" exclude="$BuildTmp$\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Web.UI" />
<file src="$BuildTmp$\bin\Umbraco.Examine.pdb" target="lib" />
<file src="$BuildTmp$\..\src\Umbraco.Examine\**\*.cs" exclude="$BuildTmp$\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Examine" />
</files>
</package>
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata minClientVersion="3.4.4">
<id>UmbracoCms.Core</id>
<version>7.0.0</version>
<title>Umbraco Cms Core Binaries</title>
<authors>Umbraco HQ</authors>
<owners>Umbraco HQ</owners>
<licenseUrl>http://opensource.org/licenses/MIT</licenseUrl>
<projectUrl>http://umbraco.com/</projectUrl>
<iconUrl>http://umbraco.com/media/357769/100px_transparent.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Contains the core assemblies needed to run Umbraco Cms. This package only contains assemblies and can be used for package development. Use the UmbracoCms-package to setup Umbraco in Visual Studio as an ASP.NET project.</description>
<summary>Contains the core assemblies needed to run Umbraco Cms</summary>
<language>en-US</language>
<tags>umbraco</tags>
<dependencies>
<group targetFramework="net452">
<dependency id="log4net" version="[2.0.8, 3.0.0)" />
<dependency id="Log4Net.Async" version="[2.0.4, 3.0.0)" />
<dependency id="Microsoft.AspNet.Mvc" version="[5.2.7, 6.0.0)" />
<dependency id="Microsoft.AspNet.WebApi" version="[5.2.7, 6.0.0)" />
<dependency id="Microsoft.AspNet.Identity.Owin" version="[2.2.2, 3.0.0)" />
<dependency id="Microsoft.AspNet.SignalR.Core" version="[2.4.1, 3.0.0)" />
<dependency id="Microsoft.Owin.Security.Cookies" version="[4.0.1, 5.0.0)" />
<dependency id="Microsoft.Owin.Security.OAuth" version="[4.0.1, 5.0.0)" />
<dependency id="Microsoft.Owin.Host.SystemWeb" version="[4.0.1, 5.0.0)" />
<dependency id="MiniProfiler" version="[2.1.0, 3.0.0)" />
<dependency id="HtmlAgilityPack" version="[1.8.8, 2.0.0)" />
<dependency id="Lucene.Net" version="[2.9.4.1, 3.0.0.0)" />
<dependency id="MySql.Data" version="[6.9.9, 7.0.0)" />
<dependency id="ClientDependency" version="[1.9.7, 2.0.0)" />
<dependency id="ClientDependency-Mvc5" version="[1.8.0.0, 2.0.0)" />
<dependency id="AutoMapper" version="[3.3.1, 4.0.0)" />
<dependency id="Newtonsoft.Json" version="[12.0.2, 13.0.0)" />
<dependency id="Examine" version="[0.1.90, 1.0.0)" />
<dependency id="ImageProcessor" version="[2.7.0.100, 3.0.0)" />
<dependency id="ImageProcessor.Web" version="[4.10.0.100, 5.0.0)" />
<dependency id="semver" version="[1.1.2, 3.0.0)" />
<!-- Markdown can not be updated due to: https://github.com/hey-red/markdownsharp/issues/71#issuecomment-233585487 -->
<dependency id="Markdown" version="[1.14.7, 2.0.0)" />
<dependency id="System.Threading.Tasks.Dataflow" version="[4.9.0, 5.0.0)" />
<dependency id="System.ValueTuple" version="[4.5.0, 5.0.0)" />
</group>
</dependencies>
<frameworkAssemblies>
<frameworkAssembly assemblyName="System.Configuration" targetFramework="net452" />
<frameworkAssembly assemblyName="System.IO.Compression.FileSystem" targetFramework="net452" />
<frameworkAssembly assemblyName="System.Web" targetFramework="net452" />
<frameworkAssembly assemblyName="System.Net.Http" targetFramework="net452" />
<frameworkAssembly assemblyName="System.Drawing" targetFramework="net452" />
</frameworkAssemblies>
</metadata>
<files>
<file src="$BuildTmp$\WebApp\bin\businesslogic.dll" target="lib\net452\businesslogic.dll" />
<file src="$BuildTmp$\WebApp\bin\businesslogic.xml" target="lib\net452\businesslogic.xml" />
<file src="$BuildTmp$\WebApp\bin\cms.dll" target="lib\net452\cms.dll" />
<file src="$BuildTmp$\WebApp\bin\cms.xml" target="lib\net452\cms.xml" />
<file src="$BuildTmp$\WebApp\bin\controls.dll" target="lib\net452\controls.dll" />
<file src="$BuildTmp$\WebApp\bin\controls.xml" target="lib\net452\controls.xml" />
<file src="$BuildTmp$\WebApp\bin\interfaces.dll" target="lib\net452\interfaces.dll" />
<file src="$BuildTmp$\WebApp\bin\interfaces.xml" target="lib\net452\interfaces.xml" />
<file src="$BuildTmp$\WebApp\bin\log4net.dll" target="lib\net452\log4net.dll" />
<file src="$BuildTmp$\WebApp\bin\Microsoft.ApplicationBlocks.Data.dll" target="lib\net452\Microsoft.ApplicationBlocks.Data.dll" />
<file src="$BuildTmp$\WebApp\bin\SQLCE4Umbraco.dll" target="lib\net452\SQLCE4Umbraco.dll" />
<file src="$BuildTmp$\WebApp\bin\SQLCE4Umbraco.xml" target="lib\net452\SQLCE4Umbraco.xml" />
<file src="$BuildTmp$\WebApp\bin\System.Data.SqlServerCe.dll" target="lib\net452\System.Data.SqlServerCe.dll" />
<file src="$BuildTmp$\WebApp\bin\System.Data.SqlServerCe.Entity.dll" target="lib\net452\System.Data.SqlServerCe.Entity.dll" />
<file src="$BuildTmp$\WebApp\bin\TidyNet.dll" target="lib\net452\TidyNet.dll" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Core.dll" target="lib\net452\Umbraco.Core.dll" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Core.xml" target="lib\net452\Umbraco.Core.xml" />
<file src="$BuildTmp$\WebApp\bin\umbraco.DataLayer.dll" target="lib\net452\umbraco.DataLayer.dll" />
<file src="$BuildTmp$\WebApp\bin\umbraco.DataLayer.xml" target="lib\net452\umbraco.DataLayer.xml" />
<file src="$BuildTmp$\WebApp\bin\umbraco.dll" target="lib\net452\umbraco.dll" />
<file src="$BuildTmp$\WebApp\bin\umbraco.xml" target="lib\net452\umbraco.xml" />
<file src="$BuildTmp$\WebApp\bin\umbraco.editorControls.dll" target="lib\net452\umbraco.editorControls.dll" />
<file src="$BuildTmp$\WebApp\bin\umbraco.editorControls.xml" target="lib\net452\umbraco.editorControls.xml" />
<file src="$BuildTmp$\WebApp\bin\umbraco.MacroEngines.dll" target="lib\net452\umbraco.MacroEngines.dll" />
<file src="$BuildTmp$\WebApp\bin\umbraco.MacroEngines.xml" target="lib\net452\umbraco.MacroEngines.xml" />
<file src="$BuildTmp$\WebApp\bin\umbraco.providers.dll" target="lib\net452\umbraco.providers.dll" />
<file src="$BuildTmp$\WebApp\bin\umbraco.providers.xml" target="lib\net452\umbraco.providers.xml" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Web.UI.dll" target="lib\net452\Umbraco.Web.UI.dll" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Web.UI.xml" target="lib\net452\Umbraco.Web.UI.xml" />
<file src="$BuildTmp$\WebApp\bin\UmbracoExamine.dll" target="lib\net452\UmbracoExamine.dll" />
<file src="$BuildTmp$\WebApp\bin\UmbracoExamine.xml" target="lib\net452\UmbracoExamine.xml" />
<file src="tools\install.core.ps1" target="tools\install.ps1" />
<!-- Added to be able to produce a symbols package -->
<file src="$BuildTmp$\bin\SQLCE4Umbraco.pdb" target="lib" />
<file src="..\..\src\SQLCE4Umbraco\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\SQLCE4Umbraco" />
<file src="$BuildTmp$\bin\businesslogic.pdb" target="lib" />
<file src="..\..\src\umbraco.businesslogic\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.businesslogic" />
<file src="$BuildTmp$\bin\cms.pdb" target="lib" />
<file src="..\..\src\umbraco.cms\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.cms" />
<file src="$BuildTmp$\bin\controls.pdb" target="lib" />
<file src="..\..\src\umbraco.controls\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.controls" />
<file src="$BuildTmp$\bin\interfaces.pdb" target="lib" />
<file src="..\..\src\umbraco.interfaces\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.interfaces" />
<file src="$BuildTmp$\bin\Umbraco.Core.pdb" target="lib" />
<file src="..\..\src\Umbraco.Core\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Core" />
<file src="$BuildTmp$\bin\umbraco.DataLayer.pdb" target="lib" />
<file src="..\..\src\umbraco.datalayer\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.datalayer" />
<file src="$BuildTmp$\bin\umbraco.editorControls.pdb" target="lib" />
<file src="..\..\src\umbraco.editorControls\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.editorControls" />
<file src="$BuildTmp$\bin\umbraco.MacroEngines.pdb" target="lib" />
<file src="..\..\src\umbraco.MacroEngines\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.MacroEngines" />
<file src="$BuildTmp$\bin\umbraco.providers.pdb" target="lib" />
<file src="..\..\src\umbraco.providers\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.providers" />
<file src="$BuildTmp$\bin\umbraco.pdb" target="lib" />
<file src="..\..\src\Umbraco.Web\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Web" />
<file src="$BuildTmp$\bin\Umbraco.Web.UI.pdb" target="lib" />
<file src="..\..\src\Umbraco.Web.UI\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Web.UI" />
<file src="$BuildTmp$\bin\UmbracoExamine.pdb" target="lib" />
<file src="..\..\src\UmbracoExamine\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\UmbracoExamine" />
</files>
</package>
+56 -49
View File
@@ -1,49 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata minClientVersion="3.4.4">
<id>UmbracoCms</id>
<version>8.0.0</version>
<title>Umbraco Cms</title>
<authors>Umbraco HQ</authors>
<owners>Umbraco HQ</owners>
<licenseUrl>http://opensource.org/licenses/MIT</licenseUrl>
<projectUrl>http://umbraco.com/</projectUrl>
<iconUrl>http://umbraco.com/media/357769/100px_transparent.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Installs Umbraco Cms in your Visual Studio ASP.NET project</description>
<summary>Installs Umbraco Cms in your Visual Studio ASP.NET project</summary>
<language>en-US</language>
<tags>umbraco</tags>
<dependencies>
<dependency id="UmbracoCms.Core" version="[$version$]" />
<dependency id="Umbraco.ModelsBuilder" version="[8.0.0-alpha.18, 9.0.0)" />
<dependency id="Microsoft.AspNet.SignalR.Core" version="[2.2.3, 3.0.0)" />
</dependencies>
</metadata>
<files>
<file src="$BuildTmp$\Configs\**" target="Content\Config" exclude="$BuildTmp$\Configs\Web.config.transform" />
<file src="$BuildTmp$\WebApp\Views\**" target="Content\Views" exclude="$BuildTmp$\WebApp\Views\Web.config" />
<file src="$BuildTmp$\WebApp\default.aspx" target="Content\default.aspx" />
<file src="$BuildTmp$\WebApp\Global.asax" target="Content\Global.asax" />
<file src="$BuildTmp$\WebApp\Web.config" target="UmbracoFiles\Web.config" />
<file src="$BuildTmp$\WebApp\App_Browsers\**" target="UmbracoFiles\App_Browsers" />
<file src="$BuildTmp$\WebApp\config\splashes\**" target="UmbracoFiles\Config\splashes" />
<file src="$BuildTmp$\WebApp\config\BackOfficeTours\**" target="Content\Config\BackOfficeTours" />
<file src="$BuildTmp$\WebApp\umbraco\**" target="UmbracoFiles\umbraco" />
<file src="$BuildTmp$\WebApp\umbraco_client\**" target="UmbracoFiles\umbraco_client" />
<file src="$BuildTmp$\WebApp\Media\Web.config" target="Content\Media\Web.config" />
<file src="tools\install.ps1" target="tools\install.ps1" />
<file src="tools\Readme.txt" target="tools\Readme.txt" />
<file src="tools\ReadmeUpgrade.txt" target="tools\ReadmeUpgrade.txt" />
<file src="tools\Web.config.install.xdt" target="Content\Web.config.install.xdt" />
<file src="tools\applications.config.install.xdt" target="Content\config\applications.config.install.xdt" />
<file src="tools\ClientDependency.config.install.xdt" target="Content\config\ClientDependency.config.install.xdt" />
<file src="tools\Dashboard.config.install.xdt" target="Content\config\Dashboard.config.install.xdt" />
<file src="tools\trees.config.install.xdt" target="Content\config\trees.config.install.xdt" />
<file src="tools\umbracoSettings.config.install.xdt" target="Content\config\umbracoSettings.config.install.xdt" />
<file src="tools\Views.Web.config.install.xdt" target="Views\Web.config.install.xdt" />
<file src="build\**" target="build" />
</files>
</package>
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata minClientVersion="3.4.4">
<id>UmbracoCms</id>
<version>7.0.0</version>
<title>Umbraco Cms</title>
<authors>Umbraco HQ</authors>
<owners>Umbraco HQ</owners>
<licenseUrl>http://opensource.org/licenses/MIT</licenseUrl>
<projectUrl>http://umbraco.com/</projectUrl>
<iconUrl>http://umbraco.com/media/357769/100px_transparent.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Installs Umbraco Cms in your Visual Studio ASP.NET project</description>
<summary>Installs Umbraco Cms in your Visual Studio ASP.NET project</summary>
<language>en-US</language>
<tags>umbraco</tags>
<dependencies>
<group targetFramework="net452">
<dependency id="UmbracoCms.Core" version="[$version$]" />
<dependency id="Newtonsoft.Json" version="[12.0.2, 13.0.0)" />
<dependency id="Umbraco.ModelsBuilder" version="[3.0.10, 4.0.0)" />
<dependency id="Microsoft.AspNet.SignalR.Core" version="[2.4.1, 3.0.0)" />
<dependency id="ImageProcessor.Web.Config" version="[2.5.0.100, 3.0.0)" />
<dependency id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="[2.0.1, 3.0.0)" />
</group>
</dependencies>
</metadata>
<files>
<file src="$BuildTmp$\Configs\**" target="Content\Config" exclude="$BuildTmp$\Configs\Web.config.transform" />
<file src="$BuildTmp$\WebApp\Views\**" target="Content\Views" exclude="$BuildTmp$\WebApp\Views\Web.config" />
<file src="$BuildTmp$\WebApp\default.aspx" target="Content\default.aspx" />
<file src="$BuildTmp$\WebApp\Global.asax" target="Content\Global.asax" />
<file src="$BuildTmp$\WebApp\Web.config" target="UmbracoFiles\Web.config" />
<file src="$BuildTmp$\WebApp\App_Browsers\**" target="UmbracoFiles\App_Browsers" />
<file src="$BuildTmp$\WebApp\bin\amd64\**" target="UmbracoFiles\bin\amd64" />
<file src="$BuildTmp$\WebApp\bin\x86\**" target="UmbracoFiles\bin\x86" />
<file src="$BuildTmp$\WebApp\config\splashes\**" target="UmbracoFiles\Config\splashes" />
<file src="$BuildTmp$\WebApp\config\BackOfficeTours\**" target="Content\Config\BackOfficeTours" />
<file src="$BuildTmp$\WebApp\umbraco\**" target="UmbracoFiles\umbraco" />
<file src="$BuildTmp$\WebApp\umbraco_client\**" target="UmbracoFiles\umbraco_client" />
<file src="$BuildTmp$\WebApp\Media\Web.config" target="Content\Media\Web.config" />
<file src="tools\install.ps1" target="tools\install.ps1" />
<file src="tools\Readme.txt" target="tools\Readme.txt" />
<file src="tools\ReadmeUpgrade.txt" target="tools\ReadmeUpgrade.txt" />
<file src="tools\Web.config.install.xdt" target="Content\Web.config.install.xdt" />
<file src="tools\applications.config.install.xdt" target="Content\config\applications.config.install.xdt" />
<file src="tools\ClientDependency.config.install.xdt" target="Content\config\ClientDependency.config.install.xdt" />
<file src="tools\Dashboard.config.install.xdt" target="Content\config\Dashboard.config.install.xdt" />
<file src="tools\trees.config.install.xdt" target="Content\config\trees.config.install.xdt" />
<file src="tools\umbracoSettings.config.install.xdt" target="Content\config\umbracoSettings.config.install.xdt" />
<file src="tools\Views.Web.config.install.xdt" target="Views\Web.config.install.xdt" />
<file src="tools\processing.config.install.xdt" target="Content\Config\imageprocessor\processing.config.install.xdt" />
<file src="tools\cache.config.install.xdt" target="Content\Config\imageprocessor\cache.config.install.xdt" />
<file src="build\**" target="build" />
</files>
</package>
+3 -3
View File
@@ -20,7 +20,7 @@ Publish this won't affect you.
The following items will now be automatically included when creating a deploy package or publishing to the file
system: umbraco, umbraco_client, config\splashes and global.asax.
Please read the release notes on our.umbraco.org:
http://our.umbraco.org/contribute/releases
Please read the release notes on our.umbraco.com:
https://our.umbraco.com/download/releases
- Umbraco
- Umbraco
+3 -3
View File
@@ -11,7 +11,7 @@
*** IMPORTANT NOTICE FOR UPGRADES FROM VERSIONS BELOW 7.7.0 ***
Be sure to read the version specific upgrade information before proceeding:
https://our.umbraco.org/documentation/Getting-Started/Setup/Upgrading/version-specific#version-7-7-0
https://our.umbraco.com/documentation/Getting-Started/Setup/Upgrading/version-specific#version-7-7-0
Depending on the version you are upgrading from, you may need to make some changes to your web.config
and you will need to be aware of the breaking changes listed there to see if these affect your installation.
@@ -33,7 +33,7 @@ Publish this won't affect you.
The following items will now be automatically included when creating a deploy package or publishing to the file
system: umbraco, umbraco_client, config\splashes and global.asax.
Please read the release notes on our.umbraco.org:
http://our.umbraco.org/contribute/releases
Please read the release notes on our.umbraco.com:
http://our.umbraco.com/contribute/releases
- Umbraco
@@ -1,42 +1,32 @@
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
xdt:Locator="Match(name)"
xdt:Transform="SetAttributes(type)">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
xdt:Locator="Match(name)"
xdt:Transform="SetAttributes(type)" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
xdt:Locator="Match(name)"
xdt:Transform="SetAttributes(type)" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
xdt:Locator="Match(factoryType)"
xdt:Transform="SetAttributes(factoryType)" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="Umbraco.Web.PublishedContentModels" xdt:Transform="InsertIfMissing" />
</namespaces>
</pages>
</system.web.webPages.razor>
<system.web>
<pages
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
xdt:Locator="Match(pageParserFilterType,pageBaseType,userControlBaseType)"
xdt:Transform="SetAttributes(pageParserFilterType,pageBaseType,userControlBaseType)">
<controls>
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc"
xdt:Locator="Match(namespace)"
xdt:Transform="SetAttributes(assembly)" />
</controls>
</pages>
</system.web>
</configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(name)" xdt:Transform="SetAttributes(type)">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(name)" xdt:Transform="SetAttributes(type)" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(name)" xdt:Transform="SetAttributes(type)" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(factoryType)" xdt:Transform="SetAttributes(factoryType)" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="Umbraco.Web.PublishedContentModels" xdt:Transform="InsertIfMissing" />
</namespaces>
</pages>
</system.web.webPages.razor>
<system.web>
<pages
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
xdt:Locator="Match(pageParserFilterType,pageBaseType,userControlBaseType)"
xdt:Transform="SetAttributes(pageParserFilterType,pageBaseType,userControlBaseType)">
<controls>
<add assembly="System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" xdt:Locator="Match(namespace)" xdt:Transform="SetAttributes(assembly)" />
</controls>
</pages>
</system.web>
</configuration>
+411 -212
View File
@@ -1,235 +1,434 @@
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<configSections xdt:Transform="InsertIfMissing" />
<configSections>
<section name="BaseRestExtensions" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<section name="FileSystemProviders" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<section name="ExamineLuceneIndexSets" type="Umbraco.Examine.Config.IndexSets, Umbraco.Examine" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="SetAttributes(type,requirePermission)" />
<sectionGroup name="applicationSettings" xdt:Locator="Match(name)">
<section name="umbraco.presentation.Properties.Settings" xdt:Locator="Match(name)" xdt:Transform="Remove" />
</sectionGroup>
<sectionGroup name="system.web.webPages.razor" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<sectionGroup name="umbracoConfiguration" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing">
<section name="settings" type="Umbraco.Core.Configuration.UmbracoSettings.UmbracoSettingsSection, Umbraco.Core" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
<section name="BaseRestExtensions" type="Umbraco.Core.Configuration.BaseRest.BaseRestSection, Umbraco.Core" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
<section name="FileSystemProviders" type="Umbraco.Core.Configuration.FileSystemProvidersSection, Umbraco.Core" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
<section name="dashBoard" type="Umbraco.Core.Configuration.Dashboard.DashboardSection, Umbraco.Core" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
<section name="HealthChecks" type="Umbraco.Core.Configuration.HealthChecks.HealthChecksSection, Umbraco.Core" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
</sectionGroup>
</configSections>
<configSections xdt:Transform="InsertIfMissing" />
<configSections>
<section name="BaseRestExtensions" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<section name="FileSystemProviders" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<section name="ExamineLuceneIndexSets" type="Examine.LuceneEngine.Config.IndexSets, Examine" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="SetAttributes(type,requirePermission)" />
<appSettings xdt:Transform="InsertIfMissing" />
<appSettings>
<add key="owin:appStartup" value="UmbracoDefaultOwinStartup" xdt:Locator="Match(key)" xdt:Transform="InsertIfMissing" />
<add key="Umbraco.ModelsBuilder.Enable" value="false" xdt:Locator="Match(key)" xdt:Transform="InsertIfMissing" />
<add key="Umbraco.ModelsBuilder.ModelsMode" value="Nothing" xdt:Locator="Match(key)" xdt:Transform="InsertIfMissing" />
<add key="umbracoDefaultUILanguage" value="en-US" xdt:Locator="Match(key)" xdt:Transform="SetAttributes(value)" />
</appSettings>
<sectionGroup name="applicationSettings" xdt:Locator="Match(name)">
<section name="umbraco.presentation.Properties.Settings" xdt:Locator="Match(name)" xdt:Transform="Remove" />
</sectionGroup>
<sectionGroup name="system.web.webPages.razor" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<sectionGroup name="umbracoConfiguration" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing">
<section name="settings" type="Umbraco.Core.Configuration.UmbracoSettings.UmbracoSettingsSection, Umbraco.Core" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
<section name="BaseRestExtensions" type="Umbraco.Core.Configuration.BaseRest.BaseRestSection, Umbraco.Core" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
<section name="FileSystemProviders" type="Umbraco.Core.Configuration.FileSystemProvidersSection, Umbraco.Core" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
<section name="dashBoard" type="Umbraco.Core.Configuration.Dashboard.DashboardSection, Umbraco.Core" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
<section name="HealthChecks" type="Umbraco.Core.Configuration.HealthChecks.HealthChecksSection, Umbraco.Core" requirePermission="false" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
</sectionGroup>
</configSections>
<umbracoConfiguration xdt:Transform="InsertIfMissing">
<settings configSource="config\umbracoSettings.config" xdt:Locator="Match(configSource)" xdt:Transform="InsertIfMissing" />
<BaseRestExtensions configSource="config\BaseRestExtensions.config" xdt:Locator="Match(configSource)" xdt:Transform="InsertIfMissing" />
<FileSystemProviders configSource="config\FileSystemProviders.config" xdt:Locator="Match(configSource)" xdt:Transform="InsertIfMissing" />
<dashBoard configSource="config\Dashboard.config" xdt:Locator="Match(configSource)" xdt:Transform="InsertIfMissing" />
<HealthChecks configSource="config\HealthChecks.config" xdt:Locator="Match(configSource)" xdt:Transform="InsertIfMissing" />
</umbracoConfiguration>
<appSettings xdt:Transform="InsertIfMissing" />
<appSettings>
<add key="owin:appStartup" value="UmbracoDefaultOwinStartup" xdt:Locator="Match(key)" xdt:Transform="InsertIfMissing" />
<add key="Umbraco.ModelsBuilder.Enable" value="false" xdt:Locator="Match(key)" xdt:Transform="InsertIfMissing" />
<add key="Umbraco.ModelsBuilder.ModelsMode" value="Nothing" xdt:Locator="Match(key)" xdt:Transform="InsertIfMissing" />
<add key="umbracoDefaultUILanguage" value="en-US" xdt:Locator="Match(key)" xdt:Transform="SetAttributes(value)" />
</appSettings>
<FileSystemProviders xdt:Transform="Remove" />
<BaseRestExtensions xdt:Transform="Remove" />
<umbracoConfiguration xdt:Transform="InsertIfMissing">
<settings configSource="config\umbracoSettings.config" xdt:Locator="Match(configSource)" xdt:Transform="InsertIfMissing" />
<BaseRestExtensions configSource="config\BaseRestExtensions.config" xdt:Locator="Match(configSource)" xdt:Transform="InsertIfMissing" />
<FileSystemProviders configSource="config\FileSystemProviders.config" xdt:Locator="Match(configSource)" xdt:Transform="InsertIfMissing" />
<dashBoard configSource="config\Dashboard.config" xdt:Locator="Match(configSource)" xdt:Transform="InsertIfMissing" />
<HealthChecks configSource="config\HealthChecks.config" xdt:Locator="Match(configSource)" xdt:Transform="InsertIfMissing" />
</umbracoConfiguration>
<system.data xdt:Transform="InsertIfMissing">
<DbProviderFactories xdt:Transform="InsertIfMissing">
<remove invariant="System.Data.SqlServerCe.4.0" xdt:Locator="Match(invariant)" xdt:Transform="InsertIfMissing" />
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe" xdt:Locator="Match(invariant)" xdt:Transform="SetAttributes(invariant,description,type)" />
<remove invariant="MySql.Data.MySqlClient" xdt:Locator="Match(invariant)" xdt:Transform="InsertIfMissing" />
<add invariant="MySql.Data.MySqlClient" xdt:Locator="Match(invariant)" xdt:Transform="Remove" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" xdt:Locator="Match(invariant)" xdt:Transform="InsertIfMissing" />
<add invariant="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" xdt:Locator="Match(invariant)" xdt:Transform="SetAttributes(type)" />
</DbProviderFactories>
</system.data>
<clientDependency xdt:Transform="RemoveAttributes(version)" />
<FileSystemProviders xdt:Transform="Remove" />
<BaseRestExtensions xdt:Transform="Remove" />
<system.web xdt:Transform="InsertIfMissing" />
<system.web>
<siteMap xdt:Transform="Remove" />
<siteMap xdt:Transform="InsertIfMissing">
<providers xdt:Transform="InsertIfMissing">
<remove name="MySqlSiteMapProvider" xdt:Transform="InsertIfMissing" />
</providers>
</siteMap>
<httpRuntime xdt:Transform="InsertIfMissing" />
<httpRuntime maxRequestLength="51200" fcnMode="Single" xdt:Transform="SetAttributes(fcnMode,maxRequestLength)" />
<httpRuntime targetFramework="4.5" xdt:Locator="Condition(count(@targetFramework) != 1)" xdt:Transform="SetAttributes(targetFramework)" />
<membership defaultProvider="DefaultMembershipProvider" xdt:Locator="Match(defaultProvider)" xdt:Transform="Remove" />
<roleManager defaultProvider="DefaultRoleProvider" xdt:Locator="Match(defaultProvider)" xdt:Transform="Remove"/>
<profile defaultProvider="DefaultProfileProvider" xdt:Locator="Match(defaultProvider)" xdt:Transform="Remove"/>>
<sessionState customProvider="DefaultSessionProvider" xdt:Locator="Match(customProvider)" xdt:Transform="Remove"/>
<compilation xdt:Transform="InsertIfMissing" />
<system.data xdt:Transform="InsertIfMissing">
<DbProviderFactories xdt:Transform="InsertIfMissing">
<remove invariant="System.Data.SqlServerCe.4.0" xdt:Locator="Match(invariant)" xdt:Transform="InsertIfMissing" />
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe" xdt:Locator="Match(invariant)" xdt:Transform="SetAttributes(invariant,description,type)" />
<remove invariant="MySql.Data.MySqlClient" xdt:Locator="Match(invariant)" xdt:Transform="InsertIfMissing" />
<add invariant="MySql.Data.MySqlClient" xdt:Locator="Match(invariant)" xdt:Transform="Remove" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" xdt:Locator="Match(invariant)" xdt:Transform="InsertIfMissing" />
<add invariant="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" xdt:Locator="Match(invariant)" xdt:Transform="SetAttributes(type)" />
</DbProviderFactories>
</system.data>
<xhtmlConformance xdt:Transform="Remove" />
<clientDependency xdt:Transform="RemoveAttributes(version)" />
<httpModules xdt:Transform="InsertIfMissing" />
<httpModules>
<add name="umbracoRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="umbracoBaseRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="viewstateMoverModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name=" UmbracoModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
</httpModules>
<system.web xdt:Transform="InsertIfMissing" />
<system.web>
<siteMap xdt:Transform="Remove" />
<siteMap xdt:Transform="InsertIfMissing">
<providers xdt:Transform="InsertIfMissing">
<remove name="MySqlSiteMapProvider" xdt:Transform="InsertIfMissing" />
</providers>
</siteMap>
<httpRuntime xdt:Transform="InsertIfMissing" />
<httpRuntime maxRequestLength="51200" fcnMode="Single" xdt:Transform="SetAttributes(fcnMode,maxRequestLength)" />
<httpRuntime targetFramework="4.5" xdt:Locator="Condition(count(@targetFramework) != 1)" xdt:Transform="SetAttributes(targetFramework)" />
<httpHandlers xdt:Transform="InsertIfMissing" />
<httpHandlers>
<add path="GoogleSpellChecker.ashx" xdt:Locator="Match(path)" xdt:Transform="Remove" />
</httpHandlers>
</system.web>
<membership defaultProvider="DefaultMembershipProvider" xdt:Locator="Match(defaultProvider)" xdt:Transform="Remove" />
<roleManager defaultProvider="DefaultRoleProvider" xdt:Locator="Match(defaultProvider)" xdt:Transform="Remove"/>
<profile defaultProvider="DefaultProfileProvider" xdt:Locator="Match(defaultProvider)" xdt:Transform="Remove"/>>
<sessionState customProvider="DefaultSessionProvider" xdt:Locator="Match(customProvider)" xdt:Transform="Remove"/>
<compilation xdt:Transform="InsertIfMissing" />
<compilation>
<assemblies xdt:Transform="InsertIfMissing" />
<assemblies>
<add assembly="System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<add assembly="System.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Collections.Concurrent, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ComponentModel.Annotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ComponentModel.EventBasedAsync, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Diagnostics.Contracts, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Diagnostics.Debug, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Diagnostics.Tools, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Diagnostics.Tracing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Dynamic.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Globalization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.IO, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Linq.Expressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Linq.Parallel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Linq.Queryable, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Net.NetworkInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Net.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Net.Requests, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ObjectModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection.Emit, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection.Emit.ILGeneration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection.Emit.Lightweight, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Reflection.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Resources.ResourceManager, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.InteropServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.InteropServices.WindowsRuntime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.Serialization.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.Serialization.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Runtime.Serialization.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Security.Principal, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ServiceModel.Duplex, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ServiceModel.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ServiceModel.NetTcp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ServiceModel.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.ServiceModel.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Text.Encoding, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Text.Encoding.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Text.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Threading, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Threading.Tasks, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Threading.Tasks.Parallel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Xml.ReaderWriter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Xml.XDocument, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
<add assembly="System.Xml.XmlSerializer, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" xdt:Locator="Match(assembly)" xdt:Transform="InsertIfMissing" />
</assemblies>
</compilation>
<system.webServer xdt:Transform="InsertIfMissing" />
<system.webServer>
<modules xdt:Transform="InsertIfMissing" />
<modules runAllManagedModulesForAllRequests="true" xdt:Transform="SetAttributes(runAllManagedModulesForAllRequests)">
<remove name="umbracoRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<remove name="viewstateMoverModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<remove name="umbracoBaseRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<remove name="WebDAVModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<!-- Inserts it as the first element. Also see http://stackoverflow.com/a/19041487/5018 -->
<remove name="WebDAVModule" xdt:Locator="Match(name)" xdt:Transform="Insert" />
<compilation>
<assemblies>
<remove assembly="System.Web.Http" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Net.Http" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Collections" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Collections.Concurrent" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ComponentModel" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ComponentModel.Annotations" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ComponentModel.EventBasedAsync" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Diagnostics.Contracts" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Diagnostics.Debug" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Diagnostics.Tools" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Diagnostics.Tracing" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Dynamic.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Globalization" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.IO" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Linq" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Linq.Expressions" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Linq.Parallel" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Linq.Queryable" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Net.NetworkInformation" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Net.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Net.Requests" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ObjectModel" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection.Emit" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection.Emit.ILGeneration" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection.Emit.Lightweight" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Reflection.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Resources.ResourceManager" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.InteropServices" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.InteropServices.WindowsRuntime" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.Numerics" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.Serialization.Json" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.Serialization.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Runtime.Serialization.Xml" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Security.Principal" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ServiceModel.Duplex" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ServiceModel.Http" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ServiceModel.NetTcp" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ServiceModel.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.ServiceModel.Security" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Text.Encoding" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Text.Encoding.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Text.RegularExpressions" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Threading" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Threading.Tasks" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Threading.Tasks.Parallel" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Xml.ReaderWriter" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Xml.XDocument" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
<remove assembly="System.Xml.XmlSerializer" xdt:Locator="Match(assembly)" xdt:Transform="Remove" />
</assemblies>
</compilation>
<compilation>
<assemblies>
<remove assembly="System.Web.Http" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Net.Http" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Collections" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Collections.Concurrent" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ComponentModel" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ComponentModel.Annotations" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ComponentModel.EventBasedAsync" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Diagnostics.Contracts" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Diagnostics.Debug" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Diagnostics.Tools" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Diagnostics.Tracing" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Dynamic.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Globalization" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.IO" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Linq" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Linq.Expressions" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Linq.Parallel" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Linq.Queryable" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Net.NetworkInformation" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Net.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Net.Requests" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ObjectModel" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection.Emit" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection.Emit.ILGeneration" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection.Emit.Lightweight" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Reflection.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Resources.ResourceManager" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.InteropServices" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.InteropServices.WindowsRuntime" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.Numerics" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.Serialization.Json" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.Serialization.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Runtime.Serialization.Xml" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Security.Principal" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ServiceModel.Duplex" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ServiceModel.Http" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ServiceModel.NetTcp" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ServiceModel.Primitives" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.ServiceModel.Security" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Text.Encoding" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Text.Encoding.Extensions" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Text.RegularExpressions" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Threading" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Threading.Tasks" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Threading.Tasks.Parallel" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Xml.ReaderWriter" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Xml.XDocument" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
<remove assembly="System.Xml.XmlSerializer" xdt:Locator="Match(assembly)" xdt:Transform="InsertBefore(/configuration/system.web/compilation/assemblies/add)" />
</assemblies>
</compilation>
<add name="umbracoRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="viewstateMoverModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="umbracoBaseRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<!-- Note, we're removing the one that starts with a space here, don't correct it -->
<!-- This to fix a quirk we for a lot of releases where we added it with the space by default -->
<add name=" UmbracoModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
</modules>
<xhtmlConformance xdt:Transform="Remove" />
<staticContent xdt:Transform="InsertIfMissing" />
<staticContent>
<remove fileExtension=".svg" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<remove fileExtension=".woff" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<remove fileExtension=".woff2" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<remove fileExtension=".less" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<mimeMap fileExtension=".less" mimeType="text/css" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
</staticContent>
<httpModules xdt:Transform="InsertIfMissing" />
<httpModules>
<add name="umbracoRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="umbracoBaseRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="viewstateMoverModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name=" UmbracoModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
</httpModules>
<handlers>
<remove name="SpellChecker" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="SpellChecker" xdt:Locator="Match(name)" xdt:Transform="Remove" />
</handlers>
<httpHandlers xdt:Transform="InsertIfMissing" />
<httpHandlers>
<add path="GoogleSpellChecker.ashx" xdt:Locator="Match(path)" xdt:Transform="Remove" />
</httpHandlers>
</system.web>
<security xdt:Transform="InsertIfMissing">
<requestFiltering xdt:Transform="InsertIfMissing">
<requestLimits maxAllowedContentLength="52428800" xdt:Transform="InsertIfMissing" />
</requestFiltering>
</security>
<system.webServer xdt:Transform="InsertIfMissing" />
<system.webServer>
<modules xdt:Transform="InsertIfMissing" />
<modules runAllManagedModulesForAllRequests="true" xdt:Transform="SetAttributes(runAllManagedModulesForAllRequests)">
<remove name="umbracoRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<remove name="viewstateMoverModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<remove name="umbracoBaseRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<remove name="WebDAVModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<!-- Inserts it as the first element. Also see http://stackoverflow.com/a/19041487/5018 -->
<remove name="WebDAVModule" xdt:Locator="Match(name)" xdt:Transform="Insert" />
</system.webServer>
<add name="umbracoRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="viewstateMoverModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="umbracoBaseRequestModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<!-- Note, we're removing the one that starts with a space here, don't correct it -->
<!-- This to fix a quirk we for a lot of releases where we added it with the space by default -->
<add name=" UmbracoModule" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="UmbracoModule" type="Umbraco.Web.UmbracoModule,umbraco" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
</modules>
<runtime xdt:Transform="InsertIfMissing" />
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" xdt:Transform="InsertIfMissing" />
</runtime>
<staticContent xdt:Transform="InsertIfMissing" />
<staticContent>
<remove fileExtension=".svg" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<remove fileExtension=".woff" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<remove fileExtension=".woff2" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<remove fileExtension=".less" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
<mimeMap fileExtension=".less" mimeType="text/css" xdt:Locator="Match(fileExtension)" xdt:Transform="InsertIfMissing" />
</staticContent>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='HtmlAgilityPack')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='AutoMapper')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Net.Http')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Newtonsoft.Json')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.Mvc')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.WebPages.Razor')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.Http')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.Owin')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.Owin.Security.OAuth')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.Owin.Security')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.Owin.Security.Cookies')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Net.Http.Formatting')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.CodeAnalysis.CSharp')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='log4net')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Data.SqlServerCe')" xdt:Transform="Remove" />
</assemblyBinding>
</runtime>
<handlers>
<remove name="SpellChecker" xdt:Locator="Match(name)" xdt:Transform="Remove" />
<add name="SpellChecker" xdt:Locator="Match(name)" xdt:Transform="Remove" />
</handlers>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="HtmlAgilityPack" publicKeyToken="bd319b19eaf3b43a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.1.0" newVersion="1.5.1.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="AutoMapper" publicKeyToken="be96cd2c38ef1005" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.3.1.0" newVersion="3.3.1.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.0.8.0"/>
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845DCD8080CC91" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<security xdt:Transform="InsertIfMissing">
<requestFiltering xdt:Transform="InsertIfMissing">
<requestLimits maxAllowedContentLength="52428800" xdt:Transform="InsertIfMissing" />
</requestFiltering>
</security>
<system.web.webPages.razor xdt:Transform="Remove" />
<location path="umbraco" xdt:Locator="Match(path)" xdt:Transform="InsertIfMissing" />
<location path="umbraco" xdt:Locator="Match(path)">
<system.webServer xdt:Transform="InsertIfMissing">
<urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" xdt:Transform="SetAttributes(doStaticCompression,doDynamicCompression,dynamicCompressionBeforeCache)" />
</system.webServer>
</location>
<location path="App_Plugins" xdt:Locator="Match(path)" xdt:Transform="InsertIfMissing" />
<location path="App_Plugins" xdt:Locator="Match(path)">
<system.webServer xdt:Transform="InsertIfMissing">
<urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" xdt:Transform="SetAttributes(doStaticCompression,doDynamicCompression,dynamicCompressionBeforeCache)" />
</system.webServer>
</location>
<runtime xdt:Transform="InsertIfMissing" />
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" xdt:Transform="InsertIfMissing" />
</runtime>
</configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='HtmlAgilityPack')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='AutoMapper')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Newtonsoft.Json')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.Mvc')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.WebPages.Razor')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.Http')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.Owin')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.Owin.Security.OAuth')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.Owin.Security')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.Owin.Security.Cookies')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Net.Http.Formatting')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.CodeAnalysis.CSharp')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='log4net')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Data.SqlServerCe')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.CodeDom.Providers.DotNetCompilerPlatform')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.AspNet.SignalR.Core')" xdt:Transform="Remove" />
<dependentAssembly xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.Http.WebHost')" xdt:Transform="Remove" />
</assemblyBinding>
</runtime>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="HtmlAgilityPack" publicKeyToken="bd319b19eaf3b43a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.8.8.0" newVersion="1.8.8.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="AutoMapper" publicKeyToken="be96cd2c38ef1005" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.3.1.0" newVersion="3.3.1.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.0.8.0"/>
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Data.SqlServerCe" publicKeyToken="89845DCD8080CC91" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1"/>
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.1.0" newVersion="2.0.1.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.AspNet.SignalR.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.4.1.0" newVersion="2.4.1.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.web.webPages.razor xdt:Transform="Remove" />
<location path="umbraco" xdt:Locator="Match(path)" xdt:Transform="InsertIfMissing" />
<location path="umbraco" xdt:Locator="Match(path)">
<system.webServer xdt:Transform="InsertIfMissing">
<urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" xdt:Transform="SetAttributes(doStaticCompression,doDynamicCompression,dynamicCompressionBeforeCache)" />
</system.webServer>
</location>
<location path="App_Plugins" xdt:Locator="Match(path)" xdt:Transform="InsertIfMissing" />
<location path="App_Plugins" xdt:Locator="Match(path)">
<system.webServer xdt:Transform="InsertIfMissing">
<urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" xdt:Transform="SetAttributes(doStaticCompression,doDynamicCompression,dynamicCompressionBeforeCache)" />
</system.webServer>
</location>
</configuration>
+13 -3
View File
@@ -33,16 +33,26 @@ if ($project) {
robocopy $umbracoBinFolder $umbracoBinBackupPath /e /LOG:$copyLogsPath\UmbracoBinBackup.log
# Delete files Umbraco ships with
if(Test-Path $umbracoBinFolder\businesslogic.dll) { Remove-Item $umbracoBinFolder\businesslogic.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\cms.dll) { Remove-Item $umbracoBinFolder\cms.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\controls.dll) { Remove-Item $umbracoBinFolder\controls.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\interfaces.dll) { Remove-Item $umbracoBinFolder\interfaces.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\log4net.dll) { Remove-Item $umbracoBinFolder\log4net.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Microsoft.ApplicationBlocks.Data.dll) { Remove-Item $umbracoBinFolder\Microsoft.ApplicationBlocks.Data.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\SQLCE4Umbraco.dll) { Remove-Item $umbracoBinFolder\SQLCE4Umbraco.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Data.SqlServerCe.dll) { Remove-Item $umbracoBinFolder\System.Data.SqlServerCe.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Data.SqlServerCe.Entity.dll) { Remove-Item $umbracoBinFolder\System.Data.SqlServerCe.Entity.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Umbraco.Web.dll) { Remove-Item $umbracoBinFolder\Umbraco.Web.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\TidyNet.dll) { Remove-Item $umbracoBinFolder\TidyNet.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\umbraco.dll) { Remove-Item $umbracoBinFolder\umbraco.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Umbraco.Core.dll) { Remove-Item $umbracoBinFolder\Umbraco.Core.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\umbraco.DataLayer.dll) { Remove-Item $umbracoBinFolder\umbraco.DataLayer.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\umbraco.editorControls.dll) { Remove-Item $umbracoBinFolder\umbraco.editorControls.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\umbraco.MacroEngines.dll) { Remove-Item $umbracoBinFolder\umbraco.MacroEngines.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Umbraco.ModelsBuilder.dll) { Remove-Item $umbracoBinFolder\Umbraco.ModelsBuilder.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Umbraco.ModelsBuilder.AspNet.dll) { Remove-Item $umbracoBinFolder\Umbraco.ModelsBuilder.AspNet.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\umbraco.providers.dll) { Remove-Item $umbracoBinFolder\umbraco.providers.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Umbraco.Web.UI.dll) { Remove-Item $umbracoBinFolder\Umbraco.Web.UI.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Umbraco.Examine.dll) { Remove-Item $umbracoBinFolder\Umbraco.Examine.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\UmbracoExamine.dll) { Remove-Item $umbracoBinFolder\UmbracoExamine.dll -Force -Confirm:$false }
# Delete files Umbraco depends upon
$amd64Folder = Join-Path $umbracoBinFolder "amd64"
@@ -92,4 +102,4 @@ if ($project) {
if(Test-Path $umbracoBinFolder\System.Web.WebPages.Deployment.dll) { Remove-Item $umbracoBinFolder\System.Web.WebPages.Deployment.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\System.Web.WebPages.Razor.dll) { Remove-Item $umbracoBinFolder\System.Web.WebPages.Razor.dll -Force -Confirm:$false }
}
}
}
+4 -1
View File
@@ -46,7 +46,7 @@
<add application="settings" alias="scripts" title="Scripts" type="Umbraco.Web.Trees.ScriptTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="4"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="settings" alias="dictionary" title="Dictionary" type="umbraco.loadDictionary, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="6"
<add application="settings" alias="dictionary" title="Dictionary" type="Umbraco.Web.Trees.DictionaryTreeController, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="6"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add alias="dictionary" application="settings"
@@ -86,6 +86,9 @@
<add application="developer" alias="relationTypes" title="Relation Types" type="umbraco.loadRelationTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="4"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add initialize="true" sortOrder="5" alias="xslt" application="developer" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.XsltTreeController, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="developer" alias="partialViewMacros" type="Umbraco.Web.Trees.PartialViewMacrosTree, umbraco"
xdt:Locator="Match(application,alias,type)"
-127
View File
@@ -1,127 +0,0 @@
@ECHO OFF
:choice
set /P c=WARNING! Are you sure you want to continue, this will remove all package files, view files, sqlce database, etc... Press 'Y' to auto-remove all files/folders, 'N' to cancel or 'C' to prompt for each folder removal?
if /I "%c%" EQU "C" goto :prompt
if /I "%c%" EQU "Y" goto :auto
if /I "%c%" EQU "N" goto :exit
goto :choice
:prompt
echo Current folder: %CD%
echo Removing sqlce database
del ..\src\Umbraco.Web.UI\App_Data\Umbraco.sdf
echo Resetting installedPackages.config
echo ^<?xml version="1.0" encoding="utf-8"?^>^<packages^>^</packages^> >..\src\Umbraco.Web.UI\App_Data\packages\installed\installedPackages.config
echo Removing plugin cache files
del ..\src\Umbraco.Web.UI\App_Data\TEMP\PluginCache\*.*
echo Removing cache files and examine index
del ..\src\Umbraco.Web.UI\App_Data\TEMP\*.*
echo Removing log files
del ..\src\Umbraco.Web.UI\App_Data\Logs\*.*
echo Removing packages
del ..\src\Umbraco.Web.UI\App_Data\packages\*.*
echo Removing previews
del ..\src\Umbraco.Web.UI\App_Data\preview\*.*
echo Removing app code files (typically added by starterkits)
del ..\src\Umbraco.Web.UI\App_Code\*.*
echo Removing xslt files
del ..\src\Umbraco.Web.UI\xslt\*.*
echo Removing user control files
del ..\src\Umbraco.Web.UI\UserControls\*.*
echo Removing masterpage files
del ..\src\Umbraco.Web.UI\masterpages\*.*
echo Removing razor files
del ..\src\Umbraco.Web.UI\macroScripts\*.*
echo Removing media files
del ..\src\Umbraco.Web.UI\media\*.*
echo Removing script files
del ..\src\Umbraco.Web.UI\scripts\*.*
echo Removing css files
del ..\src\Umbraco.Web.UI\css\*.*
echo "Umbraco install reverted to clean install"
pause
exit
:auto
echo Current folder: %CD%
echo Removing sqlce database
del ..\src\Umbraco.Web.UI\App_Data\Umbraco.sdf
echo Resetting installedPackages.config
echo ^<?xml version="1.0" encoding="utf-8"?^>^<packages^>^</packages^> >..\src\Umbraco.Web.UI\App_Data\packages\installed\installedPackages.config
echo Removing plugin cache files
FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\TEMP\PluginCache\*.*) DO DEL %%A
echo Removing cache files and examine index
FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\TEMP\*.*) DO DEL %%A
echo Removing log files
FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\Logs\*.*) DO DEL %%A
echo Removing packages
FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\packages\*.*) DO DEL %%A
echo Removing previews
FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\preview\*.*) DO DEL %%A
echo Removing app code files (typically added by starterkits)
FOR %%A IN (..\src\Umbraco.Web.UI\App_Code\*.*) DO DEL %%A
echo Removing xslt files
FOR %%A IN (..\src\Umbraco.Web.UI\xslt\*.*) DO DEL %%A
echo Removing masterpage files
FOR %%A IN (..\src\Umbraco.Web.UI\masterpages\*.*) DO DEL %%A
echo Removing user control files
FOR %%A IN (..\src\Umbraco.Web.UI\usercontrols\*.*) DO DEL %%A
echo Removing view files
ATTRIB +H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S
FOR %%A IN (..\src\Umbraco.Web.UI\Views\) DO DEL /Q /S *.cshtml -H
ATTRIB -H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S
echo Removing razor files
FOR %%A IN (..\src\Umbraco.Web.UI\macroScripts\*.*) DO DEL %%A
echo Removing media files
FOR %%A IN (..\src\Umbraco.Web.UI\media\*.*) DO DEL %%A
echo Removing script files
FOR %%A IN (..\src\Umbraco.Web.UI\scripts\*.*) DO DEL %%A
echo Removing css files
FOR %%A IN (..\src\Umbraco.Web.UI\css\*.*) DO DEL %%A
echo "Umbraco install reverted to clean install"
pause
exit
:exit
exit
-163
View File
@@ -1,163 +0,0 @@
@ECHO OFF
:choice
set /P c=WARNING! Are you sure you want to continue, this will remove all package files, view files, sqlce database, etc... Press 'Y' to auto-remove all files/folders, 'N' to cancel or 'C' to prompt for each folder removal?
if /I "%c%" EQU "C" goto :prompt
if /I "%c%" EQU "Y" goto :auto
if /I "%c%" EQU "N" goto :exit
goto :choice
:prompt
echo Current folder: %CD%
echo Regenerating SQL CE database
SET buildfolder=%CD%
CD ..\tools\RegenerateUmbracoSQLCEDatabase\
RegenerateUmbracoSQLCEDatabase.exe %CD%\..\..\src\Umbraco.Web.UI
CD %buildfolder%
echo Removing bin files
del ..\src\Umbraco.Web.UI\bin\*.*
echo Building solution
"%ProgramFiles(x86)%"\MSBuild\14.0\Bin\MSBuild.exe ..\src\umbraco.sln /t:Clean,Build
echo Resetting installedPackages.config
echo ^<?xml version="1.0" encoding="utf-8"?^>^<packages^>^</packages^> >..\src\Umbraco.Web.UI\App_Data\packages\installed\installedPackages.config
echo Removing plugin cache files
del ..\src\Umbraco.Web.UI\App_Data\TEMP\PluginCache\*.*
echo Removing cache files and examine index
del ..\src\Umbraco.Web.UI\App_Data\TEMP\*.*
echo Removing log files
del ..\src\Umbraco.Web.UI\App_Data\Logs\*.*
echo Removing packages
del ..\src\Umbraco.Web.UI\App_Data\packages\*.*
echo Removing previews
del ..\src\Umbraco.Web.UI\App_Data\preview\*.*
echo Removing app code files (typically added by starterkits)
del ..\src\Umbraco.Web.UI\App_Code\*.*
echo Removing xslt files
del ..\src\Umbraco.Web.UI\xslt\*.*
echo Removing user control files
del ..\src\Umbraco.Web.UI\UserControls\*.*
echo Removing masterpage files
del ..\src\Umbraco.Web.UI\masterpages\*.*
echo Removing razor files
del ..\src\Umbraco.Web.UI\macroScripts\*.*
echo Removing media files
del ..\src\Umbraco.Web.UI\media\*.*
echo Removing script files
del ..\src\Umbraco.Web.UI\scripts\*.*
echo Removing css files
del ..\src\Umbraco.Web.UI\css\*.*
echo "Umbraco install reverted to clean install"
pause
exit
:auto
echo Current folder: %CD%
echo Regenerating SQL CE database
SET buildfolder=%CD%
CD ..\tools\RegenerateUmbracoSQLCEDatabase\
RegenerateUmbracoSQLCEDatabase.exe %CD%\..\..\src\Umbraco.Web.UI
CD %buildfolder%
echo Removing bin files
FOR %%A IN (..\src\Umbraco.Web.UI\bin\*.*) DO DEL %%A
echo Building solution
"%ProgramFiles(x86)%"\MSBuild\14.0\Bin\MSBuild.exe ..\src\umbraco.sln /t:Clean,Build
echo Resetting installedPackages.config
echo ^<?xml version="1.0" encoding="utf-8"?^>^<packages^>^</packages^> >..\src\Umbraco.Web.UI\App_Data\packages\installed\installedPackages.config
echo Removing plugin cache files
FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\TEMP\PluginCache\*.*) DO DEL %%A
echo Removing cache files and examine index
FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\TEMP\*.*) DO DEL %%A
echo Removing log files
FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\Logs\*.*) DO DEL %%A
echo Removing packages
FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\packages\*.*) DO DEL %%A
echo Removing previews
FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\preview\*.*) DO DEL %%A
echo Removing app code files (typically added by starterkits)
FOR %%A IN (..\src\Umbraco.Web.UI\App_Code\*.*) DO DEL %%A
echo Removing xslt files
FOR %%A IN (..\src\Umbraco.Web.UI\xslt\*.*) DO DEL %%A
echo Removing masterpage files
FOR %%A IN (..\src\Umbraco.Web.UI\masterpages\*.*) DO DEL %%A
echo Removing user control files
FOR %%A IN (..\src\Umbraco.Web.UI\usercontrols\*.*) DO DEL %%A
echo Removing view files
ATTRIB +H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S
FOR %%A IN (..\src\Umbraco.Web.UI\Views\) DO DEL /Q /S *.cshtml -H
ATTRIB -H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S
echo Removing razor files
FOR %%A IN (..\src\Umbraco.Web.UI\macroScripts\*.*) DO DEL %%A
echo Removing media files
FOR %%A IN (..\src\Umbraco.Web.UI\media\*.*) DO DEL %%A
echo Removing script files
FOR %%A IN (..\src\Umbraco.Web.UI\scripts\*.*) DO DEL %%A
echo Removing css files
FOR %%A IN (..\src\Umbraco.Web.UI\css\*.*) DO DEL %%A
echo Removing Courier files
del ..\src\Umbraco.Web.UI\config\courier.config
del ..\src\Umbraco.Web.UI\umbraco\images\tray\courier.jpg
rmdir "..\src\Umbraco.Web.UI\umbraco\plugins\courier\" /S /Q
echo Removing Contour files
del ..\src\Umbraco.Web.UI\umbraco\images\tray\contour.png
FOR %%A IN (..\src\Umbraco.Web.UI\umbraco\images\umbraco\icon_*.*) DO DEL %%A
rmdir "..\src\Umbraco.Web.UI\umbraco\plugins\umbracoContour\" /S /Q
del ..\src\Umbraco.Web.UI\umbraco\xslt\templates\UmbracoContour*.* /S /Q
rmdir "..\src\Umbraco.Web.UI\usercontrols\umbracoContour\" /S /Q
echo Start with a clean web.config
copy ..\src\Umbraco.Web.UI\web.Template.config ..\src\Umbraco.Web.UI\web.config /Y
echo Start with a clean web.config
copy ..\src\Umbraco.Web.UI\web.Template.config ..\src\Umbraco.Web.UI\web.config /Y
echo "Umbraco install reverted to clean install"
pause
exit
:exit
exit
+59
View File
@@ -0,0 +1,59 @@
Param(
[string]$GitHubPersonalAccessToken,
[string]$Directory
)
$workingDirectory = $Directory
CD "$($workingDirectory)"
# Clone repo
$fullGitUrl = "https://$($env:GIT_URL)/$($env:GIT_REPOSITORYNAME).git"
git clone $($fullGitUrl) $($env:GIT_REPOSITORYNAME) 2>&1 | % { $_.ToString() }
# Remove everything so that unzipping the release later will update everything
# Don't remove the readme file nor the git directory
Write-Host "Cleaning up git directory before adding new version"
Remove-Item -Recurse "$($workingDirectory)\$($env:GIT_REPOSITORYNAME)\*" -Exclude README.md,.git
# Find release zip
$zipsDir = "$($workingDirectory)\$($env:BUILD_DEFINITIONNAME)\zips"
$pattern = "UmbracoCms.([0-9]{1,2}.[0-9]{1,3}.[0-9]{1,3}).zip"
Write-Host "Searching for Umbraco release files in $($zipsDir) for a file with pattern $($pattern)"
$file = (Get-ChildItem "$($zipsDir)" | Where-Object { $_.Name -match "$($pattern)" })
if($file)
{
# Get release name
$version = [regex]::Match($($file.Name), $($pattern)).captures.groups[1].value
$releaseName = "Umbraco $($version)"
Write-Host "Found $($releaseName)"
# Unzip into repository to update release
Add-Type -AssemblyName System.IO.Compression.FileSystem
Write-Host "Unzipping $($file.FullName) to $($workingDirectory)\$($env:GIT_REPOSITORYNAME)"
[System.IO.Compression.ZipFile]::ExtractToDirectory("$($file.FullName)", "$($workingDirectory)\$($env:GIT_REPOSITORYNAME)")
# Telling git who we are
git config --global user.email "coffee@umbraco.com" 2>&1 | % { $_.ToString() }
git config --global user.name "Umbraco HQ" 2>&1 | % { $_.ToString() }
# Commit
CD "$($workingDirectory)\$($env:GIT_REPOSITORYNAME)"
Write-Host "Committing Umbraco $($version) Release from Build Output"
git add . 2>&1 | % { $_.ToString() }
git commit -m " Release $($releaseName) from Build Output" 2>&1 | % { $_.ToString() }
# Tag the release
git tag -a "v$($version)" -m "v$($version)"
# Push release to master
$fullGitAuthUrl = "https://$($env:GIT_USERNAME):$($GitHubPersonalAccessToken)@$($env:GIT_URL)/$($env:GIT_REPOSITORYNAME).git"
git push $($fullGitAuthUrl) 2>&1 | % { $_.ToString() }
#Push tag to master
git push $($fullGitAuthUrl) --tags 2>&1 | % { $_.ToString() }
}
else
{
Write-Error "Umbraco release file not found, searched in $($workingDirectory)\$($zipsDir) for a file with pattern $($pattern) - canceling"
}
-92
View File
@@ -1,92 +0,0 @@
# this script should be dot-sourced into the build.ps1 scripts
# right after the parameters declaration
# ie
# . "$PSScriptRoot\build-bootstrap.ps1"
# THIS FILE IS DISTRIBUTED AS PART OF UMBRACO.BUILD
# DO NOT MODIFY IT - ALWAYS USED THE COMMON VERSION
# ################################################################
# BOOTSTRAP
# ################################################################
# reset errors
$error.Clear()
# ensure we have temp folder for downloads
$scriptRoot = "$PSScriptRoot"
$scriptTemp = "$scriptRoot\temp"
if (-not (test-path $scriptTemp)) { mkdir $scriptTemp > $null }
# get NuGet
$cache = 4
$nuget = "$scriptTemp\nuget.exe"
if (-not $local)
{
$source = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
if ((test-path $nuget) -and ((ls $nuget).CreationTime -lt [DateTime]::Now.AddDays(-$cache)))
{
Remove-Item $nuget -force -errorAction SilentlyContinue > $null
}
if (-not (test-path $nuget))
{
Write-Host "Download NuGet..."
Invoke-WebRequest $source -OutFile $nuget
if (-not $?) { throw "Failed to download NuGet." }
}
}
elseif (-not (test-path $nuget))
{
throw "Failed to locate NuGet.exe."
}
# NuGet notes
# As soon as we use -ConfigFile, NuGet uses that file, and only that file, and does not
# merge configuration from system level. See comments in NuGet.Client solution, class
# NuGet.Configuration.Settings, method LoadDefaultSettings.
# For NuGet to merge configurations, it needs to "find" the file in the current directory,
# or above. Which means we cannot really use -ConfigFile but instead have to have Umbraco's
# NuGet.config file at root, and always run NuGet.exe while at root or in a directory below
# root.
$solutionRoot = "$scriptRoot\.."
$testPwd = [System.IO.Path]::GetFullPath($pwd.Path) + "\"
$testRoot = [System.IO.Path]::GetFullPath($solutionRoot) + "\"
if (-not $testPwd.ToLower().StartsWith($testRoot.ToLower()))
{
throw "Cannot run outside of the solution's root."
}
# get the build system
if (-not $local)
{
$params = "-OutputDirectory", $scriptTemp, "-Verbosity", "quiet", "-PreRelease"
&$nuget install Umbraco.Build @params
if (-not $?) { throw "Failed to download Umbraco.Build." }
}
# ensure we have the build system
$ubuildPath = ls "$scriptTemp\Umbraco.Build.*" | sort -property CreationTime -descending | select -first 1
if (-not $ubuildPath)
{
throw "Failed to locate the build system."
}
# boot the build system
# this creates $global:ubuild
return &"$ubuildPath\ps\Boot.ps1"
# at that point the build.ps1 script must boot the build system
# eg
# $ubuild.Boot($ubuildPath.FullName, [System.IO.Path]::GetFullPath("$scriptRoot\.."),
# @{ Local = $local; With7Zip = $false; WithNode = $false },
# @{ continue = $continue })
# if (-not $?) { throw "Failed to boot the build system." }
#
# and it's good practice to report
# eg
# Write-Host "Umbraco.Whatever Build"
# Write-Host "Umbraco.Build v$($ubuild.BuildVersion)"
# eof
+57 -459
View File
@@ -1,469 +1,67 @@
param (
# get, don't execute
param (
[Parameter(Mandatory=$false)]
[Alias("g")]
[switch] $get = $false,
[string]
$version,
# run local, don't download, assume everything is ready
[Parameter(Mandatory=$false)]
[Alias("l")]
[Alias("loc")]
[switch] $local = $false,
[Alias("mo")]
[switch]
$moduleOnly = $false
)
# keep the build directories, don't clear them
[Parameter(Mandatory=$false)]
[Alias("c")]
[Alias("cont")]
[switch] $continue = $false
)
# the script can run either from the solution root,
# or from the ./build directory - anything else fails
if ([System.IO.Path]::GetFileName($pwd) -eq "build")
{
$mpath = [System.IO.Path]::GetDirectoryName($pwd) + "\build\Modules\"
}
else
{
$mpath = "$pwd\build\Modules\"
}
# ################################################################
# BOOTSTRAP
# ################################################################
# look for the module and throw if not found
if (-not [System.IO.Directory]::Exists($mpath + "Umbraco.Build"))
{
Write-Error "Could not locate Umbraco build Powershell module."
break
}
# create and boot the buildsystem
$ubuild = &"$PSScriptRoot\build-bootstrap.ps1"
if (-not $?) { return }
$ubuild.Boot($PSScriptRoot,
@{ Local = $local; },
@{ Continue = $continue })
if ($ubuild.OnError()) { return }
# add the module path (if not already there)
if (-not $env:PSModulePath.Contains($mpath))
{
$env:PSModulePath = "$mpath;$env:PSModulePath"
}
Write-Host "Umbraco Cms Build"
Write-Host "Umbraco.Build v$($ubuild.BuildVersion)"
# force-import (or re-import) the module
Write-Host "Import Umbraco build Powershell module"
Import-Module Umbraco.Build -Force -DisableNameChecking
# ################################################################
# TASKS
# ################################################################
$ubuild.DefineMethod("SetMoreUmbracoVersion",
# module only?
if ($moduleOnly)
{
if (-not [string]::IsNullOrWhiteSpace($version))
{
param ( $semver )
$release = "" + $semver.Major + "." + $semver.Minor + "." + $semver.Patch
Write-Host "Update UmbracoVersion.cs"
$this.ReplaceFileText("$($this.SolutionRoot)\src\Umbraco.Core\Configuration\UmbracoVersion.cs", `
"(\d+)\.(\d+)\.(\d+)(.(\d+))?", `
"$release")
$this.ReplaceFileText("$($this.SolutionRoot)\src\Umbraco.Core\Configuration\UmbracoVersion.cs", `
"CurrentComment => `"(.+)`"", `
"CurrentComment => `"$($semver.PreRelease)`"")
Write-Host "Update IIS Express port in csproj"
$updater = New-Object "Umbraco.Build.ExpressPortUpdater"
$csproj = "$($this.SolutionRoot)\src\Umbraco.Web.UI\Umbraco.Web.UI.csproj"
$updater.Update($csproj, $release)
})
$ubuild.DefineMethod("SandboxNode",
{
$global:node_path = $env:path
$nodePath = $this.BuildEnv.NodePath
$gitExe = (Get-Command git).Source
$gitPath = [System.IO.Path]::GetDirectoryName($gitExe)
$env:path = "$nodePath;$gitPath"
$global:node_nodepath = $this.ClearEnvVar("NODEPATH")
$global:node_npmcache = $this.ClearEnvVar("NPM_CONFIG_CACHE")
$global:node_npmprefix = $this.ClearEnvVar("NPM_CONFIG_PREFIX")
})
$ubuild.DefineMethod("RestoreNode",
{
$env:path = $node_path
$this.SetEnvVar("NODEPATH", $node_nodepath)
$this.SetEnvVar("NPM_CONFIG_CACHE", $node_npmcache)
$this.SetEnvVar("NPM_CONFIG_PREFIX", $node_npmprefix)
})
$ubuild.DefineMethod("CompileBelle",
{
$src = "$($this.SolutionRoot)\src"
$log = "$($this.BuildTemp)\belle.log"
Write-Host "Compile Belle"
Write-Host "Logging to $log"
# get a temp clean node env (will restore)
$this.SandboxNode()
# stupid PS is going to gather all "warnings" in $error
# so we have to take care of it else they'll bubble and kill the build
if ($error.Count -gt 0) { return }
Push-Location "$($this.SolutionRoot)\src\Umbraco.Web.UI.Client"
Write-Output "" > $log
Write-Output "### node version is:" > $log
&node -v >> $log 2>&1
if (-not $?) { throw "Failed to report node version." }
Write-Output "### npm version is:" >> $log 2>&1
&npm -v >> $log 2>&1
if (-not $?) { throw "Failed to report npm version." }
Write-Output "### clean npm cache" >> $log 2>&1
&npm cache clean --force >> $log 2>&1
$error.Clear() # that one can fail 'cos security bug - ignore
Write-Output "### npm install" >> $log 2>&1
&npm install >> $log 2>&1
Write-Output ">> $? $($error.Count)" >> $log 2>&1
Write-Output "### install bower" >> $log 2>&1
&npm install -g bower >> $log 2>&1
$error.Clear() # that one fails 'cos bower is deprecated - ignore
Write-Output "### install gulp" >> $log 2>&1
&npm install -g gulp >> $log 2>&1
$error.Clear() # that one fails 'cos deprecated stuff - ignore
Write-Output "### install gulp-cli" >> $log 2>&1
&npm install -g gulp-cli --quiet >> $log 2>&1
if (-not $?) { throw "Failed to install gulp-cli" } # that one is expected to work
Write-Output "### gulp build for version $($this.Version.Release)" >> $log 2>&1
&gulp build --buildversion=$this.Version.Release >> $log 2>&1
if (-not $?) { throw "Failed to build" } # that one is expected to work
Pop-Location
# fixme - should we filter the log to find errors?
#get-content .\build.tmp\belle.log | %{ if ($_ -match "build") { write $_}}
# restore
$this.RestoreNode()
# setting node_modules folder to hidden
# used to prevent VS13 from crashing on it while loading the websites project
# also makes sure aspnet compiler does not try to handle rogue files and chokes
# in VSO with Microsoft.VisualC.CppCodeProvider -related errors
# use get-item -force 'cos it might be hidden already
Write-Host "Set hidden attribute on node_modules"
$dir = Get-Item -force "$src\Umbraco.Web.UI.Client\node_modules"
$dir.Attributes = $dir.Attributes -bor ([System.IO.FileAttributes]::Hidden)
})
$ubuild.DefineMethod("CompileUmbraco",
{
$buildConfiguration = "Release"
$src = "$($this.SolutionRoot)\src"
$log = "$($this.BuildTemp)\msbuild.umbraco.log"
if ($this.BuildEnv.VisualStudio -eq $null)
{
throw "Build environment does not provide VisualStudio."
}
Write-Host "Compile Umbraco"
Write-Host "Logging to $log"
# beware of the weird double \\ at the end of paths
# see http://edgylogic.com/blog/powershell-and-external-commands-done-right/
&$this.BuildEnv.VisualStudio.MsBuild "$src\Umbraco.Web.UI\Umbraco.Web.UI.csproj" `
/p:WarningLevel=0 `
/p:Configuration=$buildConfiguration `
/p:Platform=AnyCPU `
/p:UseWPP_CopyWebApplication=True `
/p:PipelineDependsOnBuild=False `
/p:OutDir="$($this.BuildTemp)\bin\\" `
/p:WebProjectOutputDir="$($this.BuildTemp)\WebApp\\" `
/p:Verbosity=minimal `
/t:Clean`;Rebuild `
/tv:"$($this.BuildEnv.VisualStudio.ToolsVersion)" `
/p:UmbracoBuild=True `
> $log
if (-not $?) { throw "Failed to compile Umbraco.Web.UI." }
# /p:UmbracoBuild tells the csproj that we are building from PS, not VS
})
$ubuild.DefineMethod("PrepareTests",
{
Write-Host "Prepare Tests"
# fixme - idea is to avoid rebuilding everything for tests
# but because of our weird assembly versioning (with .* stuff)
# everything gets rebuilt all the time...
#Copy-Files "$tmp\bin" "." "$tmp\tests"
# data
Write-Host "Copy data files"
if (-not (Test-Path -Path "$($this.BuildTemp)\tests\Packaging" ))
{
Write-Host "Create packaging directory"
mkdir "$($this.BuildTemp)\tests\Packaging" > $null
}
$this.CopyFiles("$($this.SolutionRoot)\src\Umbraco.Tests\Packaging\Packages", "*", "$($this.BuildTemp)\tests\Packaging\Packages")
# required for package install tests
if (-not (Test-Path -Path "$($this.BuildTemp)\tests\bin" ))
{
Write-Host "Create bin directory"
mkdir "$($this.BuildTemp)\tests\bin" > $null
}
})
$ubuild.DefineMethod("CompileTests",
{
$buildConfiguration = "Release"
$log = "$($this.BuildTemp)\msbuild.tests.log"
if ($this.BuildEnv.VisualStudio -eq $null)
{
throw "Build environment does not provide VisualStudio."
}
Write-Host "Compile Tests"
Write-Host "Logging to $log"
# beware of the weird double \\ at the end of paths
# see http://edgylogic.com/blog/powershell-and-external-commands-done-right/
&$this.BuildEnv.VisualStudio.MsBuild "$($this.SolutionRoot)\src\Umbraco.Tests\Umbraco.Tests.csproj" `
/p:WarningLevel=0 `
/p:Configuration=$buildConfiguration `
/p:Platform=AnyCPU `
/p:UseWPP_CopyWebApplication=True `
/p:PipelineDependsOnBuild=False `
/p:OutDir="$($this.BuildTemp)\tests\\" `
/p:Verbosity=minimal `
/t:Build `
/tv:"$($this.BuildEnv.VisualStudio.ToolsVersion)" `
/p:UmbracoBuild=True `
> $log
if (-not $?) { throw "Failed to compile tests." }
# /p:UmbracoBuild tells the csproj that we are building from PS
})
$ubuild.DefineMethod("PreparePackages",
{
Write-Host "Prepare Packages"
$src = "$($this.SolutionRoot)\src"
$tmp = "$($this.BuildTemp)"
$out = "$($this.BuildOutput)"
$buildConfiguration = "Release"
# restore web.config
$this.TempRestoreFile("$src\Umbraco.Web.UI\web.config")
# cleanup build
Write-Host "Clean build"
$this.RemoveFile("$tmp\bin\*.dll.config")
$this.RemoveFile("$tmp\WebApp\bin\*.dll.config")
# cleanup presentation
Write-Host "Cleanup presentation"
$this.RemoveDirectory("$tmp\WebApp\umbraco.presentation")
# create directories
Write-Host "Create directories"
mkdir "$tmp\Configs" > $null
mkdir "$tmp\Configs\Lang" > $null
mkdir "$tmp\WebApp\App_Data" > $null
#mkdir "$tmp\WebApp\Media" > $null
#mkdir "$tmp\WebApp\Views" > $null
# copy various files
Write-Host "Copy xml documentation"
Copy-Item -force "$tmp\bin\*.xml" "$tmp\WebApp\bin"
Write-Host "Copy transformed configs and langs"
# note: exclude imageprocessor/*.config as imageprocessor pkg installs them
$this.CopyFiles("$tmp\WebApp\config", "*.config", "$tmp\Configs", `
{ -not $_.RelativeName.StartsWith("imageprocessor") })
$this.CopyFiles("$tmp\WebApp\config", "*.js", "$tmp\Configs")
$this.CopyFiles("$tmp\WebApp\config\lang", "*.xml", "$tmp\Configs\Lang")
$this.CopyFile("$tmp\WebApp\web.config", "$tmp\Configs\web.config.transform")
Write-Host "Copy transformed web.config"
$this.CopyFile("$src\Umbraco.Web.UI\web.$buildConfiguration.Config.transformed", "$tmp\WebApp\web.config")
# offset the modified timestamps on all umbraco dlls, as WebResources
# break if date is in the future, which, due to timezone offsets can happen.
Write-Host "Offset dlls timestamps"
Get-ChildItem -r "$tmp\*.dll" | ForEach-Object {
$_.CreationTime = $_.CreationTime.AddHours(-11)
$_.LastWriteTime = $_.LastWriteTime.AddHours(-11)
}
# copy libs
Write-Host "Copy SqlCE libraries"
$nugetPackages = [System.Environment]::ExpandEnvironmentVariables("%userprofile%\.nuget\packages")
$this.CopyFiles("$nugetPackages\umbraco.sqlserverce\4.0.0.1\runtimes\win-x86\native", "*.*", "$tmp\bin\x86")
$this.CopyFiles("$nugetPackages\umbraco.sqlserverce\4.0.0.1\runtimes\win-x64\native", "*.*", "$tmp\bin\amd64")
$this.CopyFiles("$nugetPackages\umbraco.sqlserverce\4.0.0.1\runtimes\win-x86\native", "*.*", "$tmp\WebApp\bin\x86")
$this.CopyFiles("$nugetPackages\umbraco.sqlserverce\4.0.0.1\runtimes\win-x64\native", "*.*", "$tmp\WebApp\bin\amd64")
# copy Belle
Write-Host "Copy Belle"
$this.CopyFiles("$src\Umbraco.Web.UI\umbraco\assets", "*", "$tmp\WebApp\umbraco\assets")
$this.CopyFiles("$src\Umbraco.Web.UI\umbraco\js", "*", "$tmp\WebApp\umbraco\js")
$this.CopyFiles("$src\Umbraco.Web.UI\umbraco\lib", "*", "$tmp\WebApp\umbraco\lib")
$this.CopyFiles("$src\Umbraco.Web.UI\umbraco\views", "*", "$tmp\WebApp\umbraco\views")
})
$ubuild.DefineMethod("PackageZip",
{
Write-Host "Create Zip packages"
$src = "$($this.SolutionRoot)\src"
$tmp = $this.BuildTemp
$out = $this.BuildOutput
Write-Host "Zip all binaries"
&$this.BuildEnv.Zip a -r "$out\UmbracoCms.AllBinaries.$($this.Version.Semver).zip" `
"$tmp\bin\*" `
"-x!dotless.Core.*" `
> $null
if (-not $?) { throw "Failed to zip UmbracoCms.AllBinaries." }
Write-Host "Zip cms"
&$this.BuildEnv.Zip a -r "$out\UmbracoCms.$($this.Version.Semver).zip" `
"$tmp\WebApp\*" `
"-x!dotless.Core.*" "-x!Content_Types.xml" "-x!*.pdb" `
> $null
if (-not $?) { throw "Failed to zip UmbracoCms." }
})
$ubuild.DefineMethod("PrepareBuild",
{
Write-Host "Clear folders and files"
$this.RemoveDirectory("$($this.SolutionRoot)\src\Umbraco.Web.UI.Client\bower_components")
$this.TempStoreFile("$($this.SolutionRoot)\src\Umbraco.Web.UI\web.config")
Write-Host "Create clean web.config"
$this.CopyFile("$($this.SolutionRoot)\src\Umbraco.Web.UI\web.Template.config", "$($this.SolutionRoot)\src\Umbraco.Web.UI\web.config")
Write-host "Set environment"
$env:UMBRACO_VERSION=$this.Version.Semver.ToString()
$env:UMBRACO_RELEASE=$this.Version.Release
$env:UMBRACO_COMMENT=$this.Version.Comment
$env:UMBRACO_BUILD=$this.Version.Build
if ($args -and $args[0] -eq "vso")
{
Write-host "Set VSO environment"
# set environment variable for VSO
# https://github.com/Microsoft/vsts-tasks/issues/375
# https://github.com/Microsoft/vsts-tasks/blob/master/docs/authoring/commands.md
Write-Host ("##vso[task.setvariable variable=UMBRACO_VERSION;]$($this.Version.Semver.ToString())")
Write-Host ("##vso[task.setvariable variable=UMBRACO_RELEASE;]$($this.Version.Release)")
Write-Host ("##vso[task.setvariable variable=UMBRACO_COMMENT;]$($this.Version.Comment)")
Write-Host ("##vso[task.setvariable variable=UMBRACO_BUILD;]$($this.Version.Build)")
Write-Host ("##vso[task.setvariable variable=UMBRACO_TMP;]$($this.SolutionRoot)\build.tmp")
}
})
$ubuild.DefineMethod("PrepareNuGet",
{
Write-Host "Prepare NuGet"
# add Web.config transform files to the NuGet package
Write-Host "Add web.config transforms to NuGet package"
mv "$($this.BuildTemp)\WebApp\Views\Web.config" "$($this.BuildTemp)\WebApp\Views\Web.config.transform"
})
$ubuild.DefineMethod("RestoreNuGet",
{
Write-Host "Restore NuGet"
Write-Host "Logging to $($this.BuildTemp)\nuget.restore.log"
&$this.BuildEnv.NuGet restore "$($this.SolutionRoot)\src\Umbraco.sln" > "$($this.BuildTemp)\nuget.restore.log"
if (-not $?) { throw "Failed to restore NuGet packages." }
})
$ubuild.DefineMethod("PackageNuGet",
{
$nuspecs = "$($this.SolutionRoot)\build\NuSpecs"
Write-Host "Create NuGet packages"
&$this.BuildEnv.NuGet Pack "$nuspecs\UmbracoCms.Core.nuspec" `
-Properties BuildTmp="$($this.BuildTemp)" `
-Version "$($this.Version.Semver.ToString())" `
-Symbols -Verbosity detailed -outputDirectory "$($this.BuildOutput)" > "$($this.BuildTemp)\nupack.cmscore.log"
if (-not $?) { throw "Failed to pack NuGet UmbracoCms.Core." }
&$this.BuildEnv.NuGet Pack "$nuspecs\UmbracoCms.nuspec" `
-Properties BuildTmp="$($this.BuildTemp)" `
-Version $this.Version.Semver.ToString() `
-Verbosity detailed -outputDirectory "$($this.BuildOutput)" > "$($this.BuildTemp)\nupack.cms.log"
if (-not $?) { throw "Failed to pack NuGet UmbracoCms." }
# run hook
if ($this.HasMethod("PostPackageNuGet"))
{
Write-Host "Run PostPackageNuGet hook"
$this.PostPackageNuGet();
if (-not $?) { throw "Failed to run hook." }
}
})
$ubuild.DefineMethod("VerifyNuGet",
{
$this.VerifyNuGetConsistency(
("UmbracoCms", "UmbracoCms.Core"),
("Umbraco.Core", "Umbraco.Web", "Umbraco.Web.UI", "Umbraco.Examine"))
if ($this.OnError()) { return }
})
$ubuild.DefineMethod("PrepareAzureGallery",
{
Write-Host "Prepare Azure Gallery"
$this.CopyFile("$($this.SolutionRoot)\build\Azure\azuregalleryrelease.ps1", $this.BuildOutput)
})
$ubuild.DefineMethod("Build",
{
$this.PrepareBuild()
if ($this.OnError()) { return }
$this.RestoreNuGet()
if ($this.OnError()) { return }
$this.CompileBelle()
if ($this.OnError()) { return }
$this.CompileUmbraco()
if ($this.OnError()) { return }
$this.PrepareTests()
if ($this.OnError()) { return }
$this.CompileTests()
if ($this.OnError()) { return }
# not running tests
$this.PreparePackages()
if ($this.OnError()) { return }
$this.PackageZip()
if ($this.OnError()) { return }
$this.VerifyNuGet()
if ($this.OnError()) { return }
$this.PrepareNuGet()
if ($this.OnError()) { return }
$this.PackageNuGet()
if ($this.OnError()) { return }
$this.PrepareAzureGallery()
if ($this.OnError()) { return }
})
# ################################################################
# RUN
# ################################################################
# configure
$ubuild.ReleaseBranches = @( "master" )
# run
if (-not $get)
{
$ubuild.Build()
if ($ubuild.OnError()) { return }
Write-Host "(module only: ignoring version parameter)"
}
Write-Host "Done"
if ($get) { return $ubuild }
else
{
Write-Host "(module only)"
}
break
}
# get build environment
Write-Host "Setup Umbraco build Environment"
$uenv = Get-UmbracoBuildEnv
# set the version if any
if (-not [string]::IsNullOrWhiteSpace($version))
{
Write-Host "Set Umbraco version to $version"
Set-UmbracoVersion $version
}
# full umbraco build
Write-Host "Build Umbraco"
Build-Umbraco
+18
View File
@@ -0,0 +1,18 @@
# Usage: powershell .\setversion.ps1 7.6.8
# Or: powershell .\setversion 7.6.8-beta001
param (
[Parameter(Mandatory=$true)]
[string]
$version
)
# report
Write-Host "Setting Umbraco version to $version"
# import Umbraco Build PowerShell module - $pwd is ./build
$env:PSModulePath = "$pwd\Modules\;$env:PSModulePath"
Import-Module Umbraco.Build -Force -DisableNameChecking
# run commands
$version = Set-UmbracoVersion -Version $version
-5
View File
@@ -1,5 +0,0 @@
- name: Umbraco.Core Documentation
href: https://our.umbraco.org/apidocs/csharp/api/Umbraco.Core.html
- name: Umbraco.Web Documentation
href: https://our.umbraco.org/apidocs/csharp/api/Umbraco.Web.html
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
<add key="umbracocore" value="https://www.myget.org/F/umbracocore/api/v3/index.json" />
</packageSources>
</configuration>
@@ -0,0 +1,21 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SqlCE4Umbraco")]
[assembly: AssemblyDescription("Umbraco specific Sql Ce Provider")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("Umbraco CMS")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("04436b0a-1dc6-4ee1-9d96-4c04f1a9f429")]
[assembly: InternalsVisibleTo("Umbraco.Tests")]
+101
View File
@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{5BA5425F-27A7-4677-865E-82246498AA2E}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SQLCE4Umbraco</RootNamespace>
<AssemblyName>SQLCE4Umbraco</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<RestorePackages>true</RestorePackages>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\SQLCE4Umbraco.XML</DocumentationFile>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\SqlServerCE.4.0.0.1\lib\System.Data.SqlServerCe.dll</HintPath>
</Reference>
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\SqlServerCE.4.0.0.1\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\SolutionInfo.cs">
<Link>Properties\SolutionInfo.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SqlCeApplicationBlock.cs" />
<Compile Include="SqlCeContextGuardian.cs" />
<Compile Include="SqlCEDataReader.cs" />
<Compile Include="SqlCEHelper.cs" />
<Compile Include="SqlCEInstaller.cs" />
<Compile Include="SqlCEParameter.cs" />
<Compile Include="SqlCeProviderException.cs" />
<Compile Include="SqlCETableUtility.cs" />
<Compile Include="SqlCEUtility.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config">
<SubType>Designer</SubType>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\umbraco.datalayer\umbraco.datalayer.csproj">
<Project>{C7CB79F0-1C97-4B33-BFA7-00731B579AE2}</Project>
<Name>umbraco.datalayer</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
@@ -0,0 +1,2 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeInspection/CSharpLanguageProject/LanguageLevel/@EntryValue">CSharp50</s:String></wpf:ResourceDictionary>
+44
View File
@@ -0,0 +1,44 @@
/************************************************************************************
*
* Umbraco Data Layer
* MIT Licensed work
* ©2008 Ruben Verborgh
*
***********************************************************************************/
using System.Data.SqlServerCe;
using umbraco.DataLayer;
namespace SqlCE4Umbraco
{
/// <summary>
/// Class that adapts a SqlDataReader.SqlDataReader to a RecordsReaderAdapter.
/// </summary>
public class SqlCeDataReaderHelper : RecordsReaderAdapter<SqlCeDataReader>
{
#region Public Constructors
/// <summary>
/// Initializes a new instance of the <see cref="SqlServerDataReader"/> class.
/// </summary>
/// <param name="dataReader">The data reader.</param>
public SqlCeDataReaderHelper(System.Data.SqlServerCe.SqlCeDataReader dataReader) : base(dataReader) { }
#endregion
#region RecordsReaderAdapter Members
/// <summary>
/// Gets a value indicating whether this instance has records.
/// </summary>
/// <value>
/// <c>true</c> if this instance has records; otherwise, <c>false</c>.
/// </value>
public override bool HasRecords
{
get { return DataReader.HasRows; }
}
#endregion
}
}
+253
View File
@@ -0,0 +1,253 @@
/************************************************************************************
*
* Umbraco Data Layer
* MIT Licensed work
* ©2008 Ruben Verborgh
*
***********************************************************************************/
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlServerCe;
using System.Linq;
using System.Xml;
using System.Diagnostics;
using umbraco.DataLayer;
using umbraco.DataLayer.SqlHelpers.SqlServer;
namespace SqlCE4Umbraco
{
/// <summary>
/// Sql Helper for an SQL Server database.
/// </summary>
public class SqlCEHelper : SqlHelper<SqlCeParameter>
{
/// <summary>
/// Initializes a new instance of the <see cref="SqlCEHelper"/> class.
/// </summary>
/// <param name="connectionString">The connection string.</param>
public SqlCEHelper(string connectionString) : base(connectionString)
{
m_Utility = new SqlCEUtility(this);
}
/// <summary>
/// Checks if the actual database exists, if it doesn't then it will create it
/// </summary>
internal void CreateEmptyDatabase()
{
var localConnection = new SqlCeConnection(ConnectionString);
if (!System.IO.File.Exists(ReplaceDataDirectory(localConnection.Database)))
{
using (var sqlCeEngine = new SqlCeEngine(ConnectionString))
{
sqlCeEngine.CreateDatabase();
}
}
}
/// <summary>
/// Most likely only will be used for unit tests but will remove all tables from the database
/// </summary>
internal void ClearDatabase()
{
// drop constraints before tables to avoid exceptions
// looping on try/catching exceptions was not really nice
// http://stackoverflow.com/questions/536350/drop-all-the-tables-stored-procedures-triggers-constriants-and-all-the-depend
var localConnection = new SqlCeConnection(ConnectionString);
if (System.IO.File.Exists(ReplaceDataDirectory(localConnection.Database)))
{
List<string> tables;
// drop foreign keys
// SQL may need "where constraint_catalog=DB_NAME() and ..."
tables = new List<string>();
using (var reader = ExecuteReader("select table_name from information_schema.table_constraints where constraint_type = 'FOREIGN KEY' order by table_name"))
{
while (reader.Read()) tables.Add(reader.GetString("table_name").Trim());
}
foreach (var table in tables)
{
var constraints = new List<string>();
using (var reader = ExecuteReader("select constraint_name from information_schema.table_constraints where constraint_type = 'FOREIGN KEY' and table_name = '" + table + "' order by constraint_name"))
{
while (reader.Read()) constraints.Add(reader.GetString("constraint_name").Trim());
}
foreach (var constraint in constraints)
{
// SQL may need "[dbo].[table]"
ExecuteNonQuery("alter table [" + table + "] drop constraint [" + constraint + "]");
}
}
// drop primary keys
// SQL may need "where constraint_catalog=DB_NAME() and ..."
tables = new List<string>();
using (var reader = ExecuteReader("select table_name from information_schema.table_constraints where constraint_type = 'PRIMARY KEY' order by table_name"))
{
while (reader.Read()) tables.Add(reader.GetString("table_name").Trim());
}
foreach (var table in tables)
{
var constraints = new List<string>();
using (var reader = ExecuteReader("select constraint_name from information_schema.table_constraints where constraint_type = 'PRIMARY KEY' and table_name = '" + table + "' order by constraint_name"))
{
while (reader.Read()) constraints.Add(reader.GetString("constraint_name").Trim());
}
foreach (var constraint in constraints)
{
// SQL may need "[dbo].[table]"
ExecuteNonQuery("alter table [" + table + "] drop constraint [" + constraint + "]");
}
}
// drop tables
tables = new List<string>();
using (var reader = ExecuteReader("select table_name from information_schema.tables where table_type <> 'VIEW' order by table_name"))
{
while (reader.Read()) tables.Add(reader.GetString("table_name").Trim());
}
foreach (var table in tables)
{
ExecuteNonQuery("drop table [" + table + "]");
}
}
}
/// <summary>
/// Drops all foreign keys on a table.
/// </summary>
/// <param name="table">The name of the table.</param>
/// <remarks>To be used in unit tests.</remarks>
internal void DropForeignKeys(string table)
{
var constraints = new List<string>();
using (var reader = ExecuteReader("select constraint_name from information_schema.table_constraints where constraint_type = 'FOREIGN KEY' and table_name = '" + table + "' order by constraint_name"))
{
while (reader.Read()) constraints.Add(reader.GetString("constraint_name").Trim());
}
foreach (var constraint in constraints)
{
// SQL may need "[dbo].[table]"
ExecuteNonQuery("alter table [" + table + "] drop constraint [" + constraint + "]");
}
}
/// <summary>
/// Replaces the data directory with a local path.
/// </summary>
/// <param name="path">The path.</param>
/// <returns>A local path with the resolved 'DataDirectory' mapping.</returns>
private string ReplaceDataDirectory(string path)
{
if (!string.IsNullOrWhiteSpace(path) && path.Contains("|DataDirectory|"))
{
var dataDirectory = AppDomain.CurrentDomain.GetData("DataDirectory") as string;
if (!string.IsNullOrEmpty(dataDirectory))
{
path = path.Contains(@"|\")
? path.Replace("|DataDirectory|", dataDirectory)
: path.Replace("|DataDirectory|", dataDirectory + System.IO.Path.DirectorySeparatorChar);
}
}
return path;
}
/// <summary>
/// Creates a new parameter for use with this specific implementation of ISqlHelper.
/// </summary>
/// <param name="parameterName">Name of the parameter.</param>
/// <param name="value">Value of the parameter.</param>
/// <returns>A new parameter of the correct type.</returns>
/// <remarks>Abstract factory pattern</remarks>
public override IParameter CreateParameter(string parameterName, object value)
{
return new SqlCEParameter(parameterName, value);
}
/// <summary>
/// Executes a command that returns a single value.
/// </summary>
/// <param name="commandText">The command text.</param>
/// <param name="parameters">The parameters.</param>
/// <returns>The return value of the command.</returns>
protected override object ExecuteScalar(string commandText, SqlCeParameter[] parameters)
{
#if DEBUG && DebugDataLayer
// Log Query Execution
Trace.TraceInformation(GetType().Name + " SQL ExecuteScalar: " + commandText);
#endif
using (var cc = UseCurrentConnection)
{
return SqlCeApplicationBlock.ExecuteScalar(
(SqlCeConnection) cc.Connection, (SqlCeTransaction) cc.Transaction,
CommandType.Text, commandText, parameters);
}
}
/// <summary>
/// Executes a command and returns the number of rows affected.
/// </summary>
/// <param name="commandText">The command text.</param>
/// <param name="parameters">The parameters.</param>
/// <returns>
/// The number of rows affected by the command.
/// </returns>
protected override int ExecuteNonQuery(string commandText, SqlCeParameter[] parameters)
{
#if DEBUG && DebugDataLayer
// Log Query Execution
Trace.TraceInformation(GetType().Name + " SQL ExecuteNonQuery: " + commandText);
#endif
using (var cc = UseCurrentConnection)
{
return SqlCeApplicationBlock.ExecuteNonQuery(
(SqlCeConnection) cc.Connection, (SqlCeTransaction) cc.Transaction,
CommandType.Text, commandText, parameters);
}
}
/// <summary>
/// Executes a command and returns a records reader containing the results.
/// </summary>
/// <param name="commandText">The command text.</param>
/// <param name="parameters">The parameters.</param>
/// <returns>
/// A data reader containing the results of the command.
/// </returns>
protected override IRecordsReader ExecuteReader(string commandText, SqlCeParameter[] parameters)
{
#if DEBUG && DebugDataLayer
// Log Query Execution
Trace.TraceInformation(GetType().Name + " SQL ExecuteReader: " + commandText);
#endif
using (var cc = UseCurrentConnection)
{
return new SqlCeDataReaderHelper(SqlCeApplicationBlock.ExecuteReader(
(SqlCeConnection) cc.Connection, (SqlCeTransaction) cc.Transaction,
CommandType.Text, commandText, parameters));
}
}
internal IRecordsReader ExecuteReader(string commandText)
{
return ExecuteReader(commandText, new SqlCEParameter(string.Empty, string.Empty));
}
internal int ExecuteNonQuery(string commandText)
{
return ExecuteNonQuery(commandText, new SqlCEParameter(string.Empty, string.Empty));
}
}
}
+141
View File
@@ -0,0 +1,141 @@
/************************************************************************************
*
* Umbraco Data Layer
* MIT Licensed work
* ©2008 Ruben Verborgh
*
***********************************************************************************/
using System;
using System.Resources;
using SQLCE4Umbraco;
using umbraco.DataLayer.Utility.Installer;
using System.Diagnostics;
namespace SqlCE4Umbraco
{
/// <summary>
/// Database installer for an SQL Server data source.
/// </summary>
[Obsolete("The legacy installers are no longer used and will be removed from the codebase in the future")]
public class SqlCEInstaller : DefaultInstallerUtility<SqlCEHelper>
{
#region Private Constants
/// <summary>The latest database version this installer supports.</summary>
private const DatabaseVersion LatestVersionSupported = DatabaseVersion.Version4_8;
/// <summary>The specifications to determine the database version.</summary>
private static readonly VersionSpecs[] m_VersionSpecs = new VersionSpecs[] {
new VersionSpecs("SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS LEFT OUTER JOIN umbracoApp ON appAlias = appAlias WHERE CONSTRAINT_NAME = 'FK_umbracoUser2app_umbracoApp'", 0, DatabaseVersion.Version4_8),
new VersionSpecs("SELECT id FROM umbracoNode WHERE id = -21", 1, DatabaseVersion.Version4_1),
new VersionSpecs("SELECT action FROM umbracoAppTree",DatabaseVersion.Version4),
new VersionSpecs("SELECT description FROM cmsContentType",DatabaseVersion.Version3),
new VersionSpecs("SELECT id FROM sysobjects",DatabaseVersion.None) };
#endregion
#region Public Properties
/// <summary>
/// This ensures that the database exists, then runs the base method
/// </summary>
public override bool CanConnect
{
get
{
using (var sqlHelper = SqlHelper)
sqlHelper.CreateEmptyDatabase();
return base.CanConnect;
}
}
/// <summary>
/// Gets a value indicating whether the installer can upgrade the data source.
/// </summary>
/// <value>
/// <c>true</c> if the installer can upgrade the data source; otherwise, <c>false</c>.
/// </value>
/// <remarks>Empty data sources can't be upgraded, just installed.</remarks>
public override bool CanUpgrade
{
get
{
return CurrentVersion == DatabaseVersion.Version4_1;
}
}
#endregion
#region Protected Properties
/// <summary>
/// Gets the version specification for evaluation by DetermineCurrentVersion.
/// Only first matching specification is taken into account.
/// </summary>
/// <value>The version specifications.</value>
protected override VersionSpecs[] VersionSpecs
{
get { return m_VersionSpecs; }
}
#endregion
#region Public Constructors
/// <summary>
/// Initializes a new instance of the <see cref="SqlCEInstaller"/> class.
/// </summary>
/// <param name="sqlHelper">The SQL helper.</param>
public SqlCEInstaller(SqlCEHelper sqlHelper) : base(sqlHelper, LatestVersionSupported)
{ }
#endregion
#region DefaultInstaller Members
/// <summary>
/// Returns the sql to do a full install
/// </summary>
protected override string FullInstallSql
{
get { return string.Empty; }
}
/// <summary>
/// Returns the sql to do an upgrade
/// </summary>
protected override string UpgradeSql
{
get { return string.Empty; }
}
// We need to override this as the default way of detection a db connection checks for systables that doesn't exist
// in a CE db
protected override DatabaseVersion DetermineCurrentVersion()
{
DatabaseVersion version = base.DetermineCurrentVersion();
if (version != DatabaseVersion.Unavailable)
{
return version;
}
// verify connection
try
{
using (var sqlHelper = SqlHelper)
if (SqlCeApplicationBlock.VerifyConnection(sqlHelper.ConnectionString))
return DatabaseVersion.None;
}
catch (Exception e)
{
Trace.WriteLine(e.ToString());
}
return DatabaseVersion.Unavailable;
}
#endregion
}
}
+34
View File
@@ -0,0 +1,34 @@
/************************************************************************************
*
* Umbraco Data Layer
* MIT Licensed work
* ©2008 Ruben Verborgh
*
***********************************************************************************/
using System;
using System.Data.SqlServerCe;
using System.Data.SqlTypes;
using umbraco.DataLayer;
namespace SqlCE4Umbraco
{
/// <summary>
/// Parameter class for the SqlCEHelper.
/// </summary>
public class SqlCEParameter : SqlParameterAdapter<SqlCeParameter>
{
#region Public Constructors
/// <summary>
/// Initializes a new instance of the <see cref="SqlCEParameter"/> class.
/// </summary>
/// <param name="parameterName">Name of the parameter.</param>
/// <param name="value">Value of the parameter.</param>
public SqlCEParameter(string parameterName, object value)
: base(new SqlCeParameter(parameterName, value))
{ }
#endregion
}
}
+250
View File
@@ -0,0 +1,250 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using umbraco.DataLayer.Utility.Table;
using umbraco.DataLayer;
using umbraco;
namespace SqlCE4Umbraco
{
/// <summary>
/// SQL Server implementation of <see cref="DefaultTableUtility&lt;S&gt;"/>.
/// </summary>
[Obsolete("The legacy installers are no longer used and will be removed from the codebase in the future")]
public class SqlCETableUtility : DefaultTableUtility<SqlCEHelper>
{
/// <summary>
/// Initializes a new instance of the <see cref="SqlCETableUtility"/> class.
/// </summary>
/// <param name="sqlHelper">The SQL helper.</param>
public SqlCETableUtility(SqlCEHelper sqlHelper)
: base(sqlHelper)
{ }
#region DefaultTableUtility<SqlCEHelper> members
/// <summary>
/// Gets the table with the specified name.
/// </summary>
/// <param name="name">The name.</param>
/// <returns>The table, or <c>null</c> if no table with that name exists.</returns>
public override ITable GetTable(string name)
{
if (name == null)
throw new ArgumentNullException("name");
ITable table = null;
// get name in correct casing
using (var sqlHelper = SqlHelper)
name = sqlHelper.ExecuteScalar<string>("SELECT name FROM sys.tables WHERE name=@name",
sqlHelper.CreateParameter("name", name));
if (name != null)
{
table = new DefaultTable(name);
using (var sqlHelper = SqlHelper)
using (IRecordsReader reader = sqlHelper.ExecuteReader(
@"SELECT c.name AS Name, st.name AS DataType, c.max_length, c.is_nullable, c.is_identity
FROM sys.tables AS t
JOIN sys.columns AS c ON t.object_id = c.object_id
JOIN sys.schemas AS s ON s.schema_id = t.schema_id
JOIN sys.types AS ty ON ty.user_type_id = c.user_type_id
JOIN sys.types st ON ty.system_type_id = st.user_type_id
WHERE t.name = @name
ORDER BY c.column_id", sqlHelper.CreateParameter("name", name)))
{
while (reader.Read())
{
table.AddField(table.CreateField(reader.GetString("Name"), GetType(reader)));
}
}
}
return table;
}
/// <summary>
/// Saves or updates the table.
/// </summary>
/// <param name="table">The table to be saved.</param>
public override void SaveTable(ITable table)
{
if (table == null)
throw new ArgumentNullException("table");
ITable oldTable = GetTable(table.Name);
// create the table if it didn't exist, update fields otherwise
if (oldTable == null)
{
CreateTable(table);
}
else
{
foreach (IField field in table)
{
// create the field if it did't exist in the old table
if (oldTable.FindField(field.Name)==null)
{
CreateColumn(table, field);
}
}
}
}
#endregion
#region Protected Helper Methods
/// <summary>
/// Creates the table in the data source.
/// </summary>
/// <param name="table">The table.</param>
protected virtual void CreateTable(ITable table)
{
Debug.Assert(table != null);
// create enumerator and check for first field
IEnumerator<IField> fieldEnumerator = table.GetEnumerator();
bool hasNext = fieldEnumerator.MoveNext();
if(!hasNext)
throw new ArgumentException("The table must contain at least one field.");
// create query
StringBuilder createTableQuery = new StringBuilder();
using (var sqlHelper = SqlHelper)
createTableQuery.AppendFormat("CREATE TABLE [{0}] (", sqlHelper.EscapeString(table.Name));
// add fields
while (hasNext)
{
// add field name and type
IField field = fieldEnumerator.Current;
createTableQuery.Append('[').Append(field.Name).Append(']');
createTableQuery.Append(' ').Append(GetDatabaseType(field));
// append comma if a following field exists
hasNext = fieldEnumerator.MoveNext();
if (hasNext)
{
createTableQuery.Append(',');
}
}
// close CREATE TABLE x (...) bracket
createTableQuery.Append(')');
// execute query
try
{
using (var sqlHelper = SqlHelper)
sqlHelper.ExecuteNonQuery(createTableQuery.ToString());
}
catch (Exception executeException)
{
throw new UmbracoException(String.Format("Could not create table '{0}'.", table), executeException);
}
}
/// <summary>
/// Creates a new column in the table.
/// </summary>
/// <param name="table">The table.</param>
/// <param name="field">The field used to create the column.</param>
protected virtual void CreateColumn(ITable table, IField field)
{
Debug.Assert(table != null && field != null);
StringBuilder addColumnQuery = new StringBuilder();
using (var sqlHelper = SqlHelper)
addColumnQuery.AppendFormat("ALTER TABLE [{0}] ADD [{1}] {2}",
sqlHelper.EscapeString(table.Name),
sqlHelper.EscapeString(field.Name),
sqlHelper.EscapeString(GetDatabaseType(field)));
try
{
using (var sqlHelper = SqlHelper)
sqlHelper.ExecuteNonQuery(addColumnQuery.ToString());
}
catch (Exception executeException)
{
throw new UmbracoException(String.Format("Could not create column '{0}' in table '{1}'.",
field, table.Name), executeException);
}
}
/// <summary>
/// Gets the .Net type corresponding to the specified database data type.
/// </summary>
/// <param name="dataTypeReader">The data type reader.</param>
/// <returns>The .Net type</returns>
protected virtual Type GetType(IRecordsReader dataTypeReader)
{
string typeName = dataTypeReader.GetString("DataType");
switch (typeName)
{
case "bit": return typeof(bool);
case "tinyint": return typeof(byte);
case "datetime": return typeof(DateTime);
// TODO: return different decimal type according to field precision
case "decimal": return typeof(decimal);
case "uniqueidentifier": return typeof(Guid);
case "smallint": return typeof(Int16);
case "int": return typeof(Int32);
case "bigint": return typeof(Int64);
case "nvarchar": return typeof(string);
default:
throw new ArgumentException(String.Format("Cannot convert database type '{0}' to a .Net type.",
typeName));
}
}
/// <summary>
/// Gets the database type corresponding to the field, complete with field properties.
/// </summary>
/// <param name="field">The field.</param>
/// <returns>The database type.</returns>
protected virtual string GetDatabaseType(IField field)
{
StringBuilder fieldBuilder = new StringBuilder();
fieldBuilder.Append(GetDatabaseTypeName(field));
fieldBuilder.Append(field.HasProperty(FieldProperties.Identity) ? " IDENTITY(1,1)" : String.Empty);
fieldBuilder.Append(field.HasProperty(FieldProperties.NotNull) ? " NOT NULL" : " NULL");
return fieldBuilder.ToString();
}
/// <summary>
/// Gets the name of the database type, without field properties.
/// </summary>
/// <param name="field">The field.</param>
/// <returns></returns>
protected virtual string GetDatabaseTypeName(IField field)
{
switch (field.DataType.FullName)
{
case "System.Boolean": return "bit";
case "System.Byte": return "tinyint";
case "System.DateTime": return "datetime";
case "System.Decimal": return "decimal(28)";
case "System.Double": return "decimal(15)";
case "System.Single": return "decimal(7)";
case "System.Guid": return "uniqueidentifier";
case "System.Int16": return "smallint";
case "System.Int32": return "int";
case "System.Int64": return "bigint";;
case "System.String":
string type = "nvarchar";
return field.Size == 0 ? type : String.Format("{0}({1})", type, field.Size);
default:
throw new ArgumentException(String.Format("Cannot convert '{0}' to a database type.", field));
}
}
#endregion
}
}
+56
View File
@@ -0,0 +1,56 @@
/************************************************************************************
*
* Umbraco Data Layer
* MIT Licensed work
* ©2008 Ruben Verborgh
*
***********************************************************************************/
using System;
using umbraco.DataLayer.SqlHelpers.SqlServer;
using umbraco.DataLayer.Utility;
using umbraco.DataLayer.Utility.Installer;
using umbraco.DataLayer.Utility.Table;
namespace SqlCE4Umbraco
{
/// <summary>
/// Utility for an SQL Server data source.
/// </summary>
[Obsolete("The legacy installers are no longer used and will be removed from the codebase in the future")]
public class SqlCEUtility : DefaultUtility<SqlCEHelper>
{
#region Public Constructors
/// <summary>
/// Initializes a new instance of the <see cref="SqlServerUtility"/> class.
/// </summary>
/// <param name="sqlHelper">The SQL helper.</param>
public SqlCEUtility(SqlCEHelper sqlHelper) : base(sqlHelper)
{ }
#endregion
#region DefaultUtility Members
/// <summary>
/// Creates an installer.
/// </summary>
/// <returns>The SQL Server installer.</returns>
public override IInstallerUtility CreateInstaller()
{
return new SqlCEInstaller(SqlHelper);
}
/// <summary>
/// Creates a table utility.
/// </summary>
/// <returns>The table utility</returns>
public override ITableUtility CreateTableUtility()
{
return new SqlCETableUtility(SqlHelper);
}
#endregion
}
}
+270
View File
@@ -0,0 +1,270 @@
using System;
using System.Collections.Generic;
using System.Data.SqlServerCe;
using System.Data;
using System.Diagnostics;
using SQLCE4Umbraco;
namespace SqlCE4Umbraco
{
public class SqlCeApplicationBlock
{
/// <summary>
///
/// </summary>
/// <param name="connectionString"></param>
/// <param name="commandType"></param>
/// <param name="commandText"></param>
/// <param name="commandParameters"></param>
/// <returns></returns>
public static object ExecuteScalar(
string connectionString,
CommandType commandType,
string commandText,
params SqlCeParameter[] commandParameters
)
{
try
{
using (var conn = SqlCeContextGuardian.Open(connectionString))
{
return ExecuteScalarTry(conn, null, commandText, commandParameters);
}
}
catch (Exception ee)
{
throw new SqlCeProviderException("Error running Scalar: \nSQL Statement:\n" + commandText + "\n\nException:\n" + ee);
}
}
public static object ExecuteScalar(
SqlCeConnection conn, SqlCeTransaction trx,
CommandType commandType,
string commandText,
params SqlCeParameter[] commandParameters)
{
try
{
return ExecuteScalarTry(conn, trx, commandText, commandParameters);
}
catch (Exception ee)
{
throw new SqlCeProviderException("Error running Scalar: \nSQL Statement:\n" + commandText + "\n\nException:\n" + ee);
}
}
public static object ExecuteScalar(
SqlCeConnection conn,
CommandType commandType,
string commandText,
params SqlCeParameter[] commandParameters)
{
return ExecuteScalar(conn, null, commandType, commandText, commandParameters);
}
private static object ExecuteScalarTry(
SqlCeConnection conn, SqlCeTransaction trx,
string commandText,
params SqlCeParameter[] commandParameters)
{
object retVal;
using (var cmd = trx == null ? new SqlCeCommand(commandText, conn) : new SqlCeCommand(commandText, conn, trx))
{
AttachParameters(cmd, commandParameters);
Debug.WriteLine("---------------------------------SCALAR-------------------------------------");
Debug.WriteLine(commandText);
Debug.WriteLine("----------------------------------------------------------------------------");
retVal = cmd.ExecuteScalar();
}
return retVal;
}
/// <summary>
///
/// </summary>
/// <param name="connectionString"></param>
/// <param name="commandType"></param>
/// <param name="commandText"></param>
/// <param name="commandParameters"></param>
public static int ExecuteNonQuery(
string connectionString,
CommandType commandType,
string commandText,
params SqlCeParameter[] commandParameters
)
{
try
{
using (var conn = SqlCeContextGuardian.Open(connectionString))
{
return ExecuteNonQueryTry(conn, null, commandText, commandParameters);
}
}
catch (Exception ee)
{
throw new SqlCeProviderException("Error running NonQuery: \nSQL Statement:\n" + commandText + "\n\nException:\n" + ee.ToString());
}
}
public static int ExecuteNonQuery(
SqlCeConnection conn,
CommandType commandType,
string commandText,
params SqlCeParameter[] commandParameters
)
{
return ExecuteNonQuery(conn, null, commandType, commandText, commandParameters);
}
public static int ExecuteNonQuery(
SqlCeConnection conn, SqlCeTransaction trx,
CommandType commandType,
string commandText,
params SqlCeParameter[] commandParameters
)
{
try
{
return ExecuteNonQueryTry(conn, trx, commandText, commandParameters);
}
catch (Exception ee)
{
throw new SqlCeProviderException("Error running NonQuery: \nSQL Statement:\n" + commandText + "\n\nException:\n" + ee.ToString());
}
}
private static int ExecuteNonQueryTry(
SqlCeConnection conn, SqlCeTransaction trx,
string commandText,
params SqlCeParameter[] commandParameters)
{
// this is for multiple queries in the installer
if (commandText.Trim().StartsWith("!!!"))
{
commandText = commandText.Trim().Trim('!');
var commands = commandText.Split('|');
var currentCmd = string.Empty;
foreach (var command in commands)
{
try
{
currentCmd = command;
if (string.IsNullOrWhiteSpace(command)) continue;
var c = trx == null ? new SqlCeCommand(command, conn) : new SqlCeCommand(command, conn, trx);
c.ExecuteNonQuery();
}
catch (Exception e)
{
Debug.WriteLine("*******************************************************************");
Debug.WriteLine(currentCmd);
Debug.WriteLine(e);
Debug.WriteLine("*******************************************************************");
}
}
return 1;
}
Debug.WriteLine("----------------------------------------------------------------------------");
Debug.WriteLine(commandText);
Debug.WriteLine("----------------------------------------------------------------------------");
var cmd = new SqlCeCommand(commandText, conn);
AttachParameters(cmd, commandParameters);
var rowsAffected = cmd.ExecuteNonQuery();
return rowsAffected;
}
/// <summary>
///
/// </summary>
/// <param name="connectionString"></param>
/// <param name="commandType"></param>
/// <param name="commandText"></param>
/// <param name="commandParameters"></param>
/// <returns></returns>
public static SqlCeDataReader ExecuteReader(
string connectionString,
CommandType commandType,
string commandText,
params SqlCeParameter[] commandParameters
)
{
try
{
var conn = SqlCeContextGuardian.Open(connectionString);
return ExecuteReaderTry(conn, null, commandText, commandParameters);
}
catch (Exception ee)
{
throw new SqlCeProviderException("Error running Reader: \nSQL Statement:\n" + commandText + "\n\nException:\n" + ee.ToString());
}
}
public static SqlCeDataReader ExecuteReader(
SqlCeConnection conn,
CommandType commandType,
string commandText,
params SqlCeParameter[] commandParameters
)
{
return ExecuteReader(conn, commandType, commandText, commandParameters);
}
public static SqlCeDataReader ExecuteReader(
SqlCeConnection conn, SqlCeTransaction trx,
CommandType commandType,
string commandText,
params SqlCeParameter[] commandParameters
)
{
try
{
return ExecuteReaderTry(conn, trx, commandText, commandParameters);
}
catch (Exception ee)
{
throw new SqlCeProviderException("Error running Reader: \nSQL Statement:\n" + commandText + "\n\nException:\n" + ee.ToString());
}
}
private static SqlCeDataReader ExecuteReaderTry(
SqlCeConnection conn, SqlCeTransaction trx,
string commandText,
params SqlCeParameter[] commandParameters)
{
Debug.WriteLine("---------------------------------READER-------------------------------------");
Debug.WriteLine(commandText);
Debug.WriteLine("----------------------------------------------------------------------------");
try
{
var cmd = trx == null ? new SqlCeCommand(commandText, conn) : new SqlCeCommand(commandText, conn, trx);
AttachParameters(cmd, commandParameters);
return cmd.ExecuteReader();
}
catch
{
conn.Close();
throw;
}
}
public static bool VerifyConnection(string connectionString)
{
using (var conn = SqlCeContextGuardian.Open(connectionString))
{
return conn.State == ConnectionState.Open;
}
}
private static void AttachParameters(SqlCeCommand command, IEnumerable<SqlCeParameter> commandParameters)
{
foreach (var parameter in commandParameters)
{
if ((parameter.Direction == ParameterDirection.InputOutput) && (parameter.Value == null))
parameter.Value = DBNull.Value;
command.Parameters.Add(parameter);
}
}
}
}
+64
View File
@@ -0,0 +1,64 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlServerCe;
using System.Linq;
using System.Text;
namespace SQLCE4Umbraco
{
public static class SqlCeContextGuardian
{
private static SqlCeConnection _constantOpenConnection;
private static readonly object Lock = new object();
// Awesome SQL CE 4 speed improvement by Erik Ejskov Jensen - SQL CE 4 MVP
// It's not an issue with SQL CE 4 that we never close the connection
public static SqlCeConnection Open(string connectionString)
{
var connectionStringBuilder = new DbConnectionStringBuilder();
try
{
connectionStringBuilder.ConnectionString = connectionString;
}
catch (Exception ex)
{
throw new ArgumentException("Bad connection string.", "connectionString", ex);
}
connectionStringBuilder.Remove("datalayer");
// SQL CE 4 performs better when there's always a connection open in the background
EnsureOpenBackgroundConnection(connectionStringBuilder.ConnectionString);
SqlCeConnection conn = new SqlCeConnection(connectionStringBuilder.ConnectionString);
conn.Open();
return conn;
}
/// <summary>
/// Sometimes we need to ensure this is closed especially in unit tests
/// </summary>
internal static void CloseBackgroundConnection()
{
if (_constantOpenConnection != null)
_constantOpenConnection.Close();
}
private static void EnsureOpenBackgroundConnection(string connectionString)
{
lock (Lock)
{
if (_constantOpenConnection == null)
{
_constantOpenConnection = new SqlCeConnection(connectionString);
_constantOpenConnection.Open();
}
else if (_constantOpenConnection.State != ConnectionState.Open)
_constantOpenConnection.Open();
}
}
}
}
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SqlCE4Umbraco
{
public class SqlCeProviderException : Exception
{
public SqlCeProviderException() : base()
{
}
public SqlCeProviderException(string message) : base(message)
{
}
}
}
+39
View File
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.0.8.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /></startup></configuration>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="SqlServerCE" version="4.0.0.1" targetFramework="net45" />
</packages>
+5 -12
View File
@@ -2,21 +2,14 @@
using System.Resources;
[assembly: AssemblyCompany("Umbraco")]
[assembly: AssemblyCopyright("Copyright © Umbraco 2017")]
[assembly: AssemblyCopyright("Copyright © Umbraco 2018")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: NeutralResourcesLanguage("en-US")]
[assembly: NeutralResourcesLanguageAttribute("en-US")]
// versions
// read https://stackoverflow.com/questions/64602/what-are-differences-between-assemblyversion-assemblyfileversion-and-assemblyin
// note: do NOT change anything here manually, use the build scripts
// this is the ONLY ONE the CLR cares about for compatibility
// should change ONLY when "hard" breaking compatibility (manual change)
[assembly: AssemblyVersion("8.0.0")]
[assembly: AssemblyVersion("1.0.*")]
// these are FYI and changed automatically
[assembly: AssemblyFileVersion("8.0.0")]
[assembly: AssemblyInformationalVersion("8.0.0-alpha.37")]
[assembly: AssemblyFileVersion("7.15.1")]
[assembly: AssemblyInformationalVersion("7.15.1")]
+98
View File
@@ -0,0 +1,98 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection;
using Umbraco.Core.Logging;
using Umbraco.Core.ObjectResolution;
using umbraco.interfaces;
namespace Umbraco.Core
{
/// <summary>
/// A resolver to return all IAction objects
/// </summary>
public sealed class ActionsResolver : LazyManyObjectsResolverBase<ActionsResolver, IAction>
{
/// <summary>
/// Constructor
/// </summary>
/// <param name="serviceProvider"></param>
/// <param name="logger"></param>
/// <param name="packageActions"></param>
internal ActionsResolver(IServiceProvider serviceProvider, ILogger logger, Func<IEnumerable<Type>> packageActions)
: base(serviceProvider, logger, packageActions)
{
}
/// <summary>
/// Gets the <see cref="IAction"/> implementations.
/// </summary>
public IEnumerable<IAction> Actions
{
get
{
return Values;
}
}
/// <summary>
/// This method will return a list of IAction's based on a string (letter) list. Each character in the list may represent
/// an IAction. This will associate any found IActions based on the Letter property of the IAction with the character being referenced.
/// </summary>
/// <param name="actions"></param>
/// <returns>returns a list of actions that have an associated letter found in the action string list</returns>
public IEnumerable<IAction> FromActionSymbols(IEnumerable<string> actions)
{
var allActions = Actions.ToArray();
return actions
.Select(c => allActions.FirstOrDefault(a => a.Letter.ToString(CultureInfo.InvariantCulture) == c))
.WhereNotNull()
.ToArray();
}
/// <summary>
/// Returns the string (letter) representation of the actions that make up the actions collection
/// </summary>
/// <returns></returns>
public IEnumerable<string> ToActionSymbols(IEnumerable<IAction> actions)
{
return actions.Select(x => x.Letter.ToString(CultureInfo.InvariantCulture)).ToArray();
}
/// <summary>
/// Gets an Action if it exists.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
internal IAction GetAction<T>()
where T : IAction
{
return Actions.SingleOrDefault(x => x.GetType() == typeof (T));
}
protected override IEnumerable<IAction> CreateInstances()
{
var actions = new List<IAction>();
var foundIActions = InstanceTypes;
foreach (var type in foundIActions)
{
IAction typeInstance;
var instance = type.GetProperty("Instance", BindingFlags.Public | BindingFlags.Static);
//if the singletone initializer is not found, try simply creating an instance of the IAction if it supports public constructors
if (instance == null)
typeInstance = ServiceProvider.GetService(type) as IAction;
else
typeInstance = instance.GetValue(null, null) as IAction;
if (typeInstance != null)
{
actions.Add(typeInstance);
}
}
return actions;
}
}
}
+20
View File
@@ -0,0 +1,20 @@
namespace Umbraco.Core
{
/// <summary>
/// Helper methods for Activation
/// </summary>
internal static class ActivatorHelper
{
/// <summary>
/// Creates an instance of a type using that type's default constructor.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static T CreateInstance<T>() where T : class, new()
{
return new ActivatorServiceProvider().GetService(typeof (T)) as T;
}
}
}
@@ -0,0 +1,12 @@
using System;
namespace Umbraco.Core
{
internal class ActivatorServiceProvider : IServiceProvider
{
public object GetService(Type serviceType)
{
return Activator.CreateInstance(serviceType);
}
}
}
+506
View File
@@ -0,0 +1,506 @@
using Semver;
using System;
using System.Collections.Concurrent;
using System.Configuration;
using System.Threading;
using Umbraco.Core.Configuration;
using Umbraco.Core.Logging;
using Umbraco.Core.ObjectResolution;
using Umbraco.Core.Profiling;
using Umbraco.Core.Scoping;
using Umbraco.Core.Services;
using Umbraco.Core.Sync;
namespace Umbraco.Core
{
/// <summary>
/// the Umbraco Application context
/// </summary>
/// <remarks>
/// one per AppDomain, represents the global Umbraco application
/// </remarks>
public class ApplicationContext : IDisposable
{
/// <summary>
/// Constructor
/// </summary>
/// <param name="dbContext"></param>
/// <param name="serviceContext"></param>
/// <param name="cache"></param>
/// <param name="logger"></param>
public ApplicationContext(DatabaseContext dbContext, ServiceContext serviceContext, CacheHelper cache, ProfilingLogger logger)
{
if (dbContext == null) throw new ArgumentNullException("dbContext");
if (serviceContext == null) throw new ArgumentNullException("serviceContext");
if (cache == null) throw new ArgumentNullException("cache");
if (logger == null) throw new ArgumentNullException("logger");
_databaseContext = dbContext;
_services = serviceContext;
ApplicationCache = cache;
ProfilingLogger = logger;
Init();
}
/// <summary>
/// Constructor
/// </summary>
/// <param name="dbContext"></param>
/// <param name="serviceContext"></param>
/// <param name="cache"></param>
[Obsolete("Use the other constructor specifying a ProfilingLogger instead")]
public ApplicationContext(DatabaseContext dbContext, ServiceContext serviceContext, CacheHelper cache)
: this(dbContext, serviceContext, cache,
new ProfilingLogger(LoggerResolver.Current.Logger, ProfilerResolver.Current.Profiler))
{
}
/// <summary>
/// Creates a basic app context
/// </summary>
/// <param name="cache"></param>
[Obsolete("Use the other constructor specifying a ProfilingLogger instead")]
public ApplicationContext(CacheHelper cache)
{
if (cache == null) throw new ArgumentNullException("cache");
ApplicationCache = cache;
ProfilingLogger = new ProfilingLogger(LoggerResolver.Current.Logger, ProfilerResolver.Current.Profiler);
Init();
}
/// <summary>
/// Creates a basic app context
/// </summary>
/// <param name="cache"></param>
/// <param name="logger"></param>
public ApplicationContext(CacheHelper cache, ProfilingLogger logger)
{
if (cache == null) throw new ArgumentNullException("cache");
if (logger == null) throw new ArgumentNullException("logger");
ApplicationCache = cache;
ProfilingLogger = logger;
Init();
}
/// <summary>
/// A method used to set and/or ensure that a global ApplicationContext singleton is created.
/// </summary>
/// <param name="appContext">
/// The instance to set on the global application singleton
/// </param>
/// <param name="replaceContext">If set to true and the singleton is already set, it will be replaced</param>
/// <returns></returns>
/// <remarks>
/// This is NOT thread safe
/// </remarks>
public static ApplicationContext EnsureContext(ApplicationContext appContext, bool replaceContext)
{
if (Current != null)
{
if (!replaceContext)
return Current;
}
Current = appContext;
return Current;
}
/// <summary>
/// A method used to create and ensure that a global ApplicationContext singleton is created.
/// </summary>
/// <param name="cache"></param>
/// <param name="replaceContext">
/// If set to true will replace the current singleton instance - This should only be used for unit tests or on app
/// startup if for some reason the boot manager is not the umbraco boot manager.
/// </param>
/// <param name="dbContext"></param>
/// <param name="serviceContext"></param>
/// <returns></returns>
/// <remarks>
/// This is NOT thread safe
/// </remarks>
[Obsolete("Use the other method specifying an ProfilingLogger instead")]
public static ApplicationContext EnsureContext(DatabaseContext dbContext, ServiceContext serviceContext, CacheHelper cache, bool replaceContext)
{
if (Current != null)
{
if (!replaceContext)
return Current;
}
var ctx = new ApplicationContext(dbContext, serviceContext, cache);
Current = ctx;
return Current;
}
/// <summary>
/// A method used to create and ensure that a global ApplicationContext singleton is created.
/// </summary>
/// <param name="cache"></param>
/// <param name="logger"></param>
/// <param name="replaceContext">
/// If set to true will replace the current singleton instance - This should only be used for unit tests or on app
/// startup if for some reason the boot manager is not the umbraco boot manager.
/// </param>
/// <param name="dbContext"></param>
/// <param name="serviceContext"></param>
/// <returns></returns>
/// <remarks>
/// This is NOT thread safe
/// </remarks>
public static ApplicationContext EnsureContext(DatabaseContext dbContext, ServiceContext serviceContext, CacheHelper cache, ProfilingLogger logger, bool replaceContext)
{
if (Current != null)
{
if (!replaceContext)
return Current;
}
var ctx = new ApplicationContext(dbContext, serviceContext, cache, logger);
Current = ctx;
return Current;
}
/// <summary>
/// Singleton accessor
/// </summary>
public static ApplicationContext Current { get; internal set; }
/// <summary>
/// Gets the scope provider.
/// </summary>
internal IScopeProvider ScopeProvider { get { return _databaseContext == null ? null : _databaseContext.ScopeProvider; } }
/// <summary>
/// Returns the application wide cache accessor
/// </summary>
/// <remarks>
/// Any caching that is done in the application (app wide) should be done through this property
/// </remarks>
public CacheHelper ApplicationCache { get; private set; }
/// <summary>
/// Exposes the global ProfilingLogger - this should generally not be accessed via the UmbracoContext and should normally just be exposed
/// on most base classes or injected with IoC
/// </summary>
public ProfilingLogger ProfilingLogger { get; private set; }
// IsReady is set to true by the boot manager once it has successfully booted
// note - the original umbraco module checks on content.Instance in umbraco.dll
// now, the boot task that setup the content store ensures that it is ready
bool _isReady = false;
readonly ManualResetEventSlim _isReadyEvent = new ManualResetEventSlim(false);
private DatabaseContext _databaseContext;
private ServiceContext _services;
public bool IsReady
{
get
{
return _isReady;
}
internal set
{
AssertIsNotReady();
_isReady = value;
_isReadyEvent.Set();
}
}
public bool WaitForReady(int timeout)
{
return _isReadyEvent.WaitHandle.WaitOne(timeout);
}
// notes
// GlobalSettings.ConfigurationStatus returns the value that's in the web.config, so it's the "configured version"
// GlobalSettings.CurrentVersion returns the hard-coded "current version"
// the system is configured if they match
// if they don't, install runs, updates web.config (presumably) and updates GlobalSettings.ConfiguredStatus
public bool IsConfigured
{
get { return _configured.Value; }
}
/// <summary>
/// If the db is configured, there is a database context and there is an umbraco schema, but we are not 'configured' , then it means we are upgrading
/// </summary>
public bool IsUpgrading
{
get
{
if (IsConfigured == false
&& DatabaseContext != null
&& DatabaseContext.IsDatabaseConfigured)
{
var schemaresult = DatabaseContext.ValidateDatabaseSchema();
if (schemaresult.ValidTables.Count > 0) return true;
}
return false;
}
}
/// <summary>
/// The application url.
/// </summary>
/// <remarks>
/// The application url is the url that should be used by services to talk to the application,
/// eg keep alive or scheduled publishing services. It must exist on a global context because
/// some of these services may not run within a web context.
/// The format of the application url is:
/// - has a scheme (http or https)
/// - has the SystemDirectories.Umbraco path
/// - does not end with a slash
/// It is initialized on the first request made to the server, by UmbracoModule.EnsureApplicationUrl:
/// - if umbracoSettings:settings/web.routing/@umbracoApplicationUrl is set, use the value (new setting)
/// - if umbracoSettings:settings/scheduledTasks/@baseUrl is set, use the value (backward compatibility)
/// - otherwise, use the url of the (first) request.
/// Not locking, does not matter if several threads write to this.
/// See also issues:
/// - http://issues.umbraco.org/issue/U4-2059
/// - http://issues.umbraco.org/issue/U4-6788
/// - http://issues.umbraco.org/issue/U4-5728
/// - http://issues.umbraco.org/issue/U4-5391
/// </remarks>
public string UmbracoApplicationUrl
{
get
{
ApplicationUrlHelper.EnsureApplicationUrl(this);
return _umbracoApplicationUrl;
}
}
/// <summary>
/// Resets the url.
/// </summary>
public void ResetUmbracoApplicationUrl()
{
_umbracoApplicationUrl = null;
}
// ReSharper disable once InconsistentNaming
internal string _umbracoApplicationUrl;
internal ConcurrentDictionary<string, string> _umbracoApplicationDomains = new ConcurrentDictionary<string, string>();
internal string _umbracoApplicationDeploymentId;
private Lazy<bool> _configured;
internal MainDom MainDom { get; private set; }
private void Init()
{
MainDom = new MainDom(ProfilingLogger.Logger);
MainDom.Acquire();
//Create the lazy value to resolve whether or not the application is 'configured'
_configured = new Lazy<bool>(() =>
{
try
{
var configStatus = ConfigurationStatus;
var currentVersion = UmbracoVersion.GetSemanticVersion();
var ok =
//we are not configured if this is null
string.IsNullOrWhiteSpace(configStatus) == false
//they must match
&& configStatus == currentVersion;
if (ok)
{
//The versions are the same in config, but are they the same in the database. We can only check this
// if we have a db context available, if we don't then we are not installed anyways
if (DatabaseContext.IsDatabaseConfigured && DatabaseContext.CanConnect)
{
var found = Services.MigrationEntryService.FindEntry(Constants.System.UmbracoMigrationName, UmbracoVersion.GetSemanticVersion());
if (found == null)
{
//we haven't executed this migration in this environment, so even though the config versions match,
// this db has not been updated.
ProfilingLogger.Logger.Debug<ApplicationContext>(string.Format("The migration for version: '{0} has not been executed, there is no record in the database", currentVersion.ToSemanticString()));
ok = false;
}
}
}
else
{
ProfilingLogger.Logger.Debug<ApplicationContext>(string.Format("CurrentVersion different from configStatus: '{0}','{1}'", currentVersion.ToSemanticString(), configStatus));
}
return ok;
}
catch (Exception ex)
{
LogHelper.Error<ApplicationContext>("Error determining if application is configured, returning false", ex);
return false;
}
});
}
private string ConfigurationStatus
{
get
{
try
{
return ConfigurationManager.AppSettings["umbracoConfigurationStatus"];
}
catch
{
return String.Empty;
}
}
}
/// <summary>
/// Gets the Current Version of the Umbraco Site before an upgrade
/// by using the last/most recent Umbraco Migration that has been run
/// </summary>
/// <returns>A SemVersion of the latest Umbraco DB Migration run</returns>
/// <remarks>
/// NOTE: This existed in the InstallHelper previously but should really be here so it can be re-used if necessary
/// </remarks>
internal SemVersion CurrentVersion()
{
//Set a default version of 0.0.0
var version = new SemVersion(0);
//If we have a db context available, if we don't then we are not installed anyways
if (DatabaseContext.IsDatabaseConfigured && DatabaseContext.CanConnect)
version = DatabaseContext.ValidateDatabaseSchema().DetermineInstalledVersionByMigrations(Services.MigrationEntryService);
if (version != new SemVersion(0))
return version;
// If we aren't able to get a result from the umbracoMigrations table then use the version in web.config, if it's available
if (string.IsNullOrWhiteSpace(GlobalSettings.ConfigurationStatus))
return version;
var configuredVersion = GlobalSettings.ConfigurationStatus;
string currentComment = null;
var current = configuredVersion.Split('-');
if (current.Length > 1)
currentComment = current[1];
Version currentVersion;
if (Version.TryParse(current[0], out currentVersion))
{
version = new SemVersion(
currentVersion.Major,
currentVersion.Minor,
currentVersion.Build,
string.IsNullOrWhiteSpace(currentComment) ? null : currentComment,
currentVersion.Revision > 0 ? currentVersion.Revision.ToString() : null);
}
return version;
}
private void AssertIsNotReady()
{
if (this.IsReady)
throw new Exception("ApplicationContext has already been initialized.");
}
/// <summary>
/// Gets the current DatabaseContext
/// </summary>
/// <remarks>
/// Internal set is generally only used for unit tests
/// </remarks>
public DatabaseContext DatabaseContext
{
get
{
if (_databaseContext == null)
throw new InvalidOperationException("The DatabaseContext has not been set on the ApplicationContext");
return _databaseContext;
}
internal set { _databaseContext = value; }
}
/// <summary>
/// Gets the current ServiceContext
/// </summary>
/// <remarks>
/// Internal set is generally only used for unit tests
/// </remarks>
public ServiceContext Services
{
get
{
if (_services == null)
throw new InvalidOperationException("The ServiceContext has not been set on the ApplicationContext");
return _services;
}
internal set { _services = value; }
}
internal ServerRole GetCurrentServerRole()
{
var registrar = ServerRegistrarResolver.Current.Registrar as IServerRegistrar2;
return registrar == null ? ServerRole.Unknown : registrar.GetCurrentServerRole();
}
private volatile bool _disposed;
private readonly ReaderWriterLockSlim _disposalLocker = new ReaderWriterLockSlim();
/// <summary>
/// This will dispose and reset all resources used to run the application
/// </summary>
/// <remarks>
/// IMPORTANT: Never dispose this object if you require the Umbraco application to run, disposing this object
/// is generally used for unit testing and when your application is shutting down after you have booted Umbraco.
/// </remarks>
void IDisposable.Dispose()
{
// Only operate if we haven't already disposed
if (_disposed) return;
using (new WriteLock(_disposalLocker))
{
// Check again now we're inside the lock
if (_disposed) return;
//clear the cache
if (ApplicationCache != null)
{
ApplicationCache.RuntimeCache.ClearAllCache();
ApplicationCache.IsolatedRuntimeCache.ClearAllCaches();
}
//reset all resolvers
ResolverCollection.ResetAll();
//reset resolution itself (though this should be taken care of by resetting any of the resolvers above)
Resolution.Reset();
//reset the instance objects
this.ApplicationCache = null;
if (_databaseContext != null) //need to check the internal field here
{
if (_databaseContext.ScopeProvider.AmbientScope != null)
{
var scope = _databaseContext.ScopeProvider.AmbientScope;
scope.Dispose();
}
/*
if (DatabaseContext.IsDatabaseConfigured && DatabaseContext.Database != null)
{
DatabaseContext.Database.Dispose();
}
*/
}
this.DatabaseContext = null;
this.Services = null;
this._isReady = false; //set the internal field
// Indicate that the instance has been disposed.
_disposed = true;
}
}
}
}
+119
View File
@@ -0,0 +1,119 @@
namespace Umbraco.Core
{
/// <summary>
/// A plugin type that allows developers to execute code during the Umbraco bootup process
/// </summary>
/// <remarks>
/// Allows you to override the methods that you would like to execute code for: ApplicationInitialized, ApplicationStarting, ApplicationStarted.
///
/// By default none of these methods will execute if the Umbraco application is not configured or if the Umbraco database is not configured, however
/// if you need these methods to execute even if either of these are not configured you can override the properties:
/// ExecuteWhenApplicationNotConfigured and ExecuteWhenDatabaseNotConfigured
/// </remarks>
public abstract class ApplicationEventHandler : IApplicationEventHandler
{
public void OnApplicationInitialized(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
if (ShouldExecute(applicationContext))
{
ApplicationInitialized(umbracoApplication, applicationContext);
}
}
public void OnApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
if (ShouldExecute(applicationContext))
{
ApplicationStarting(umbracoApplication, applicationContext);
}
}
public void OnApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
if (ShouldExecute(applicationContext))
{
ApplicationStarted(umbracoApplication, applicationContext);
}
}
/// <summary>
/// Overridable method to execute when the ApplicationContext is created and other static objects that require initialization have been setup
/// </summary>
/// <param name="umbracoApplication"></param>
/// <param name="applicationContext"></param>
protected virtual void ApplicationInitialized(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
}
/// <summary>
/// Overridable method to execute when All resolvers have been initialized but resolution is not frozen so they can be modified in this method
/// </summary>
/// <param name="umbracoApplication"></param>
/// <param name="applicationContext"></param>
protected virtual void ApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
}
/// <summary>
/// Overridable method to execute when Bootup is completed, this allows you to perform any other bootup logic required for the application.
/// Resolution is frozen so now they can be used to resolve instances.
/// </summary>
/// <param name="umbracoApplication"></param>
/// <param name="applicationContext"></param>
protected virtual void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
}
/// <summary>
/// Determine if the methods should execute based on the configuration status of the application.
/// </summary>
/// <param name="applicationContext"></param>
/// <returns></returns>
private bool ShouldExecute(ApplicationContext applicationContext)
{
if (applicationContext.IsConfigured && applicationContext.DatabaseContext.IsDatabaseConfigured)
{
return true;
}
if (!applicationContext.IsConfigured && ExecuteWhenApplicationNotConfigured)
{
return true;
}
if (!applicationContext.DatabaseContext.IsDatabaseConfigured && ExecuteWhenDatabaseNotConfigured)
{
return true;
}
return false;
}
/// <summary>
/// A flag to determine if the overridable methods for this class will execute even if the
/// Umbraco application is not configured
/// </summary>
/// <remarks>
/// An Umbraco Application is not configured when it requires a new install or upgrade. When the latest version in the
/// assembly does not match the version in the config.
/// </remarks>
protected virtual bool ExecuteWhenApplicationNotConfigured
{
get { return false; }
}
/// <summary>
/// A flag to determine if the overridable methods for this class will execute even if the
/// Umbraco database is not configured
/// </summary>
/// <remarks>
/// The Umbraco database is not configured when we cannot connect to the database or when the database tables are not installed.
/// </remarks>
protected virtual bool ExecuteWhenDatabaseNotConfigured
{
get { return false; }
}
}
}
+32 -32
View File
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -6,20 +6,20 @@ using System.Reflection;
namespace Umbraco.Core
{
internal static class AssemblyExtensions
{
/// <summary>
/// Returns the file used to load the assembly
/// </summary>
/// <param name="assembly"></param>
/// <returns></returns>
public static FileInfo GetAssemblyFile(this Assembly assembly)
{
var codeBase = assembly.CodeBase;
var uri = new Uri(codeBase);
var path = uri.LocalPath;
return new FileInfo(path);
}
internal static class AssemblyExtensions
{
/// <summary>
/// Returns the file used to load the assembly
/// </summary>
/// <param name="assembly"></param>
/// <returns></returns>
public static FileInfo GetAssemblyFile(this Assembly assembly)
{
var codeBase = assembly.CodeBase;
var uri = new Uri(codeBase);
var path = uri.LocalPath;
return new FileInfo(path);
}
/// <summary>
/// Returns true if the assembly is the App_Code assembly
@@ -49,24 +49,24 @@ namespace Umbraco.Core
/// </summary>
/// <param name="assembly"></param>
/// <returns></returns>
public static bool IsGlobalAsaxAssembly(this Assembly assembly)
{
public static bool IsGlobalAsaxAssembly(this Assembly assembly)
{
//only way I can figure out how to test is by the name
return assembly.FullName.StartsWith("App_global.asax");
}
}
/// <summary>
/// Returns the file used to load the assembly
/// </summary>
/// <param name="assemblyName"></param>
/// <returns></returns>
public static FileInfo GetAssemblyFile(this AssemblyName assemblyName)
{
var codeBase = assemblyName.CodeBase;
var uri = new Uri(codeBase);
var path = uri.LocalPath;
return new FileInfo(path);
}
/// <summary>
/// Returns the file used to load the assembly
/// </summary>
/// <param name="assemblyName"></param>
/// <returns></returns>
public static FileInfo GetAssemblyFile(this AssemblyName assemblyName)
{
var codeBase = assemblyName.CodeBase;
var uri = new Uri(codeBase);
var path = uri.LocalPath;
return new FileInfo(path);
}
}
}
}
}
+6 -6
View File
@@ -69,11 +69,11 @@ namespace Umbraco.Core
public Task<IDisposable> LockAsync()
{
var wait = _semaphore != null
var wait = _semaphore != null
? _semaphore.WaitAsync()
: _semaphore2.WaitOneAsync();
return wait.IsCompleted
return wait.IsCompleted
? _releaserTask ?? Task.FromResult(CreateReleaser()) // anonymous vs named
: wait.ContinueWith((_, state) => (((AsyncLock) state).CreateReleaser()),
this, CancellationToken.None,
@@ -112,7 +112,7 @@ namespace Umbraco.Core
return _releaser ?? CreateReleaser(); // anonymous vs named
}
// note - before making those classes some structs, read
// note - before making those classes some structs, read
// about "impure methods" and mutating readonly structs...
private class NamedSemaphoreReleaser : CriticalFinalizerObject, IDisposable
@@ -140,9 +140,9 @@ namespace Umbraco.Core
_semaphore.Dispose();
}
// we WANT to release the semaphore because it's a system object, ie a critical
// we WANT to release the semaphore because it's a system object, ie a critical
// non-managed resource - and if it is not released then noone else can acquire
// the lock - so we inherit from CriticalFinalizerObject which means that the
// the lock - so we inherit from CriticalFinalizerObject which means that the
// finalizer "should" run in all situations - there is always a chance that it
// does not run and the semaphore remains "acquired" but then chances are the
// whole process (w3wp.exe...) is going down, at which point the semaphore will
@@ -200,4 +200,4 @@ namespace Umbraco.Core
}
}
}
}
}
+120 -80
View File
@@ -1,4 +1,4 @@
using System;
using System;
namespace Umbraco.Core
{
@@ -7,120 +7,160 @@ namespace Umbraco.Core
/// </summary>
public static class Attempt
{
// note:
// cannot rely on overloads only to differenciate between with/without status
// in some cases it will always be ambiguous, so be explicit w/ 'WithStatus' methods
/// <summary>
/// Creates a successful attempt with a result.
/// </summary>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
/// <typeparam name="T">The type of the attempted operation result.</typeparam>
/// <param name="result">The result of the attempt.</param>
/// <returns>The successful attempt.</returns>
public static Attempt<TResult> Succeed<TResult>(TResult result)
public static Attempt<T> Succeed<T>(T result)
{
return Attempt<TResult>.Succeed(result);
}
/// <summary>
/// Creates a successful attempt with a result and a status.
/// </summary>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
/// <typeparam name="TStatus">The type of the attempted operation status.</typeparam>
/// <param name="status">The status of the attempt.</param>
/// <param name="result">The result of the attempt.</param>
/// <returns>The successful attempt.</returns>
public static Attempt<TResult, TStatus> SucceedWithStatus<TResult, TStatus>(TStatus status, TResult result)
{
return Attempt<TResult, TStatus>.Succeed(status, result);
}
/// <summary>
/// Creates a failed attempt.
/// </summary>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult> Fail<TResult>()
{
return Attempt<TResult>.Fail();
return Attempt<T>.Succeed(result);
}
/// <summary>
/// Creates a failed attempt with a result.
/// </summary>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
/// <typeparam name="T">The type of the attempted operation result.</typeparam>
/// <param name="result">The result of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult> Fail<TResult>(TResult result)
public static Attempt<T> Fail<T>(T result)
{
return Attempt<TResult>.Fail(result);
}
/// <summary>
/// Creates a failed attempt with a result and a status.
/// </summary>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
/// <typeparam name="TStatus">The type of the attempted operation status.</typeparam>
/// <param name="status">The status of the attempt.</param>
/// <param name="result">The result of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult, TStatus> FailWithStatus<TResult, TStatus>(TStatus status, TResult result)
{
return Attempt<TResult, TStatus>.Fail(status, result);
return Attempt<T>.Fail(result);
}
/// <summary>
/// Creates a failed attempt with a result and an exception.
/// </summary>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
/// <typeparam name="T">The type of the attempted operation result.</typeparam>
/// <param name="result">The result of the attempt.</param>
/// <param name="exception">The exception causing the failure of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult> Fail<TResult>(TResult result, Exception exception)
public static Attempt<T> Fail<T>(T result, Exception exception)
{
return Attempt<TResult>.Fail(result, exception);
}
/// <summary>
/// Creates a failed attempt with a result, an exception and a status.
/// </summary>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
/// <typeparam name="TStatus">The type of the attempted operation status.</typeparam>
/// <param name="status">The status of the attempt.</param>
/// <param name="result">The result of the attempt.</param>
/// <param name="exception">The exception causing the failure of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult, TStatus> FailWithStatus<TResult, TStatus>(TStatus status, TResult result, Exception exception)
{
return Attempt<TResult, TStatus>.Fail(status, result, exception);
return Attempt<T>.Fail(result, exception);
}
/// <summary>
/// Creates a successful or a failed attempt, with a result.
/// </summary>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
/// <param name="condition">A value indicating whether the attempt is successful.</param>
/// <typeparam name="T">The type of the attempted operation result.</typeparam>
/// <param name="success">A value indicating whether the attempt is successful.</param>
/// <param name="result">The result of the attempt.</param>
/// <returns>The attempt.</returns>
public static Attempt<TResult> If<TResult>(bool condition, TResult result)
public static Attempt<T> If<T>(bool success, T result)
{
return Attempt<TResult>.If(condition, result);
return Attempt<T>.SucceedIf(success, result);
}
/// <summary>
/// Executes an attempt function, with callbacks.
/// </summary>
/// <typeparam name="T">The type of the attempted operation result.</typeparam>
/// <param name="attempt">The attempt returned by the attempt function.</param>
/// <param name="onSuccess">An action to execute in case the attempt succeeds.</param>
/// <param name="onFail">An action to execute in case the attempt fails.</param>
/// <returns>The outcome of the attempt.</returns>
/// <remarks>Runs <paramref name="onSuccess"/> or <paramref name="onFail"/> depending on the
/// whether the attempt function reports a success or a failure.</remarks>
public static Outcome Try<T>(Attempt<T> attempt, Action<T> onSuccess, Action<Exception> onFail = null)
{
if (attempt.Success)
{
onSuccess(attempt.Result);
return Outcome.Success;
}
if (onFail != null)
{
onFail(attempt.Exception);
}
return Outcome.Failure;
}
/// <summary>
/// Creates a successful or a failed attempt, with a result.
/// Represents the outcome of an attempt.
/// </summary>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
/// <typeparam name="TStatus">The type of the attempted operation status.</typeparam>
/// <param name="condition">A value indicating whether the attempt is successful.</param>
/// <param name="succStatus">The status of the successful attempt.</param>
/// <param name="failStatus">The status of the failed attempt.</param>
/// <param name="result">The result of the attempt.</param>
/// <returns>The attempt.</returns>
public static Attempt<TResult, TStatus> IfWithStatus<TResult, TStatus>(bool condition, TStatus succStatus, TStatus failStatus, TResult result)
/// <remarks>Can be a success or a failure, and allows for attempts chaining.</remarks>
public struct Outcome
{
return Attempt<TResult, TStatus>.If(condition, succStatus, failStatus, result);
private readonly bool _success;
/// <summary>
/// Gets an outcome representing a success.
/// </summary>
public static readonly Outcome Success = new Outcome(true);
/// <summary>
/// Gets an outcome representing a failure.
/// </summary>
public static readonly Outcome Failure = new Outcome(false);
private Outcome(bool success)
{
_success = success;
}
/// <summary>
/// Executes another attempt function, if the previous one failed, with callbacks.
/// </summary>
/// <typeparam name="T">The type of the attempted operation result.</typeparam>
/// <param name="nextFunction">The attempt function to execute, returning an attempt.</param>
/// <param name="onSuccess">An action to execute in case the attempt succeeds.</param>
/// <param name="onFail">An action to execute in case the attempt fails.</param>
/// <returns>If it executes, returns the outcome of the attempt, else returns a success outcome.</returns>
/// <remarks>
/// <para>Executes only if the previous attempt failed, else does not execute and return a success outcome.</para>
/// <para>If it executes, then runs <paramref name="onSuccess"/> or <paramref name="onFail"/> depending on the
/// whether the attempt function reports a success or a failure.</para>
/// </remarks>
public Outcome OnFailure<T>(Func<Attempt<T>> nextFunction, Action<T> onSuccess, Action<Exception> onFail = null)
{
return _success
? Success
: ExecuteNextFunction(nextFunction, onSuccess, onFail);
}
/// <summary>
/// Executes another attempt function, if the previous one succeeded, with callbacks.
/// </summary>
/// <typeparam name="T">The type of the attempted operation result.</typeparam>
/// <param name="nextFunction">The attempt function to execute, returning an attempt.</param>
/// <param name="onSuccess">An action to execute in case the attempt succeeds.</param>
/// <param name="onFail">An action to execute in case the attempt fails.</param>
/// <returns>If it executes, returns the outcome of the attempt, else returns a failed outcome.</returns>
/// <remarks>
/// <para>Executes only if the previous attempt succeeded, else does not execute and return a success outcome.</para>
/// <para>If it executes, then runs <paramref name="onSuccess"/> or <paramref name="onFail"/> depending on the
/// whether the attempt function reports a success or a failure.</para>
/// </remarks>
public Outcome OnSuccess<T>(Func<Attempt<T>> nextFunction, Action<T> onSuccess, Action<Exception> onFail = null)
{
return _success
? ExecuteNextFunction(nextFunction, onSuccess, onFail)
: Failure;
}
private static Outcome ExecuteNextFunction<T>(Func<Attempt<T>> nextFunction, Action<T> onSuccess, Action<Exception> onFail = null)
{
var attempt = nextFunction();
if (attempt.Success)
{
onSuccess(attempt.Result);
return Success;
}
if (onFail != null)
{
onFail(attempt.Exception);
}
return Failure;
}
}
}
}
}
-133
View File
@@ -1,133 +0,0 @@
using System;
namespace Umbraco.Core
{
/// <summary>
/// Represents the result of an operation attempt.
/// </summary>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
[Serializable]
public struct Attempt<TResult>
{
// private - use Succeed() or Fail() methods to create attempts
private Attempt(bool success, TResult result, Exception exception)
{
Success = success;
Result = result;
Exception = exception;
}
/// <summary>
/// Gets a value indicating whether this <see cref="Attempt{TResult}"/> was successful.
/// </summary>
public bool Success { get; }
/// <summary>
/// Gets the exception associated with an unsuccessful attempt.
/// </summary>
public Exception Exception { get; }
/// <summary>
/// Gets the attempt result.
/// </summary>
public TResult Result { get; }
/// <summary>
/// Gets the attempt result, if successful, else a default value.
/// </summary>
public TResult ResultOr(TResult value) => Success ? Result : value;
// optimize, use a singleton failed attempt
private static readonly Attempt<TResult> Failed = new Attempt<TResult>(false, default(TResult), null);
/// <summary>
/// Creates a successful attempt.
/// </summary>
/// <returns>The successful attempt.</returns>
public static Attempt<TResult> Succeed()
{
return new Attempt<TResult>(true, default(TResult), null);
}
/// <summary>
/// Creates a successful attempt with a result.
/// </summary>
/// <param name="result">The result of the attempt.</param>
/// <returns>The successful attempt.</returns>
public static Attempt<TResult> Succeed(TResult result)
{
return new Attempt<TResult>(true, result, null);
}
/// <summary>
/// Creates a failed attempt.
/// </summary>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult> Fail()
{
return Failed;
}
/// <summary>
/// Creates a failed attempt with an exception.
/// </summary>
/// <param name="exception">The exception causing the failure of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult> Fail(Exception exception)
{
return new Attempt<TResult>(false, default(TResult), exception);
}
/// <summary>
/// Creates a failed attempt with a result.
/// </summary>
/// <param name="result">The result of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult> Fail(TResult result)
{
return new Attempt<TResult>(false, result, null);
}
/// <summary>
/// Creates a failed attempt with a result and an exception.
/// </summary>
/// <param name="result">The result of the attempt.</param>
/// <param name="exception">The exception causing the failure of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult> Fail(TResult result, Exception exception)
{
return new Attempt<TResult>(false, result, exception);
}
/// <summary>
/// Creates a successful or a failed attempt.
/// </summary>
/// <param name="condition">A value indicating whether the attempt is successful.</param>
/// <returns>The attempt.</returns>
public static Attempt<TResult> If(bool condition)
{
return condition ? new Attempt<TResult>(true, default(TResult), null) : Failed;
}
/// <summary>
/// Creates a successful or a failed attempt, with a result.
/// </summary>
/// <param name="condition">A value indicating whether the attempt is successful.</param>
/// <param name="result">The result of the attempt.</param>
/// <returns>The attempt.</returns>
public static Attempt<TResult> If(bool condition, TResult result)
{
return new Attempt<TResult>(condition, result, null);
}
/// <summary>
/// Implicity operator to check if the attempt was successful without having to access the 'success' property
/// </summary>
/// <param name="a"></param>
/// <returns></returns>
public static implicit operator bool(Attempt<TResult> a)
{
return a.Success;
}
}
}
-142
View File
@@ -1,142 +0,0 @@
using System;
namespace Umbraco.Core
{
/// <summary>
/// Represents the result of an operation attempt.
/// </summary>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
/// <typeparam name="TStatus">The type of the attempted operation status.</typeparam>
[Serializable]
public struct Attempt<TResult, TStatus>
{
/// <summary>
/// Gets a value indicating whether this <see cref="Attempt{TResult,TStatus}"/> was successful.
/// </summary>
public bool Success { get; }
/// <summary>
/// Gets the exception associated with an unsuccessful attempt.
/// </summary>
public Exception Exception { get; }
/// <summary>
/// Gets the attempt result.
/// </summary>
public TResult Result { get; }
/// <summary>
/// Gets the attempt status.
/// </summary>
public TStatus Status { get; }
// private - use Succeed() or Fail() methods to create attempts
private Attempt(bool success, TResult result, TStatus status, Exception exception)
{
Success = success;
Result = result;
Status = status;
Exception = exception;
}
/// <summary>
/// Creates a successful attempt.
/// </summary>
/// <param name="status">The status of the attempt.</param>
/// <returns>The successful attempt.</returns>
public static Attempt<TResult, TStatus> Succeed(TStatus status)
{
return new Attempt<TResult, TStatus>(true, default(TResult), status, null);
}
/// <summary>
/// Creates a successful attempt with a result.
/// </summary>
/// <param name="status">The status of the attempt.</param>
/// <param name="result">The result of the attempt.</param>
/// <returns>The successful attempt.</returns>
public static Attempt<TResult, TStatus> Succeed(TStatus status, TResult result)
{
return new Attempt<TResult, TStatus>(true, result, status, null);
}
/// <summary>
/// Creates a failed attempt.
/// </summary>
/// <param name="status">The status of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult, TStatus> Fail(TStatus status)
{
return new Attempt<TResult, TStatus>(false, default(TResult), status, null);
}
/// <summary>
/// Creates a failed attempt with an exception.
/// </summary>
/// <param name="status">The status of the attempt.</param>
/// <param name="exception">The exception causing the failure of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult, TStatus> Fail(TStatus status, Exception exception)
{
return new Attempt<TResult, TStatus>(false, default(TResult), status, exception);
}
/// <summary>
/// Creates a failed attempt with a result.
/// </summary>
/// <param name="status">The status of the attempt.</param>
/// <param name="result">The result of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult, TStatus> Fail(TStatus status, TResult result)
{
return new Attempt<TResult, TStatus>(false, result, status, null);
}
/// <summary>
/// Creates a failed attempt with a result and an exception.
/// </summary>
/// <param name="status">The status of the attempt.</param>
/// <param name="result">The result of the attempt.</param>
/// <param name="exception">The exception causing the failure of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<TResult, TStatus> Fail(TStatus status, TResult result, Exception exception)
{
return new Attempt<TResult, TStatus>(false, result, status, exception);
}
/// <summary>
/// Creates a successful or a failed attempt.
/// </summary>
/// <param name="condition">A value indicating whether the attempt is successful.</param>
/// <param name="succStatus">The status of the successful attempt.</param>
/// <param name="failStatus">The status of the failed attempt.</param>
/// <returns>The attempt.</returns>
public static Attempt<TResult, TStatus> If(bool condition, TStatus succStatus, TStatus failStatus)
{
return new Attempt<TResult, TStatus>(condition, default(TResult), condition ? succStatus : failStatus, null);
}
/// <summary>
/// Creates a successful or a failed attempt, with a result.
/// </summary>
/// <param name="condition">A value indicating whether the attempt is successful.</param>
/// <param name="succStatus">The status of the successful attempt.</param>
/// <param name="failStatus">The status of the failed attempt.</param>
/// <param name="result">The result of the attempt.</param>
/// <returns>The attempt.</returns>
public static Attempt<TResult, TStatus> If(bool condition, TStatus succStatus, TStatus failStatus, TResult result)
{
return new Attempt<TResult, TStatus>(condition, result, condition ? succStatus : failStatus, null);
}
/// <summary>
/// Implicity operator to check if the attempt was successful without having to access the 'success' property
/// </summary>
/// <param name="a"></param>
/// <returns></returns>
public static implicit operator bool(Attempt<TResult, TStatus> a)
{
return a.Success;
}
}
}
+174
View File
@@ -0,0 +1,174 @@
using System;
using Umbraco.Core.Dynamics;
namespace Umbraco.Core
{
/// <summary>
/// Represents the result of an operation attempt.
/// </summary>
/// <typeparam name="T">The type of the attempted operation result.</typeparam>
[Serializable]
public struct Attempt<T>
{
private readonly bool _success;
private readonly T _result;
private readonly Exception _exception;
/// <summary>
/// Gets a value indicating whether this <see cref="Attempt{T}"/> was successful.
/// </summary>
public bool Success
{
get { return _success; }
}
/// <summary>
/// Gets the exception associated with an unsuccessful attempt.
/// </summary>
public Exception Exception { get { return _exception; } }
/// <summary>
/// Gets the exception associated with an unsuccessful attempt.
/// </summary>
/// <remarks>Keep it for backward compatibility sake.</remarks>
[Obsolete(".Error is obsolete, you should use .Exception instead.", false)]
public Exception Error { get { return _exception; } }
/// <summary>
/// Gets the attempt result.
/// </summary>
public T Result
{
get { return _result; }
}
// optimize, use a singleton failed attempt
private static readonly Attempt<T> Failed = new Attempt<T>(false, default(T), null);
/// <summary>
/// Represents an unsuccessful attempt.
/// </summary>
/// <remarks>Keep it for backward compatibility sake.</remarks>
[Obsolete(".Failed is obsolete, you should use Attempt<T>.Fail() instead.", false)]
public static readonly Attempt<T> False = Failed;
// private - use Succeed() or Fail() methods to create attempts
private Attempt(bool success, T result, Exception exception)
{
_success = success;
_result = result;
_exception = exception;
}
/// <summary>
/// Initialize a new instance of the <see cref="Attempt{T}"/> struct with a result.
/// </summary>
/// <param name="success">A value indicating whether the attempt is successful.</param>
/// <param name="result">The result of the attempt.</param>
/// <remarks>Keep it for backward compatibility sake.</remarks>
[Obsolete("Attempt ctors are obsolete, you should use Attempt<T>.Succeed(), Attempt<T>.Fail() or Attempt<T>.If() instead.", false)]
public Attempt(bool success, T result)
: this(success, result, null)
{ }
/// <summary>
/// Initialize a new instance of the <see cref="Attempt{T}"/> struct representing a failed attempt, with an exception.
/// </summary>
/// <param name="exception">The exception causing the failure of the attempt.</param>
/// <remarks>Keep it for backward compatibility sake.</remarks>
[Obsolete("Attempt ctors are obsolete, you should use Attempt<T>.Succeed(), Attempt<T>.Fail() or Attempt<T>.If() instead.", false)]
public Attempt(Exception exception)
: this(false, default(T), exception)
{ }
/// <summary>
/// Creates a successful attempt.
/// </summary>
/// <returns>The successful attempt.</returns>
public static Attempt<T> Succeed()
{
return new Attempt<T>(true, default(T), null);
}
/// <summary>
/// Creates a successful attempt with a result.
/// </summary>
/// <param name="result">The result of the attempt.</param>
/// <returns>The successful attempt.</returns>
public static Attempt<T> Succeed(T result)
{
return new Attempt<T>(true, result, null);
}
/// <summary>
/// Creates a failed attempt.
/// </summary>
/// <returns>The failed attempt.</returns>
public static Attempt<T> Fail()
{
return Failed;
}
/// <summary>
/// Creates a failed attempt with an exception.
/// </summary>
/// <param name="exception">The exception causing the failure of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<T> Fail(Exception exception)
{
return new Attempt<T>(false, default(T), exception);
}
/// <summary>
/// Creates a failed attempt with a result.
/// </summary>
/// <param name="result">The result of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<T> Fail(T result)
{
return new Attempt<T>(false, result, null);
}
/// <summary>
/// Creates a failed attempt with a result and an exception.
/// </summary>
/// <param name="result">The result of the attempt.</param>
/// <param name="exception">The exception causing the failure of the attempt.</param>
/// <returns>The failed attempt.</returns>
public static Attempt<T> Fail(T result, Exception exception)
{
return new Attempt<T>(false, result, exception);
}
/// <summary>
/// Creates a successful or a failed attempt.
/// </summary>
/// <param name="condition">A value indicating whether the attempt is successful.</param>
/// <returns>The attempt.</returns>
public static Attempt<T> SucceedIf(bool condition)
{
return condition ? new Attempt<T>(true, default(T), null) : Failed;
}
/// <summary>
/// Creates a successful or a failed attempt, with a result.
/// </summary>
/// <param name="condition">A value indicating whether the attempt is successful.</param>
/// <param name="result">The result of the attempt.</param>
/// <returns>The attempt.</returns>
public static Attempt<T> SucceedIf(bool condition, T result)
{
return new Attempt<T>(condition, result, null);
}
/// <summary>
/// Implicity operator to check if the attempt was successful without having to access the 'success' property
/// </summary>
/// <param name="a"></param>
/// <returns></returns>
public static implicit operator bool(Attempt<T> a)
{
return a.Success;
}
}
}
+17
View File
@@ -0,0 +1,17 @@
using System;
using System.ComponentModel;
namespace Umbraco.Core.Auditing
{
[Obsolete("Use Umbraco.Core.Services.IAuditService instead")]
[EditorBrowsable(EditorBrowsableState.Never)]
public static class Audit
{
public static void Add(Umbraco.Core.Auditing.AuditTypes type, string comment, int userId, int objectId)
{
ApplicationContext.Current.Services.AuditService.Add(
Enum<Umbraco.Core.Models.AuditType>.Parse(type.ToString()),
comment, userId, objectId);
}
}
}
@@ -0,0 +1,351 @@
using System;
using System.Linq;
using System.Text;
using System.Threading;
using System.Web;
using Umbraco.Core.Events;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Security;
using Umbraco.Core.Services;
namespace Umbraco.Core.Auditing
{
public sealed class AuditEventHandler : ApplicationEventHandler
{
private IAuditService _auditServiceInstance;
private IUserService _userServiceInstance;
private IEntityService _entityServiceInstance;
private IUser CurrentPerformingUser
{
get
{
var identity = Thread.CurrentPrincipal?.GetUmbracoIdentity();
return identity == null
? new User { Id = 0, Name = "SYSTEM", Email = "" }
: _userServiceInstance.GetUserById(Convert.ToInt32(identity.Id));
}
}
private IUser GetPerformingUser(int userId)
{
var found = userId >= 0 ? _userServiceInstance.GetUserById(userId) : null;
return found ?? new User {Id = 0, Name = "SYSTEM", Email = ""};
}
private string PerformingIp
{
get
{
var httpContext = HttpContext.Current == null ? (HttpContextBase) null : new HttpContextWrapper(HttpContext.Current);
var ip = httpContext.GetCurrentRequestIpAddress();
if (ip.ToLowerInvariant().StartsWith("unknown")) ip = "";
return ip;
}
}
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
_auditServiceInstance = applicationContext.Services.AuditService;
_userServiceInstance = applicationContext.Services.UserService;
_entityServiceInstance = applicationContext.Services.EntityService;
//BackOfficeUserManager.AccountLocked += ;
//BackOfficeUserManager.AccountUnlocked += ;
BackOfficeUserManager.ForgotPasswordRequested += OnForgotPasswordRequest;
BackOfficeUserManager.ForgotPasswordChangedSuccess += OnForgotPasswordChange;
BackOfficeUserManager.LoginFailed += OnLoginFailed;
//BackOfficeUserManager.LoginRequiresVerification += ;
BackOfficeUserManager.LoginSuccess += OnLoginSuccess;
BackOfficeUserManager.LogoutSuccess += OnLogoutSuccess;
BackOfficeUserManager.PasswordChanged += OnPasswordChanged;
BackOfficeUserManager.PasswordReset += OnPasswordReset;
//BackOfficeUserManager.ResetAccessFailedCount += ;
UserService.SavedUserGroup2 += OnSavedUserGroupWithUsers;
UserService.SavedUser += OnSavedUser;
UserService.DeletedUser += OnDeletedUser;
UserService.UserGroupPermissionsAssigned += UserGroupPermissionAssigned;
MemberService.Saved += OnSavedMember;
MemberService.Deleted += OnDeletedMember;
MemberService.AssignedRoles += OnAssignedRoles;
MemberService.RemovedRoles += OnRemovedRoles;
MemberService.Exported += OnMemberExported;
}
private string FormatEmail(IMember member)
{
return member == null ? string.Empty : member.Email.IsNullOrWhiteSpace() ? "" : $"<{member.Email}>";
}
private string FormatEmail(IUser user)
{
return user == null ? string.Empty : user.Email.IsNullOrWhiteSpace() ? "" : $"<{user.Email}>";
}
private void OnRemovedRoles(IMemberService sender, RolesEventArgs args)
{
var performingUser = CurrentPerformingUser;
var roles = string.Join(", ", args.Roles);
var members = sender.GetAllMembers(args.MemberIds).ToDictionary(x => x.Id, x => x);
foreach (var id in args.MemberIds)
{
members.TryGetValue(id, out var member);
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"Member {id} \"{member?.Name ?? "(unknown)"}\" {FormatEmail(member)}",
"umbraco/member/roles/removed", $"roles modified, removed {roles}");
}
}
private void OnAssignedRoles(IMemberService sender, RolesEventArgs args)
{
var performingUser = CurrentPerformingUser;
var roles = string.Join(", ", args.Roles);
var members = sender.GetAllMembers(args.MemberIds).ToDictionary(x => x.Id, x => x);
foreach (var id in args.MemberIds)
{
members.TryGetValue(id, out var member);
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"Member {id} \"{member?.Name ?? "(unknown)"}\" {FormatEmail(member)}",
"umbraco/member/roles/assigned", $"roles modified, assigned {roles}");
}
}
private void OnMemberExported(IMemberService sender, ExportedMemberEventArgs exportedMemberEventArgs)
{
var performingUser = CurrentPerformingUser;
var member = exportedMemberEventArgs.Member;
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"Member {member.Id} \"{member.Name}\" {FormatEmail(member)}",
"umbraco/member/exported", "exported member data");
}
private void OnSavedUserGroupWithUsers(IUserService sender, SaveEventArgs<UserGroupWithUsers> saveEventArgs)
{
var performingUser = CurrentPerformingUser;
foreach (var groupWithUser in saveEventArgs.SavedEntities)
{
var group = groupWithUser.UserGroup;
var dp = string.Join(", ", ((UserGroup)group).GetPreviouslyDirtyProperties());
var sections = ((UserGroup)group).WasPropertyDirty("AllowedSections")
? string.Join(", ", group.AllowedSections)
: null;
var perms = ((UserGroup)group).WasPropertyDirty("Permissions")
? string.Join(", ", group.Permissions)
: null;
var sb = new StringBuilder();
sb.Append($"updating {(string.IsNullOrWhiteSpace(dp) ? "(nothing)" : dp)};");
if (sections != null)
sb.Append($", assigned sections: {sections}");
if (perms != null)
{
if (sections != null)
sb.Append(", ");
sb.Append($"default perms: {perms}");
}
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"User Group {group.Id} \"{group.Name}\" ({group.Alias})",
"umbraco/user-group/save", $"{sb}");
// now audit the users that have changed
foreach (var user in groupWithUser.RemovedUsers)
{
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
user.Id, $"User \"{user.Name}\" {FormatEmail(user)}",
"umbraco/user-group/save", $"Removed user \"{user.Name}\" {FormatEmail(user)} from group {group.Id} \"{group.Name}\" ({group.Alias})");
}
foreach (var user in groupWithUser.AddedUsers)
{
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
user.Id, $"User \"{user.Name}\" {FormatEmail(user)}",
"umbraco/user-group/save", $"Added user \"{user.Name}\" {FormatEmail(user)} to group {group.Id} \"{group.Name}\" ({group.Alias})");
}
}
}
private void UserGroupPermissionAssigned(IUserService sender, SaveEventArgs<EntityPermission> saveEventArgs)
{
var performingUser = CurrentPerformingUser;
var perms = saveEventArgs.SavedEntities;
foreach (var perm in perms)
{
var group = sender.GetUserGroupById(perm.UserGroupId);
var assigned = string.Join(", ", perm.AssignedPermissions);
var entity = _entityServiceInstance.Get(perm.EntityId);
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"User Group {group.Id} \"{group.Name}\" ({group.Alias})",
"umbraco/user-group/permissions-change", $"assigning {(string.IsNullOrWhiteSpace(assigned) ? "(nothing)" : assigned)} on id:{perm.EntityId} \"{entity.Name}\"");
}
}
private void OnSavedMember(IMemberService sender, SaveEventArgs<IMember> saveEventArgs)
{
var performingUser = CurrentPerformingUser;
var members = saveEventArgs.SavedEntities;
foreach (var member in members)
{
var dp = string.Join(", ", ((Member) member).GetPreviouslyDirtyProperties());
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"Member {member.Id} \"{member.Name}\" {FormatEmail(member)}",
"umbraco/member/save", $"updating {(string.IsNullOrWhiteSpace(dp) ? "(nothing)" : dp)}");
}
}
private void OnDeletedMember(IMemberService sender, DeleteEventArgs<IMember> deleteEventArgs)
{
var performingUser = CurrentPerformingUser;
var members = deleteEventArgs.DeletedEntities;
foreach (var member in members)
{
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"Member {member.Id} \"{member.Name}\" {FormatEmail(member)}",
"umbraco/member/delete", $"delete member id:{member.Id} \"{member.Name}\" {FormatEmail(member)}");
}
}
private void OnSavedUser(IUserService sender, SaveEventArgs<IUser> saveEventArgs)
{
var performingUser = CurrentPerformingUser;
var affectedUsers = saveEventArgs.SavedEntities;
foreach (var affectedUser in affectedUsers)
{
var groups = affectedUser.WasPropertyDirty("Groups")
? string.Join(", ", affectedUser.Groups.Select(x => x.Alias))
: null;
var dp = string.Join(", ", ((User)affectedUser).GetPreviouslyDirtyProperties());
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
affectedUser.Id, $"User \"{affectedUser.Name}\" {FormatEmail(affectedUser)}",
"umbraco/user/save", $"updating {(string.IsNullOrWhiteSpace(dp) ? "(nothing)" : dp)}{(groups == null ? "" : "; groups assigned: " + groups)}");
}
}
private void OnDeletedUser(IUserService sender, DeleteEventArgs<IUser> deleteEventArgs)
{
var performingUser = CurrentPerformingUser;
var affectedUsers = deleteEventArgs.DeletedEntities;
foreach (var affectedUser in affectedUsers)
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
affectedUser.Id, $"User \"{affectedUser.Name}\" {FormatEmail(affectedUser)}",
"umbraco/user/delete", "delete user");
}
private void OnLoginSuccess(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs)
{
var performingUser = GetPerformingUser(identityArgs.PerformingUser);
WriteAudit(performingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/sign-in/login", "login success");
}
}
private void OnLogoutSuccess(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs)
{
var performingUser = GetPerformingUser(identityArgs.PerformingUser);
WriteAudit(performingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/sign-in/logout", "logout success");
}
}
private void OnPasswordReset(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs && identityArgs.PerformingUser >= 0)
{
WriteAudit(identityArgs.PerformingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/password/reset", "password reset");
}
}
private void OnPasswordChanged(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs && identityArgs.PerformingUser >= 0)
{
WriteAudit(identityArgs.PerformingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/password/change", "password change");
}
}
private void OnLoginFailed(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs && identityArgs.PerformingUser >= 0)
{
WriteAudit(identityArgs.PerformingUser, 0, identityArgs.IpAddress, "umbraco/user/sign-in/failed", "login failed", affectedDetails: "");
}
}
private void OnForgotPasswordChange(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs && identityArgs.PerformingUser >= 0)
{
WriteAudit(identityArgs.PerformingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/password/forgot/change", "password forgot/change");
}
}
private void OnForgotPasswordRequest(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs && identityArgs.PerformingUser >= 0)
{
WriteAudit(identityArgs.PerformingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/password/forgot/request", "password forgot/request");
}
}
private void WriteAudit(int performingId, int affectedId, string ipAddress, string eventType, string eventDetails, string affectedDetails = null)
{
var performingUser = _userServiceInstance.GetUserById(performingId);
var performingDetails = performingUser == null
? $"User UNKNOWN:{performingId}"
: $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}";
WriteAudit(performingId, performingDetails, affectedId, ipAddress, eventType, eventDetails, affectedDetails);
}
private void WriteAudit(IUser performingUser, int affectedId, string ipAddress, string eventType, string eventDetails)
{
var performingDetails = performingUser == null
? $"User UNKNOWN"
: $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}";
WriteAudit(performingUser?.Id ?? 0, performingDetails, affectedId, ipAddress, eventType, eventDetails);
}
private void WriteAudit(int performingId, string performingDetails, int affectedId, string ipAddress, string eventType, string eventDetails, string affectedDetails = null)
{
if (affectedDetails == null)
{
var affectedUser = _userServiceInstance.GetUserById(affectedId);
affectedDetails = affectedUser == null
? $"User UNKNOWN:{affectedId}"
: $"User \"{affectedUser.Name}\" {FormatEmail(affectedUser)}";
}
_auditServiceInstance.Write(performingId, performingDetails,
ipAddress,
DateTime.UtcNow,
affectedId, affectedDetails,
eventType, eventDetails);
}
}
}
@@ -1,353 +0,0 @@
using System;
using System.Linq;
using System.Text;
using System.Threading;
using System.Web;
using Umbraco.Core.Components;
using Umbraco.Core.Events;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Security;
using Umbraco.Core.Services;
using Umbraco.Core.Services.Implement;
namespace Umbraco.Core.Auditing
{
public sealed class AuditEventsComponent : UmbracoComponentBase, IUmbracoCoreComponent
{
private IAuditService _auditService;
private IUserService _userService;
private IEntityService _entityService;
private IUser CurrentPerformingUser
{
get
{
var identity = Thread.CurrentPrincipal?.GetUmbracoIdentity();
return identity == null
? new User { Id = 0, Name = "SYSTEM", Email = "" }
: _userService.GetUserById(Convert.ToInt32(identity.Id));
}
}
private IUser GetPerformingUser(int userId)
{
var found = userId >= 0 ? _userService.GetUserById(userId) : null;
return found ?? new User {Id = 0, Name = "SYSTEM", Email = ""};
}
private string PerformingIp
{
get
{
var httpContext = HttpContext.Current == null ? (HttpContextBase) null : new HttpContextWrapper(HttpContext.Current);
var ip = httpContext.GetCurrentRequestIpAddress();
if (ip.ToLowerInvariant().StartsWith("unknown")) ip = "";
return ip;
}
}
public void Initialize(IAuditService auditService, IUserService userService, IEntityService entityService)
{
_auditService = auditService;
_userService = userService;
_entityService = entityService;
//BackOfficeUserManager.AccountLocked += ;
//BackOfficeUserManager.AccountUnlocked += ;
BackOfficeUserManager.ForgotPasswordRequested += OnForgotPasswordRequest;
BackOfficeUserManager.ForgotPasswordChangedSuccess += OnForgotPasswordChange;
BackOfficeUserManager.LoginFailed += OnLoginFailed;
//BackOfficeUserManager.LoginRequiresVerification += ;
BackOfficeUserManager.LoginSuccess += OnLoginSuccess;
BackOfficeUserManager.LogoutSuccess += OnLogoutSuccess;
BackOfficeUserManager.PasswordChanged += OnPasswordChanged;
BackOfficeUserManager.PasswordReset += OnPasswordReset;
//BackOfficeUserManager.ResetAccessFailedCount += ;
UserService.SavedUserGroup += OnSavedUserGroupWithUsers;
UserService.SavedUser += OnSavedUser;
UserService.DeletedUser += OnDeletedUser;
UserService.UserGroupPermissionsAssigned += UserGroupPermissionAssigned;
MemberService.Saved += OnSavedMember;
MemberService.Deleted += OnDeletedMember;
MemberService.AssignedRoles += OnAssignedRoles;
MemberService.RemovedRoles += OnRemovedRoles;
MemberService.Exported += OnMemberExported;
}
private string FormatEmail(IMember member)
{
return member == null ? string.Empty : member.Email.IsNullOrWhiteSpace() ? "" : $"<{member.Email}>";
}
private string FormatEmail(IUser user)
{
return user == null ? string.Empty : user.Email.IsNullOrWhiteSpace() ? "" : $"<{user.Email}>";
}
private void OnRemovedRoles(IMemberService sender, RolesEventArgs args)
{
var performingUser = CurrentPerformingUser;
var roles = string.Join(", ", args.Roles);
var members = sender.GetAllMembers(args.MemberIds).ToDictionary(x => x.Id, x => x);
foreach (var id in args.MemberIds)
{
members.TryGetValue(id, out var member);
_auditService.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"Member {id} \"{member?.Name ?? "(unknown)"}\" {FormatEmail(member)}",
"umbraco/member/roles/removed", $"roles modified, removed {roles}");
}
}
private void OnAssignedRoles(IMemberService sender, RolesEventArgs args)
{
var performingUser = CurrentPerformingUser;
var roles = string.Join(", ", args.Roles);
var members = sender.GetAllMembers(args.MemberIds).ToDictionary(x => x.Id, x => x);
foreach (var id in args.MemberIds)
{
members.TryGetValue(id, out var member);
_auditService.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"Member {id} \"{member?.Name ?? "(unknown)"}\" {FormatEmail(member)}",
"umbraco/member/roles/assigned", $"roles modified, assigned {roles}");
}
}
private void OnMemberExported(IMemberService sender, ExportedMemberEventArgs exportedMemberEventArgs)
{
var performingUser = CurrentPerformingUser;
var member = exportedMemberEventArgs.Member;
_auditService.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"Member {member.Id} \"{member.Name}\" {FormatEmail(member)}",
"umbraco/member/exported", "exported member data");
}
private void OnSavedUserGroupWithUsers(IUserService sender, SaveEventArgs<UserGroupWithUsers> saveEventArgs)
{
var performingUser = CurrentPerformingUser;
foreach (var groupWithUser in saveEventArgs.SavedEntities)
{
var group = groupWithUser.UserGroup;
var dp = string.Join(", ", ((UserGroup)group).GetWereDirtyProperties());
var sections = ((UserGroup)group).WasPropertyDirty("AllowedSections")
? string.Join(", ", group.AllowedSections)
: null;
var perms = ((UserGroup)group).WasPropertyDirty("Permissions")
? string.Join(", ", group.Permissions)
: null;
var sb = new StringBuilder();
sb.Append($"updating {(string.IsNullOrWhiteSpace(dp) ? "(nothing)" : dp)};");
if (sections != null)
sb.Append($", assigned sections: {sections}");
if (perms != null)
{
if (sections != null)
sb.Append(", ");
sb.Append($"default perms: {perms}");
}
_auditService.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"User Group {group.Id} \"{group.Name}\" ({group.Alias})",
"umbraco/user-group/save", $"{sb}");
// now audit the users that have changed
foreach (var user in groupWithUser.RemovedUsers)
{
_auditService.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
user.Id, $"User \"{user.Name}\" {FormatEmail(user)}",
"umbraco/user-group/save", $"Removed user \"{user.Name}\" {FormatEmail(user)} from group {group.Id} \"{group.Name}\" ({group.Alias})");
}
foreach (var user in groupWithUser.AddedUsers)
{
_auditService.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
user.Id, $"User \"{user.Name}\" {FormatEmail(user)}",
"umbraco/user-group/save", $"Added user \"{user.Name}\" {FormatEmail(user)} to group {group.Id} \"{group.Name}\" ({group.Alias})");
}
}
}
private void UserGroupPermissionAssigned(IUserService sender, SaveEventArgs<EntityPermission> saveEventArgs)
{
var performingUser = CurrentPerformingUser;
var perms = saveEventArgs.SavedEntities;
foreach (var perm in perms)
{
var group = sender.GetUserGroupById(perm.UserGroupId);
var assigned = string.Join(", ", perm.AssignedPermissions);
var entity = _entityService.Get(perm.EntityId);
_auditService.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"User Group {group.Id} \"{group.Name}\" ({group.Alias})",
"umbraco/user-group/permissions-change", $"assigning {(string.IsNullOrWhiteSpace(assigned) ? "(nothing)" : assigned)} on id:{perm.EntityId} \"{entity.Name}\"");
}
}
private void OnSavedMember(IMemberService sender, SaveEventArgs<IMember> saveEventArgs)
{
var performingUser = CurrentPerformingUser;
var members = saveEventArgs.SavedEntities;
foreach (var member in members)
{
var dp = string.Join(", ", ((Member) member).GetWereDirtyProperties());
_auditService.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"Member {member.Id} \"{member.Name}\" {FormatEmail(member)}",
"umbraco/member/save", $"updating {(string.IsNullOrWhiteSpace(dp) ? "(nothing)" : dp)}");
}
}
private void OnDeletedMember(IMemberService sender, DeleteEventArgs<IMember> deleteEventArgs)
{
var performingUser = CurrentPerformingUser;
var members = deleteEventArgs.DeletedEntities;
foreach (var member in members)
{
_auditService.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
-1, $"Member {member.Id} \"{member.Name}\" {FormatEmail(member)}",
"umbraco/member/delete", $"delete member id:{member.Id} \"{member.Name}\" {FormatEmail(member)}");
}
}
private void OnSavedUser(IUserService sender, SaveEventArgs<IUser> saveEventArgs)
{
var performingUser = CurrentPerformingUser;
var affectedUsers = saveEventArgs.SavedEntities;
foreach (var affectedUser in affectedUsers)
{
var groups = affectedUser.WasPropertyDirty("Groups")
? string.Join(", ", affectedUser.Groups.Select(x => x.Alias))
: null;
var dp = string.Join(", ", ((User)affectedUser).GetWereDirtyProperties());
_auditService.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
affectedUser.Id, $"User \"{affectedUser.Name}\" {FormatEmail(affectedUser)}",
"umbraco/user/save", $"updating {(string.IsNullOrWhiteSpace(dp) ? "(nothing)" : dp)}{(groups == null ? "" : "; groups assigned: " + groups)}");
}
}
private void OnDeletedUser(IUserService sender, DeleteEventArgs<IUser> deleteEventArgs)
{
var performingUser = CurrentPerformingUser;
var affectedUsers = deleteEventArgs.DeletedEntities;
foreach (var affectedUser in affectedUsers)
_auditService.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.UtcNow,
affectedUser.Id, $"User \"{affectedUser.Name}\" {FormatEmail(affectedUser)}",
"umbraco/user/delete", "delete user");
}
private void OnLoginSuccess(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs)
{
var performingUser = GetPerformingUser(identityArgs.PerformingUser);
WriteAudit(performingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/sign-in/login", "login success");
}
}
private void OnLogoutSuccess(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs)
{
var performingUser = GetPerformingUser(identityArgs.PerformingUser);
WriteAudit(performingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/sign-in/logout", "logout success");
}
}
private void OnPasswordReset(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs && identityArgs.PerformingUser >= 0)
{
WriteAudit(identityArgs.PerformingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/password/reset", "password reset");
}
}
private void OnPasswordChanged(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs && identityArgs.PerformingUser >= 0)
{
WriteAudit(identityArgs.PerformingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/password/change", "password change");
}
}
private void OnLoginFailed(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs && identityArgs.PerformingUser >= 0)
{
WriteAudit(identityArgs.PerformingUser, 0, identityArgs.IpAddress, "umbraco/user/sign-in/failed", "login failed", affectedDetails: "");
}
}
private void OnForgotPasswordChange(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs && identityArgs.PerformingUser >= 0)
{
WriteAudit(identityArgs.PerformingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/password/forgot/change", "password forgot/change");
}
}
private void OnForgotPasswordRequest(object sender, EventArgs args)
{
if (args is IdentityAuditEventArgs identityArgs && identityArgs.PerformingUser >= 0)
{
WriteAudit(identityArgs.PerformingUser, identityArgs.AffectedUser, identityArgs.IpAddress, "umbraco/user/password/forgot/request", "password forgot/request");
}
}
private void WriteAudit(int performingId, int affectedId, string ipAddress, string eventType, string eventDetails, string affectedDetails = null)
{
var performingUser = _userService.GetUserById(performingId);
var performingDetails = performingUser == null
? $"User UNKNOWN:{performingId}"
: $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}";
WriteAudit(performingId, performingDetails, affectedId, ipAddress, eventType, eventDetails, affectedDetails);
}
private void WriteAudit(IUser performingUser, int affectedId, string ipAddress, string eventType, string eventDetails)
{
var performingDetails = performingUser == null
? $"User UNKNOWN"
: $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}";
WriteAudit(performingUser?.Id ?? 0, performingDetails, affectedId, ipAddress, eventType, eventDetails);
}
private void WriteAudit(int performingId, string performingDetails, int affectedId, string ipAddress, string eventType, string eventDetails, string affectedDetails = null)
{
if (affectedDetails == null)
{
var affectedUser = _userService.GetUserById(affectedId);
affectedDetails = affectedUser == null
? $"User UNKNOWN:{affectedId}"
: $"User \"{affectedUser.Name}\" {FormatEmail(affectedUser)}";
}
_auditService.Write(performingId, performingDetails,
ipAddress,
DateTime.UtcNow,
affectedId, affectedDetails,
eventType, eventDetails);
}
}
}
+87
View File
@@ -0,0 +1,87 @@
using System;
using System.ComponentModel;
namespace Umbraco.Core.Auditing
{
[Obsolete("Use Umbraco.Core.Models.AuditType instead")]
[EditorBrowsable(EditorBrowsableState.Never)]
public enum AuditTypes
{
/// <summary>
/// Used when new nodes are added
/// </summary>
New,
/// <summary>
/// Used when nodes are saved
/// </summary>
Save,
/// <summary>
/// Used when nodes are opened
/// </summary>
Open,
/// <summary>
/// Used when nodes are deleted
/// </summary>
Delete,
/// <summary>
/// Used when nodes are published
/// </summary>
Publish,
/// <summary>
/// Used when nodes are send to publishing
/// </summary>
SendToPublish,
/// <summary>
/// Used when nodes are unpublished
/// </summary>
UnPublish,
/// <summary>
/// Used when nodes are moved
/// </summary>
Move,
/// <summary>
/// Used when nodes are copied
/// </summary>
Copy,
/// <summary>
/// Used when nodes are assígned a domain
/// </summary>
AssignDomain,
/// <summary>
/// Used when public access are changed for a node
/// </summary>
PublicAccess,
/// <summary>
/// Used when nodes are sorted
/// </summary>
Sort,
/// <summary>
/// Used when a notification are send to a user
/// </summary>
Notify,
/// <summary>
/// General system notification
/// </summary>
System,
/// <summary>
/// Used when a node's content is rolled back to a previous version
/// </summary>
RollBack,
/// <summary>
/// Used when a package is installed
/// </summary>
PackagerInstall,
/// <summary>
/// Used when a package is uninstalled
/// </summary>
PackagerUninstall,
/// <summary>
/// Used when a node is send to translation
/// </summary>
SendToTranslate,
/// <summary>
/// Use this log action for custom log messages that should be shown in the audit trail
/// </summary>
Custom
}
}
+6 -6
View File
@@ -1,4 +1,4 @@
using System;
using System;
using System.Reflection;
using System.Text.RegularExpressions;
using System.Web;
@@ -21,7 +21,7 @@ namespace Umbraco.Core
private static readonly Regex Log4NetAssemblyPattern = new Regex("log4net, Version=([\\d\\.]+?), Culture=neutral, PublicKeyToken=\\w+$", RegexOptions.Compiled);
private const string Log4NetReplacement = "log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a";
/// <summary>
/// This is used to do an assembly binding redirect via code - normally required due to signature changes in assemblies
/// </summary>
@@ -30,12 +30,12 @@ namespace Umbraco.Core
/// <returns></returns>
private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
//log4net:
//log4net:
if (Log4NetAssemblyPattern.IsMatch(args.Name) && args.Name != Log4NetReplacement)
{
return Assembly.Load(Log4NetAssemblyPattern.Replace(args.Name, Log4NetReplacement));
}
//AutoMapper:
// ensure the assembly is indeed AutoMapper and that the PublicKeyToken is null before trying to Load again
// do NOT just replace this with 'return Assembly', as it will cause an infinite loop -> stackoverflow
@@ -43,7 +43,7 @@ namespace Umbraco.Core
return Assembly.Load(args.Name.Replace(", PublicKeyToken=null", ", PublicKeyToken=be96cd2c38ef1005"));
return null;
}
}
}
}
-422
View File
@@ -1,422 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Web;
using System.Web.Caching;
namespace Umbraco.Core.Cache
{
/// <summary>
/// Class that is exposed by the ApplicationContext for application wide caching purposes
/// </summary>
public class CacheHelper
{
public static CacheHelper NoCache { get; } = new CacheHelper(NullCacheProvider.Instance, NullCacheProvider.Instance, NullCacheProvider.Instance, new IsolatedRuntimeCache(_ => NullCacheProvider.Instance));
/// <summary>
/// Creates a cache helper with disabled caches
/// </summary>
/// <returns></returns>
/// <remarks>
/// Good for unit testing
/// </remarks>
public static CacheHelper CreateDisabledCacheHelper()
{
// do *not* return NoCache
// NoCache is a special instance that is detected by RepositoryBase and disables all cache policies
// CreateDisabledCacheHelper is used in tests to use no cache, *but* keep all cache policies
return new CacheHelper(NullCacheProvider.Instance, NullCacheProvider.Instance, NullCacheProvider.Instance, new IsolatedRuntimeCache(_ => NullCacheProvider.Instance));
}
/// <summary>
/// Initializes a new instance for use in the web
/// </summary>
public CacheHelper()
: this(
new HttpRuntimeCacheProvider(HttpRuntime.Cache),
new StaticCacheProvider(),
new HttpRequestCacheProvider(),
new IsolatedRuntimeCache(t => new ObjectCacheRuntimeCacheProvider()))
{
}
/// <summary>
/// Initializes a new instance for use in the web
/// </summary>
/// <param name="cache"></param>
public CacheHelper(System.Web.Caching.Cache cache)
: this(
new HttpRuntimeCacheProvider(cache),
new StaticCacheProvider(),
new HttpRequestCacheProvider(),
new IsolatedRuntimeCache(t => new ObjectCacheRuntimeCacheProvider()))
{
}
[Obsolete("Use the constructor the specifies all dependencies")]
[EditorBrowsable(EditorBrowsableState.Never)]
public CacheHelper(
IRuntimeCacheProvider httpCacheProvider,
ICacheProvider staticCacheProvider,
ICacheProvider requestCacheProvider)
: this(httpCacheProvider, staticCacheProvider, requestCacheProvider, new IsolatedRuntimeCache(t => new ObjectCacheRuntimeCacheProvider()))
{
}
/// <summary>
/// Initializes a new instance based on the provided providers
/// </summary>
/// <param name="httpCacheProvider"></param>
/// <param name="staticCacheProvider"></param>
/// <param name="requestCacheProvider"></param>
/// <param name="isolatedCacheManager"></param>
public CacheHelper(
IRuntimeCacheProvider httpCacheProvider,
ICacheProvider staticCacheProvider,
ICacheProvider requestCacheProvider,
IsolatedRuntimeCache isolatedCacheManager)
{
if (httpCacheProvider == null) throw new ArgumentNullException("httpCacheProvider");
if (staticCacheProvider == null) throw new ArgumentNullException("staticCacheProvider");
if (requestCacheProvider == null) throw new ArgumentNullException("requestCacheProvider");
if (isolatedCacheManager == null) throw new ArgumentNullException("isolatedCacheManager");
RuntimeCache = httpCacheProvider;
StaticCache = staticCacheProvider;
RequestCache = requestCacheProvider;
IsolatedRuntimeCache = isolatedCacheManager;
}
/// <summary>
/// Returns the current Request cache
/// </summary>
public ICacheProvider RequestCache { get; internal set; }
/// <summary>
/// Returns the current Runtime cache
/// </summary>
public ICacheProvider StaticCache { get; internal set; }
/// <summary>
/// Returns the current Runtime cache
/// </summary>
public IRuntimeCacheProvider RuntimeCache { get; internal set; }
/// <summary>
/// Returns the current Isolated Runtime cache manager
/// </summary>
public IsolatedRuntimeCache IsolatedRuntimeCache { get; internal set; }
#region Legacy Runtime/Http Cache accessors
/// <summary>
/// Clears the item in umbraco's runtime cache
/// </summary>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void ClearAllCache()
{
RuntimeCache.ClearAllCache();
IsolatedRuntimeCache.ClearAllCaches();
}
/// <summary>
/// Clears the item in umbraco's runtime cache with the given key
/// </summary>
/// <param name="key">Key</param>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void ClearCacheItem(string key)
{
RuntimeCache.ClearCacheItem(key);
}
/// <summary>
/// Clears all objects in the System.Web.Cache with the System.Type name as the
/// input parameter. (using [object].GetType())
/// </summary>
/// <param name="typeName">The name of the System.Type which should be cleared from cache ex "System.Xml.XmlDocument"</param>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
public void ClearCacheObjectTypes(string typeName)
{
RuntimeCache.ClearCacheObjectTypes(typeName);
}
/// <summary>
/// Clears all objects in the System.Web.Cache with the System.Type specified
/// </summary>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void ClearCacheObjectTypes<T>()
{
RuntimeCache.ClearCacheObjectTypes<T>();
}
/// <summary>
/// Clears all cache items that starts with the key passed.
/// </summary>
/// <param name="keyStartsWith">The start of the key</param>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void ClearCacheByKeySearch(string keyStartsWith)
{
RuntimeCache.ClearCacheByKeySearch(keyStartsWith);
}
/// <summary>
/// Clears all cache items that have a key that matches the regular expression
/// </summary>
/// <param name="regexString"></param>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void ClearCacheByKeyExpression(string regexString)
{
RuntimeCache.ClearCacheByKeyExpression(regexString);
}
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public IEnumerable<T> GetCacheItemsByKeySearch<T>(string keyStartsWith)
{
return RuntimeCache.GetCacheItemsByKeySearch<T>(keyStartsWith);
}
/// <summary>
/// Returns a cache item by key, does not update the cache if it isn't there.
/// </summary>
/// <typeparam name="TT"></typeparam>
/// <param name="cacheKey"></param>
/// <returns></returns>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TT GetCacheItem<TT>(string cacheKey)
{
return RuntimeCache.GetCacheItem<TT>(cacheKey);
}
/// <summary>
/// Gets (and adds if necessary) an item from the cache with all of the default parameters
/// </summary>
/// <typeparam name="TT"></typeparam>
/// <param name="cacheKey"></param>
/// <param name="getCacheItem"></param>
/// <returns></returns>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TT GetCacheItem<TT>(string cacheKey, Func<TT> getCacheItem)
{
return RuntimeCache.GetCacheItem<TT>(cacheKey, getCacheItem);
}
/// <summary>
/// Gets (and adds if necessary) an item from the cache with the specified absolute expiration date (from NOW)
/// </summary>
/// <typeparam name="TT"></typeparam>
/// <param name="cacheKey"></param>
/// <param name="timeout">This will set an absolute expiration from now until the timeout</param>
/// <param name="getCacheItem"></param>
/// <returns></returns>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TT GetCacheItem<TT>(string cacheKey,
TimeSpan timeout, Func<TT> getCacheItem)
{
return RuntimeCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout);
}
/// <summary>
/// Gets (and adds if necessary) an item from the cache with the specified absolute expiration date (from NOW)
/// </summary>
/// <typeparam name="TT"></typeparam>
/// <param name="cacheKey"></param>
/// <param name="refreshAction"></param>
/// <param name="timeout">This will set an absolute expiration from now until the timeout</param>
/// <param name="getCacheItem"></param>
/// <returns></returns>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TT GetCacheItem<TT>(string cacheKey,
CacheItemRemovedCallback refreshAction, TimeSpan timeout,
Func<TT> getCacheItem)
{
return RuntimeCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout, removedCallback: refreshAction);
}
/// <summary>
/// Gets (and adds if necessary) an item from the cache with the specified absolute expiration date (from NOW)
/// </summary>
/// <typeparam name="TT"></typeparam>
/// <param name="cacheKey"></param>
/// <param name="priority"></param>
/// <param name="refreshAction"></param>
/// <param name="timeout">This will set an absolute expiration from now until the timeout</param>
/// <param name="getCacheItem"></param>
/// <returns></returns>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TT GetCacheItem<TT>(string cacheKey,
CacheItemPriority priority, CacheItemRemovedCallback refreshAction, TimeSpan timeout,
Func<TT> getCacheItem)
{
return RuntimeCache.GetCacheItem<TT>(cacheKey, getCacheItem, timeout, false, priority, refreshAction);
}
/// <summary>
/// Gets (and adds if necessary) an item from the cache with the specified absolute expiration date (from NOW)
/// </summary>
/// <typeparam name="TT"></typeparam>
/// <param name="cacheKey"></param>
/// <param name="priority"></param>
/// <param name="refreshAction"></param>
/// <param name="cacheDependency"></param>
/// <param name="timeout">This will set an absolute expiration from now until the timeout</param>
/// <param name="getCacheItem"></param>
/// <returns></returns>
[Obsolete("Do not use this method, we no longer support the caching overloads with references to CacheDependency, use the overloads specifying a file collection instead")]
public TT GetCacheItem<TT>(string cacheKey,
CacheItemPriority priority,
CacheItemRemovedCallback refreshAction,
CacheDependency cacheDependency,
TimeSpan timeout,
Func<TT> getCacheItem)
{
var cache = GetHttpRuntimeCacheProvider(RuntimeCache);
if (cache != null)
{
var result = cache.GetCacheItem(cacheKey, () => getCacheItem(), timeout, false, priority, refreshAction, cacheDependency);
return result == null ? default(TT) : result.TryConvertTo<TT>().Result;
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
}
/// <summary>
/// Gets (and adds if necessary) an item from the cache
/// </summary>
/// <typeparam name="TT"></typeparam>
/// <param name="cacheKey"></param>
/// <param name="priority"></param>
/// <param name="cacheDependency"></param>
/// <param name="getCacheItem"></param>
/// <returns></returns>
[Obsolete("Do not use this method, we no longer support the caching overloads with references to CacheDependency, use the overloads specifying a file collection instead")]
public TT GetCacheItem<TT>(string cacheKey,
CacheItemPriority priority,
CacheDependency cacheDependency,
Func<TT> getCacheItem)
{
var cache = GetHttpRuntimeCacheProvider(RuntimeCache);
if (cache != null)
{
var result = cache.GetCacheItem(cacheKey, () => getCacheItem(), null, false, priority, null, cacheDependency);
return result == null ? default(TT) : result.TryConvertTo<TT>().Result;
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
}
/// <summary>
/// Inserts an item into the cache, if it already exists in the cache it will be replaced
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="cacheKey"></param>
/// <param name="priority"></param>
/// <param name="getCacheItem"></param>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void InsertCacheItem<T>(string cacheKey,
CacheItemPriority priority,
Func<T> getCacheItem)
{
RuntimeCache.InsertCacheItem<T>(cacheKey, getCacheItem, priority: priority);
}
/// <summary>
/// Inserts an item into the cache, if it already exists in the cache it will be replaced
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="cacheKey"></param>
/// <param name="priority"></param>
/// <param name="timeout">This will set an absolute expiration from now until the timeout</param>
/// <param name="getCacheItem"></param>
[Obsolete("Do not use this method, access the runtime cache from the RuntimeCache property")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void InsertCacheItem<T>(string cacheKey,
CacheItemPriority priority,
TimeSpan timeout,
Func<T> getCacheItem)
{
RuntimeCache.InsertCacheItem<T>(cacheKey, getCacheItem, timeout, priority: priority);
}
/// <summary>
/// Inserts an item into the cache, if it already exists in the cache it will be replaced
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="cacheKey"></param>
/// <param name="priority"></param>
/// <param name="cacheDependency"></param>
/// <param name="timeout">This will set an absolute expiration from now until the timeout</param>
/// <param name="getCacheItem"></param>
[Obsolete("Do not use this method, we no longer support the caching overloads with references to CacheDependency, use the overloads specifying a file collection instead")]
public void InsertCacheItem<T>(string cacheKey,
CacheItemPriority priority,
CacheDependency cacheDependency,
TimeSpan timeout,
Func<T> getCacheItem)
{
var cache = GetHttpRuntimeCacheProvider(RuntimeCache);
if (cache != null)
{
cache.InsertCacheItem(cacheKey, () => getCacheItem(), timeout, false, priority, null, cacheDependency);
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
}
/// <summary>
/// Inserts an item into the cache, if it already exists in the cache it will be replaced
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="cacheKey"></param>
/// <param name="priority"></param>
/// <param name="refreshAction"></param>
/// <param name="cacheDependency"></param>
/// <param name="timeout">This will set an absolute expiration from now until the timeout</param>
/// <param name="getCacheItem"></param>
[Obsolete("Do not use this method, we no longer support the caching overloads with references to CacheDependency, use the overloads specifying a file collection instead")]
public void InsertCacheItem<T>(string cacheKey,
CacheItemPriority priority,
CacheItemRemovedCallback refreshAction,
CacheDependency cacheDependency,
TimeSpan? timeout,
Func<T> getCacheItem)
{
var cache = GetHttpRuntimeCacheProvider(RuntimeCache);
if (cache != null)
{
cache.InsertCacheItem(cacheKey, () => getCacheItem(), timeout, false, priority, refreshAction, cacheDependency);
}
throw new InvalidOperationException("Cannot use this obsoleted overload when the current provider is not of type " + typeof(HttpRuntimeCacheProvider));
}
#endregion
private HttpRuntimeCacheProvider GetHttpRuntimeCacheProvider(IRuntimeCacheProvider runtimeCache)
{
HttpRuntimeCacheProvider cache;
var wrapper = RuntimeCache as IRuntimeCacheProviderWrapper;
if (wrapper != null)
{
cache = wrapper.InnerProvider as HttpRuntimeCacheProvider;
}
else
{
cache = RuntimeCache as HttpRuntimeCacheProvider;
}
return cache;
}
}
}

Some files were not shown because too many files have changed in this diff Show More