Compare commits

...

3938 Commits

Author SHA1 Message Date
Lars-Erik Aabech 350f60c056 Grid 2: All current tests pass! \o/ 2018-05-22 10:47:33 +02:00
Lars-Erik Aabech 954b5ac296 Merge branch 'temp8-grid2-extended' into temp8-grid2 2018-05-21 18:31:57 +02:00
Lars-Erik Aabech 12787f0bd2 Grid 2: UniqueIDs on rows and items for events. 2018-05-21 18:30:03 +02:00
Shannon 6cf15f42a8 icon placeholder for controls with no inline view 2018-05-21 16:50:23 +02:00
Shannon b5b971a189 Fixes the editors that load 2018-05-21 16:32:13 +02:00
Lars-Erik Aabech 26a026b17a Extension points for the grid 2018-05-21 15:55:15 +02:00
leekelleher 9054b84c50 Grid2: Amends to the value-converter 2018-05-21 14:36:26 +01:00
Lars-Erik Aabech 5cb5f13d08 Merge branch 'temp8-grid2' of https://github.com/umbraco/Umbraco-CMS into temp8-grid2 2018-05-21 12:54:36 +02:00
Lars-Erik Aabech 89468fce97 Grid 2: Respecting allowed editors by udi 2018-05-21 12:54:04 +02:00
leekelleher a1997291ab Grid2: Switch to using Bootstrap4 grid layout
#opinionated
2018-05-21 11:47:22 +01:00
Lars-Erik Aabech 1f8fae0dd4 Grid 2: Switching for UDI for scaffold 2018-05-21 12:39:48 +02:00
Lars-Erik Aabech 3bd2f766ef Grid 2: Fixed typo in tests 2018-05-21 12:39:48 +02:00
Shannon f8ed341eec Merge branch 'temp8-grid2' of https://github.com/umbraco/Umbraco-CMS into temp8-grid2 2018-05-21 12:39:21 +02:00
Shannon f3b745f5b3 change to udi 2018-05-21 12:39:04 +02:00
Callum Whyte 8d23a9b480 Changing grid editor picker on row settings in prevalue to show doctype details 2018-05-21 11:13:51 +01:00
Shannon c2e89ed955 Grid 2: Refactored grid editor to use new model and property editors w/ @lars-erik 2018-05-21 11:54:13 +02:00
mattbrailsford 782fc26723 A working grid value converter 2018-05-21 10:49:51 +01:00
Callum Whyte 378c2f727c Changing Id to UDI on Grid Content Type to follow convention 2018-05-21 10:33:49 +01:00
Callum Whyte 5c983bce5f Cleanup of Grid Controller 2018-05-21 10:03:47 +01:00
Callum Whyte 4eb18855e9 Merge branch 'temp8-grid2' of https://github.com/umbraco/Umbraco-CMS into temp8-grid2 2018-05-21 10:02:18 +01:00
Callum Whyte 2200839bfa Restricting grid cells to selected available editors 2018-05-21 10:01:36 +01:00
Mads Rasmussen 796cb9c35b Merge branch 'temp8-grid2' of https://github.com/umbraco/Umbraco-CMS into temp8-grid2 2018-05-21 10:49:25 +02:00
Mads Rasmussen ac0d21cb3d load only grid editors in grid editor picker 2018-05-21 10:48:47 +02:00
leekelleher 70951317c5 Grid2: Refactored the GridTemplateExtensions methods
- Put the default property-alias and framework in a local constant
- Removed the obsolete methods
2018-05-21 09:32:28 +01:00
Mads Rasmussen 4270a6c440 add grid editor picker 2018-05-21 10:31:22 +02:00
mattbrailsford 030688f1a2 Fleshed out Grid2 Value Converter (untested) 2018-05-21 08:50:00 +01:00
Callum Whyte b11b2c0a71 Adjusting grid prevalue editor layout for a better user experience 2018-05-21 08:46:06 +01:00
Callum Whyte 7680ce4ef1 Fixing issue with storing content type UDIs for allowed types in Grid v2 prevalue editor 2018-05-21 08:41:41 +01:00
leekelleher ab872b7ca4 Grid2: Refactored the GetGridHtml methods
The entry point for the "Grid" partial-view folder was defined in multiple places,
now they all ultimately go through a single entry point, (the `GetGridHtml` with HtmlHelper, IPublishedProperty and framework)
Easier to maintain if/when the partial-view path changes.
2018-05-20 18:03:20 +01:00
leekelleher 8533210761 Grid2: Refactored the partial-view templates 2018-05-20 17:42:56 +01:00
leekelleher 673575594d Grid2: More work on the the partial-view templates 2018-05-20 17:42:56 +01:00
leekelleher 4702bdab33 Grid2: Reverted GridValue amends, as this is used specifically for Grid v1 with Deploy. 2018-05-20 17:42:56 +01:00
leekelleher ab08f1fc06 Grid2: Made a start with strongly-typed partial-view templates
Copied over the partial-views from the "Grid" folder (renamed to "Grid2")
2018-05-20 17:42:56 +01:00
Lars-Erik Aabech 6b29bbc9e7 Simple grid 2 tests pass. 2018-05-20 18:42:09 +02:00
Lars-Erik Aabech 80f92311dc Stubbed gridresource w/scaffold 2018-05-20 18:25:08 +02:00
Callum Whyte c1723cbda6 Merge branch 'temp8-grid2' of https://github.com/umbraco/Umbraco-CMS into temp8-grid2 2018-05-20 17:24:11 +01:00
Callum Whyte 5ee0311371 Updating grid v2 prevalue editor config to use doctypes 2018-05-20 17:23:12 +01:00
Callum Whyte d6c7ba03e6 Changing grid v2 row config editor to use correct namespaces 2018-05-20 17:21:23 +01:00
Callum Whyte 32ecf932a6 Changing Grid content types to use UDIs 2018-05-20 17:16:49 +01:00
Lars-Erik Aabech 26d16e3897 Mapping in the controller 2018-05-20 18:14:31 +02:00
Lars-Erik Aabech ab0074e07c Added *.log to gitignore 2018-05-20 18:11:29 +02:00
Lars-Erik Aabech 71c8e20a79 Merge branch 'temp8-grid2' of https://github.com/umbraco/Umbraco-CMS into temp8-grid2 2018-05-20 18:10:33 +02:00
Lars-Erik Aabech 58bd7e8453 Modifying models in the tests 2018-05-20 18:10:14 +02:00
Shannon d57c168f82 Merge branch 'temp8-grid2' of https://github.com/umbraco/Umbraco-CMS into temp8-grid2 2018-05-20 18:09:09 +02:00
Shannon 4a5a7068bc Allows rendering property editors inside the grid 2018-05-20 18:08:59 +02:00
Lars-Erik Aabech d34649ab1a Mapping from grid view model to persistable model (in spec for now) 2018-05-20 17:44:25 +02:00
mattbrailsford 24407ead18 Merge remote-tracking branch 'origin/temp8-grid2' into temp8-grid2 2018-05-20 16:39:58 +01:00
mattbrailsford ad4f0cf9d1 Merge remote-tracking branch 'origin/temp8-grid2' into temp8-grid2
# Conflicts:
#	src/Umbraco.Core/PropertyEditors/ValueConverters/Grid2ValueConverter.cs
#	src/Umbraco.Core/Umbraco.Core.csproj
2018-05-20 16:38:43 +01:00
mattbrailsford f5efb7609a Added todo reminders 2018-05-20 16:29:20 +01:00
mattbrailsford ab82d3b053 Added Grid2Value model 2018-05-20 16:23:15 +01:00
Mads Rasmussen 36e0673c83 set row name and alias through editor header 2018-05-20 16:48:32 +02:00
Mads Rasmussen 9d27e7386e convert row configuration dialog into an infinite editor 2018-05-20 16:29:23 +02:00
Lars-Erik Aabech 8502e10900 changed schema for grid data in spec to what we're aiming at 2018-05-20 16:14:22 +02:00
Lars-Erik Aabech 0a701d0c64 Tests adding editors to cells 2018-05-20 16:14:22 +02:00
Lars-Erik Aabech ceaa15aa82 Tests adding default layout and row. 2018-05-20 16:14:22 +02:00
Lars-Erik Aabech 2445e0cbcb Grid controller initial test 2018-05-20 16:14:22 +02:00
Shannon 5a5ad350d6 oops 2018-05-20 15:57:58 +02:00
Shannon 40e986d5dc Adds grid.resource 2018-05-20 15:56:40 +02:00
Shannon c81b68e9a8 Merge branch 'temp8-grid2' of https://github.com/umbraco/Umbraco-CMS into temp8-grid2 2018-05-20 15:43:18 +02:00
Shannon 8e9f1bc949 Updates controller to check for special inline.html views for property editors 2018-05-20 15:43:09 +02:00
leekelleher e8b7ffd6f5 Grid2: initial commit for the strongly-typed model - value converter 2018-05-20 14:26:54 +01:00
Callum Whyte b12eecfb1d Refactoring out legacy grid default config and RTE styles 2018-05-20 14:25:05 +01:00
Callum Whyte 06ca34f434 Removing RTE settings from grid v2 prevalue editor 2018-05-20 14:09:26 +01:00
Mads Rasmussen 5880b1b612 Merge branch 'temp8-grid2' of https://github.com/umbraco/Umbraco-CMS into temp8-grid2 2018-05-20 15:00:14 +02:00
Mads Rasmussen 12fc88aca9 load correct views and controller for grid2 2018-05-20 14:59:45 +02:00
Shannon e56db8baa4 Merge branch 'temp8-grid2' of https://github.com/umbraco/Umbraco-CMS into temp8-grid2 2018-05-20 14:50:54 +02:00
Shannon c7aae533ad Creates c# controller for getting grid cell scaffold and meta data 2018-05-20 14:47:20 +02:00
Mads Rasmussen acaa062b7d remove config of layouts 2018-05-20 12:41:07 +02:00
Shannon f9928906fa changes pre value path 2018-05-20 12:34:22 +02:00
Callum Whyte d3719122ce Merge branch 'temp8-grid2' of https://github.com/umbraco/Umbraco-CMS into temp8-grid2 2018-05-20 11:19:51 +01:00
Mads Rasmussen 1e3fbf4e2f Merge 2018-05-20 12:16:50 +02:00
Shannon fc8130987c fixes view path 2018-05-20 12:15:41 +02:00
Shannon f3dc8f592b removes grid editor files 2018-05-20 12:14:20 +02:00
Shannon 8fda46f0ad Deprecates old grid editor 2018-05-20 12:12:18 +02:00
Mads Rasmussen 8d3c9caafb add one layout by default 2018-05-20 12:09:55 +02:00
Callum Whyte 23031a64d1 Fixing issue with serialising Grid Configuration 2018-05-20 11:09:54 +01:00
Shannon 37b27f5e73 copies new grid editor 2018-05-20 12:02:11 +02:00
Stephan 129e094b09 Fix Umbraco.Web.UI references 2018-05-18 15:24:12 +02:00
Mads Rasmussen c3c24eba4f Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-05-18 12:33:16 +02:00
Mads Rasmussen 145858a302 hide culture dropdown in culture and hostnames dialog 2018-05-18 11:07:54 +02:00
Stephan c13e3ec220 Version 8.0.0-alpha.37 2018-05-18 09:39:02 +02:00
Stephan 6ce24bf1a1 Various fixes 2018-05-17 17:24:30 +02:00
Stephan 6c61eb2d69 Fix tests 2018-05-17 16:34:11 +02:00
Stephan 76bf84f8ea Forgot to update binding redirects 2018-05-17 16:34:05 +02:00
Stephan a8ba8598f2 Merge branch origin/temp8 into temp8-xbuild 2018-05-17 15:34:27 +02:00
Stephan 6e7bb41190 Version 8.0.0-alpha.36 2018-05-17 15:33:38 +02:00
Stephan 7387379aea Upgrade to ModelsBuilder -alpha.18 2018-05-17 15:32:27 +02:00
Shannon 50659787ee fixes published content Url for invariant 2018-05-17 15:26:06 +02:00
Shannon 3da120ce33 Adds Property Type to the published content model, fixes some web.config versions 2018-05-17 13:32:20 +02:00
Stephan de9f4f8d0b Cleanup references and dependencies 2018-05-17 13:19:35 +02:00
Stephan 20ecb6a779 Merge branch origin/temp8 into temp8-xbuild 2018-05-17 13:04:57 +02:00
Stephan 40f2558a70 Cleanup 2018-05-17 13:03:37 +02:00
Stephan f44c5ad757 Cleanup nuget, bindings, build 2018-05-17 12:17:42 +02:00
Shannon 1cf63bd471 missing checkin of package-lock 2018-05-17 11:29:21 +02:00
Shannon 07a263b794 Fixes validation check for variant nodes that don't have names assigned 2018-05-17 10:28:38 +02:00
Claus c2236b7b97 Merge pull request #2632 from umbraco/temp-U4-11218
Merge infinite editing UI branch to temp8
2018-05-17 09:16:01 +02:00
Claus 9e3db051c9 Merge remote-tracking branch 'origin/temp8' into temp-U4-11218
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/insertmacro.html
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/linkpicker.html
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.html
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/rteembed.html
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/user.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/googlemaps/googlemaps.html
#	src/Umbraco.Web.UI/web.Template.config
2018-05-17 08:26:02 +02:00
Claus 70d1bed396 Merge branch 'temp8' into temp-U4-11218 2018-05-17 08:16:17 +02:00
Stephan a6ea270d93 Cleanup build 2018-05-16 21:52:40 +02:00
Stephan a39a9b7a89 Cleanup nuspec 2018-05-16 16:02:51 +02:00
Stephan 8c815cf47e Git-ignore local directory 2018-05-16 15:54:08 +02:00
Stephan 2b7966dc55 Depend on Umbraco.SqlServerCE, package in net47 2018-05-16 15:54:07 +02:00
Stephan fe1a4f7d4f Depend on Umbraco.SqlServerCE 2018-05-16 15:54:07 +02:00
Stephan 9b17468c43 Cleanup solution 2018-05-16 15:53:22 +02:00
Stephan 6bedc1020b Cleanup solution and build wip 2018-05-16 15:46:51 +02:00
Stephan fc56126820 Cleanup Solution 2018-05-16 15:46:51 +02:00
Shannon c6fa0e560a Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-05-16 15:21:35 +02:00
Shannon 34de58e0dc adjust assembly redirects 2018-05-16 15:21:23 +02:00
Shannon Deminick 056bcaff96 adds notes on what to work on 2018-05-16 13:51:59 +02:00
Shannon Deminick f38df3753c Adds quick start v8 link 2018-05-16 13:35:52 +02:00
Shannon Deminick 7fd78aaf2e adds link to quick start guide 2018-05-16 13:29:38 +02:00
Shannon Deminick 9bba6f4b9b adding get started guide for v8 2018-05-16 13:21:29 +02:00
Shannon Deminick 5128c23413 cross link to v7 branch 2018-05-16 12:57:13 +02:00
Shannon b565b8be77 disables redirect tracking for now until we fix it to work with variants 2018-05-16 11:25:57 +02:00
Shannon Deminick 2e2e76c92a Merge pull request #2624 from umbraco/temp-U4-11327
fixes: U4-11327 Remove styles for umb-era-button and use umb-button c…
2018-05-16 18:51:12 +10:00
Shannon 1bc3fdd07c Fixes package tree references 2018-05-16 10:49:43 +02:00
Shannon c1e0b86554 Merge branch 'temp8' into temp-U4-11327 2018-05-16 10:39:51 +02:00
Shannon bf7591aaa0 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-05-16 10:33:57 +02:00
Shannon 6c5abf14bd Removes legacy dialog client files 2018-05-16 10:33:46 +02:00
Claus 8044ccbf27 adding missing null check after navigating to parent. 2018-05-16 10:17:38 +02:00
Shannon 95c6de5534 Merge branch 'temp8' of https://github.com/umbraco/Umbraco-CMS into temp8 2018-05-16 10:15:57 +02:00
Stephan 2c124e87dd Merge pull request #2630 from umbraco/temp8-dependency-fixing
Temp8 dependency fixing
2018-05-16 10:15:45 +02:00
Shannon c655873b7d Cleanup canvas designer files, no more dotless dependency, cleans up preview, removes bloat 2018-05-16 10:13:55 +02:00
Shannon ea6c466323 Fixes up some warnings 2018-05-16 10:06:51 +02:00
MADSRASMUSSB4A1\madsrasmussen 6e647d87fa Merge branch 'temp8' into temp-U4-11218
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/controllers/main.controller.js
#	src/Umbraco.Web.UI/umbraco/Views/Default.cshtml
2018-05-16 09:51:26 +02:00
Shannon 07e7068c22 removed too many assembly bindings 2018-05-15 18:07:48 +02:00
Shannon 971114e0fd Updates to 472 and re-targets to the original System.Threading.Tasks.Dataflow package against netstandard 1.3 but with 472 this completely fixes dependency outputs 2018-05-15 17:17:05 +02:00
Shannon 03977c4806 removed too much 2018-05-15 17:13:24 +02:00
Shannon 842d5049b5 Fixing dependencies so we aren't relying so much on netstandard 1.3 libs which require system runtime facade's 2018-05-15 17:02:06 +02:00
Shannon Deminick e4d1415627 Merge pull request #2621 from umbraco/temp8-U4-11282
U4-11282 - Publishing, unpublishing, saving drafts, for variant, non variant content types and property types
2018-05-15 20:29:10 +10:00
Mads Rasmussen 5dad26cb92 fixes: U4-11327 Remove styles for umb-era-button and use umb-button component instead 2018-05-11 11:59:32 +02:00
Mads Rasmussen 491ce00c17 remove console.log from unit test 2018-05-11 10:36:36 +02:00
Mads Rasmussen b7c7e8e84b make right side overlays go all the way to the top 2018-05-11 10:11:26 +02:00
Mads Rasmussen 095704d297 removing unnecessary print of number of open overlays 2018-05-11 10:05:57 +02:00
Shannon 09d03161ce fixes test 2018-05-11 00:09:31 +10:00
Shannon aa4dc64a57 Fixes ContentCache.GetRouteByIdInternal to ensure that no route is returned for any variant in the path of an unpublished variant of the same culture 2018-05-10 23:07:33 +10:00
Shannon d78fa85307 null check fix 2018-05-10 22:40:32 +10:00
Shannon 0ee056aafc null check fix 2018-05-10 22:38:10 +10:00
Shannon 68f0a64136 Fixes auth with AllowsCultureVariation and LanguageController post methods, fixes merge issues with navigation.controller 2018-05-10 19:16:46 +10:00
Warren Buckley f9f108ef33 Merge pull request #2620 from umbraco/temp-U4-11309
Temp u4 11309
2018-05-10 10:00:17 +01:00
Shannon 573b8a0701 Merge remote-tracking branch 'origin/temp8' into temp8-U4-11282
# Conflicts:
#	src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs
#	src/Umbraco.Web.UI.Client/src/controllers/navigation.controller.js
2018-05-10 18:55:39 +10:00
Shannon 4ce6f5c3b0 Fixes how the name is ensured on the content tree so that the media tree doesn't break. 2018-05-10 18:20:33 +10:00
Shannon f2b78c06ef FIxes issue where an invariant property type was being validated with a culture when that would always fail. Fixes issue when saving a content type to ensure that a property type is never both variant and invariant. Adds test. 2018-05-10 18:01:41 +10:00
Mads Rasmussen d27594d4af Update picked nodes which has been updated through the media picker 2018-05-09 16:19:54 +02:00
Mads Rasmussen 7239ce97aa only allow users to add and edit media if they have access to the media section 2018-05-09 11:09:26 +02:00
Mads Rasmussen 18b7581879 only parse in the media id for the infinite media editor 2018-05-09 09:46:15 +02:00
Mads Rasmussen 8535ff1d01 update media items in media picker if they are changed in the infinite media editor 2018-05-09 09:35:11 +02:00
Mads Rasmussen 4f366bbdda prepare media editor to support infinite mode 2018-05-09 09:34:11 +02:00
Mads Rasmussen 86c554e3d3 add option to prevent redirect of succesfull saves to new route 2018-05-09 09:20:23 +02:00
Mads Rasmussen d97d1c427e fixes some js errors in editor service 2018-05-09 09:18:45 +02:00
Mads Rasmussen 600979d129 Merge branch 'temp8' into temp-U4-11218 2018-05-09 08:51:34 +02:00
Shannon 8be861809a fixes filter 2018-05-09 15:52:06 +10:00
Shannon 8642a52a12 Fixes property model binding to display to show the invariant data if the property is non variant 2018-05-09 14:35:23 +10:00
Shannon d90ccbb7f0 no matter what you can always publish the current variant 2018-05-09 14:34:55 +10:00
Shannon 9c1451ecd3 Fixes LanguageRepository for deleting a lang, updates UrlProvider to have consistent method parameter order, updates UmbracoHelper to have culture params for getting URLs 2018-05-09 12:50:34 +10:00
Stephan c890421f55 Fix mixed properties (wip) 2018-05-08 17:09:26 +02:00
Stephan 6d1f42c9b6 Fixes 2018-05-08 16:41:37 +02:00
Stephan b1faade9b0 Revert various changes 2018-05-08 16:41:30 +02:00
Warren Buckley 5bc229801b Merge pull request #2618 from umbraco/temp8-U4-11284-2
Removes vertical and horizontal scroll bars on content tree language …
2018-05-08 12:20:22 +01:00
Robert f3e509ad55 Removes vertical and horizontal scroll bars on content tree language picker, updates languageCreated and languageDeleted event listeners to check for variant doctypes before populating the language list 2018-05-08 12:13:42 +02:00
Warren Buckley 9e8239f05b Merge pull request #2612 from umbraco/temp8-U4-11284
Fixes - U4-11284 When you don't have any doc types that are variant, the tree language drop downs should not be there
2018-05-08 10:28:54 +01:00
Stephan 6051891280 Fixes 2018-05-08 11:06:07 +02:00
Robert 70e4ea5502 Moved authenticated flag back to "app.ready" listener 2018-05-08 10:46:09 +02:00
Robert 216aaec7f2 Removed unneeded test 2018-05-08 10:00:28 +02:00
Robert db160cdc85 Merge pull request #2617 from umbraco/temp8-U4-11306
fixes: U4-11306 Add load indicators in doc type infinite editors
2018-05-08 09:00:02 +02:00
Claus d1191c0693 temporarily removing the packages tree - known issue it's not working. 2018-05-08 08:49:09 +02:00
Claus 9ac7df82ad fixing typo in packages tree. 2018-05-08 08:46:48 +02:00
Shannon 389fb100bb 'fixes' an issue where you can get any property value back due to the incorrect cache key being used 2018-05-08 16:01:20 +10:00
Shannon 7728dfa853 Ensures that the PublishedContent culture dictionary is CultureInvariantIgnoreCase and fixes the publish dialog to allow publishing the current culture if the user has edited it 2018-05-08 13:50:39 +10:00
Shannon 177bba5e73 REmoves null checks on PropertyData since this causes exceptions when creating this object and deserializing to this object 2018-05-08 13:03:19 +10:00
Shannon ee9f150483 Removes the AdditionalData properties for EntitySlim and moves them to real properties of IDocumentEntitySlim, renames PublishedCultureInfos to not be plural 2018-05-08 12:43:07 +10:00
Shannon 85c739aed4 Merge branch 'temp8-U4-11227' into temp8-U4-11282
# Conflicts:
#	src/Umbraco.Core/Models/ContentBase.cs
#	src/Umbraco.Core/Persistence/Repositories/Implement/EntityRepository.cs
#	src/Umbraco.Tests/Services/EntityServiceTests.cs
#	src/Umbraco.Web/PublishedCache/NuCache/ContentCache.cs
#	src/Umbraco.Web/PublishedContentExtensions.cs
#	src/Umbraco.Web/Trees/ContentTreeControllerBase.cs
2018-05-08 12:31:03 +10:00
Shannon 0e19ec7495 Fixes logic for determining if a domain is published and fixes logic for getting a url name for a variant taking into account it's published status 2018-05-08 11:21:14 +10:00
Shannon 6e61450788 Merge remote-tracking branch 'origin/temp8' into temp8-U4-11282 2018-05-08 10:36:53 +10:00
Mads Rasmussen 736190f93c rename class on dropdown property editor 2018-05-07 21:40:27 +02:00
Mads Rasmussen 02f95053b8 fixes: U4-11306 Add load indicators in doc type infinite editors 2018-05-07 21:14:35 +02:00
Stephan 3f73452bc7 Various fixes, and U4-11287 2018-05-07 18:51:18 +02:00
Stephan 5247a9d143 Merge branch temp8 into temp8-U4-11227 2018-05-07 18:27:30 +02:00
Stephan 912d89cdb3 Fix DomainHelper 2018-05-07 18:24:56 +02:00
Robert 1a82f93722 Fixes email property editor pre-value 2018-05-07 17:59:43 +02:00
Shannon 8a5ca2c4b4 Fixes being able to edit invariant content 2018-05-08 01:16:32 +10:00
Shannon b1eeb5b193 Merge remote-tracking branch 'origin/temp8' into temp8-U4-11282 2018-05-08 00:39:12 +10:00
Shannon 97cb752cda Ensures the whole doc gets unpublished if a mandatory culture is unpublished, updates content service Unpublish to have it's own status result enum since that is needed. 2018-05-08 00:37:41 +10:00
Shannon 5a991c9424 Fixes Publishing/Unpublishing variants and it's nuances 2018-05-07 23:22:52 +10:00
Robert ff505531c2 Merge pull request #2614 from umbraco/temp8-U4-11283
fixes - U4-11283 Cannot save content when a doc type is variant but a property type is invariant
2018-05-07 13:18:15 +02:00
Robert 1b2a964001 Fixed localization 2018-05-07 12:08:59 +02:00
Mads Rasmussen 1d5751a1e5 Merge branch 'temp8' into temp-U4-11218
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js
#	src/Umbraco.Web.UI.Client/src/common/directives/components/umbgroupsbuilder.directive.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/contenttypeeditor/propertysettings/propertysettings.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/contenttypeeditor/propertysettings/propertysettings.html
#	src/Umbraco.Web.UI.Client/src/views/content/edit.html
2018-05-07 11:25:38 +02:00
Robert b8c5a389d2 Merge pull request #2613 from umbraco/temp8-U4-11223
Temp8 u4 11223
2018-05-07 09:58:29 +02:00
Stephan 5d37df182a Fix tests 2018-05-07 09:36:51 +02:00
Stephan d13a6f5f58 Fixes 2018-05-07 08:26:10 +02:00
Stephan aa35b28349 Cleanup 2018-05-07 08:25:09 +02:00
Stephan 6104dcafd5 Merge branch 'temp8' into temp8-U4-11227 2018-05-07 08:21:58 +02:00
Stephan 71ed99f080 Fix some tests 2018-05-05 10:46:52 +02:00
Stephan bb0f6fe0e3 Cleanup benchmarks SqlCE nuget dependency 2018-05-05 10:02:04 +02:00
Stephan 73b5694aad Fix web.config transform 2018-05-04 18:35:01 +02:00
Mads Rasmussen 63d7768653 add bg box to code editors 2018-05-04 18:32:35 +02:00
Mads Rasmussen ed0886b040 add bg box to user details sidebar 2018-05-04 18:21:58 +02:00
Mads Rasmussen 9474c78de8 add bg boxes to content type editors 2018-05-04 18:21:04 +02:00
Stephan 8388eca503 Fix agressive cleanup 2018-05-04 15:00:10 +02:00
Robert cc7febcc6d Allows variant content item to save while having a invariant property, also fixes not being able to save invariant content item with invariant property 2018-05-04 13:51:35 +02:00
Robert c5de31cce3 Invariant property value should persist trough all variants of a content item 2018-05-04 13:44:04 +02:00
Robert 48c70604a9 Added localization for "Ready to publish?" publish overlay, added previously removed property which was still in use. 2018-05-04 13:42:33 +02:00
Mads Rasmussen 650441b1f6 don't add shadow to the default editor 2018-05-04 11:25:19 +02:00
Shannon 7a92691bf5 ok the routing is working, for realz this time 2018-05-04 16:07:05 +10:00
Shannon 506365b8ff OK, finally got the query string problem resolved 2018-05-04 13:17:56 +10:00
Mads Rasmussen a5bbf3d832 add will-change css property to prepare browser for the animations 2018-05-03 20:04:34 +02:00
Mads Rasmussen 101d92ca2d speed up animation 2018-05-03 20:03:05 +02:00
Shannon 912711bfa0 Fixing tree, navs, initializing, sequence of events, oh my. The init logic is much more stable but we have issues with tracking the mculture query string 2018-05-04 00:58:18 +10:00
Mads Rasmussen 677bf71a94 make icon picker as infinite editor 2018-05-03 16:11:32 +02:00
Stephan b35d28c568 Merge branch temp8 into temp8-U4-11227 2018-05-03 15:12:42 +02:00
Stephan 3495331005 Cleanup, get rid of warnings 2018-05-03 15:11:57 +02:00
Stephan bcf46eceb6 Cleanup, get rid of warnings 2018-05-03 15:11:52 +02:00
Stephan d04a573888 Refactor some locks, get rid of warnings 2018-05-03 15:11:41 +02:00
Stephan 41144bb7f7 Fix references and build 2018-05-03 15:11:33 +02:00
Stephan 5798d8e57b Enable src/preserve.belle to stop rebuilding Belle all the time 2018-05-03 15:11:25 +02:00
Mads Rasmussen e2478e5cd4 move new editors to infinite editor folder 2018-05-03 14:43:22 +02:00
Mads Rasmussen c4027898cb fix validation in property settings dialog 2018-05-03 14:21:43 +02:00
Mads Rasmussen 2704111497 move indent value to a variable 2018-05-03 13:44:07 +02:00
Robert 8a9caad23d Small fix to editors that had no config values defined. 2018-05-03 13:14:19 +02:00
Mads Rasmussen 1fc0b32fc2 submit property settings editor on enter 2018-05-03 10:55:27 +02:00
Mads Rasmussen 11a4040da7 remove unused umb-overlay component 2018-05-03 10:54:51 +02:00
Robert b5ec775833 Removed duplicate code and fixed bug where dropdown would not go away when there were no document types that allowed variations 2018-05-03 10:35:23 +02:00
Mads Rasmussen 329f90922c remove old content type overlays 2018-05-03 10:30:06 +02:00
Mads Rasmussen 4eca4ac291 use infinite editing in content type editors instead of overlays 2018-05-03 10:19:14 +02:00
Robert f447294c0b Adds new end point that returns true/false if current document types allows variations, display language dropdown if current content types allow variations. 2018-05-03 10:18:08 +02:00
Shannon 46c7290e4f Fixes JS tests 2018-05-03 15:16:23 +10:00
Shannon c33bdf1f27 Revert "Reverts change from merge in U4-11289 aka PR#2608 from Shan - that causes the Karma unit JS tests to fail - not sure why the chained version fails though & thus the Powershell ZIP & Nuget build output script"
This reverts commit 2246e5bc2f.
2018-05-03 14:40:56 +10:00
Stephan a545c3c333 Fix 2018-05-02 18:15:22 +02:00
Stephan aaa1ac0700 Merge branch temp8 into temp8-U4-11227 2018-05-02 17:50:58 +02:00
Stephan 93adda2e4a Cleanup 2018-05-02 17:44:14 +02:00
Stephan 5c96b32c64 Fix tests 2018-05-02 16:23:58 +02:00
Warren 2246e5bc2f Reverts change from merge in U4-11289 aka PR#2608 from Shan - that causes the Karma unit JS tests to fail - not sure why the chained version fails though & thus the Powershell ZIP & Nuget build output script 2018-05-02 14:03:00 +01:00
Stephan a5f1ad6da1 Merge branch temp8 into temp8-U4-11227 2018-05-02 13:43:12 +02:00
Stephan d56af5872d Implement basic fallback plumbing (in progress) 2018-05-02 13:38:45 +02:00
Sebastiaan Janssen a4cc67f732 Make NuGet package install work 2018-05-02 12:35:10 +02:00
Robert 64d467e071 Merge pull request #2608 from umbraco/temp8-U4-11289
U4-11289 Tracking the currently selected language in the main tree
2018-05-02 12:10:02 +02:00
Warren Buckley 394e7f3d6d Merge pull request #2609 from umbraco/temp8-U4-11173
Fixes - U4-11173 Update the publish dialog list to only show languages that have pending changes
2018-05-02 09:39:08 +01:00
Stephan 211267d500 Deal with FIXMEs 2018-05-02 09:31:30 +02:00
Stephan a695b8aed5 Test host-less domains 2018-05-02 08:55:21 +02:00
Shannon 6fe9c4d4df Fixes the null PublishName problem, ensures the quey strings are not replaced when selecting a doc type 2018-05-02 15:35:26 +10:00
Shannon 9843f3a5fd Ensures that domains assigned to non-published nodes are filtered when routing, ensures caches are cleared when content is deleted or langauges are changed, updates logic for dealing with null invariant content names, adds more validation for saving cultre variants. 2018-05-02 14:52:00 +10:00
Shannon efc56c015f Merge remote-tracking branch 'origin/temp8' into temp8-U4-11289 2018-05-02 13:22:32 +10:00
Shannon Deminick 638b6e9cdc Merge pull request #2607 from umbraco/temp8-U4-11291
U4-11291 Paging in the IContentService needs to work with variant data - for both names and property values
2018-05-02 13:22:07 +10:00
Shannon fb759e3923 Merge remote-tracking branch 'origin/temp8' into temp8-U4-11289 2018-05-02 13:11:19 +10:00
Mads Rasmussen c308b081a1 start on docs for editorService 2018-05-01 20:21:48 +02:00
Mads Rasmussen 6c77313a82 remove background color on modal footer 2018-05-01 17:12:40 +02:00
Mads Rasmussen 7c42d29eb0 remove margin on actions 2018-05-01 17:11:54 +02:00
Robert 106955f6c3 Adds localization keys for some text, removed duplicate loading indicator 2018-05-01 16:41:36 +02:00
Mads Rasmussen e3754fb62f remove indentation code from the editorService 2018-05-01 15:33:14 +02:00
Mads Rasmussen db2d75c3f5 temp remove animations 2018-05-01 15:31:03 +02:00
Robert adfc8769e6 Adding missing service injection which broke discard changes dialog 2018-05-01 13:16:13 +02:00
Stephan 6548154261 Fixes 2018-05-01 12:45:07 +02:00
Robert 630212f66f remove console log 2018-05-01 12:06:43 +02:00
Robert a4b5e08a73 Simplified the way we mark variants as drafts trough localization keys, show published languages in the overlay instead of hiding them 2018-05-01 12:03:34 +02:00
Shannon be4ea93d12 U4-11289 Tracking the currently selected language in the main tree 2018-05-01 18:17:07 +10:00
Warren 8f11edc17a Fix up csproj to remove reference to file that's been removed in cleanup - umbraco/developer/packages/installer.aspx 2018-05-01 09:12:07 +01:00
Robert fc860d5061 Merge branch 'temp8' into temp8-U4-11173 2018-05-01 08:27:45 +02:00
Robert 03c574a97c Merge pull request #2605 from umbraco/temp8-U4-11290
U4-11290 - Disables Open in List View link from variant/language switcher in node name
2018-05-01 08:11:54 +02:00
Shannon f407c3b2b3 Updates test to test for variant doc type with invariant property types 2018-05-01 13:43:27 +10:00
Shannon 39f9449dc7 Adds overloads for content ctors to pass in culture so we can more easily set the name in the API nicely, adds a unit test for paging queries with variant data. 2018-05-01 13:30:25 +10:00
Shannon 171a82e233 Adds more description to CustomRouteUrlProvider 2018-05-01 12:23:09 +10:00
Shannon 459479a7b8 Refactors how macros are stored in the DB 2018-05-01 12:12:26 +10:00
Shannon 1bdf064437 Removes the DistributedCall section along with CacheRefresher and the ConfigServerRegistrar, changes IServerMessenger to not have any servers parameters since we don't use that. 2018-05-01 10:39:04 +10:00
Stephan 92b9184706 Swap order of IContentBase.SetName parameters 2018-04-30 22:05:07 +02:00
Stephan ff7c74ec8a Rename accessors 2018-04-30 21:29:49 +02:00
Stephan dbf310caf1 Now use empty string for invariant in published 2018-04-30 21:03:43 +02:00
Shannon 2afd257838 more cleanup of unused files 2018-05-01 01:55:40 +10:00
Shannon 19edfdb2a4 Removes unused and obsoleted code 2018-05-01 01:30:36 +10:00
Shannon 6faa2ff177 Removes unused and obsoleted code 2018-05-01 01:27:25 +10:00
Shannon c8d2ea141b Removes more xslt, more very old code and configurations that aren't used anymore 2018-05-01 01:15:43 +10:00
Shannon 310a31b03e More xslt removal and other file cleanup 2018-05-01 01:01:24 +10:00
Shannon 0a18306d40 More xslt removal 2018-05-01 00:45:05 +10:00
Shannon 0a5db8f97b Fixes up macros and file trees 2018-05-01 00:35:49 +10:00
Robert a4b24bf198 Content language picker now contains (if needed) Draft state to be consistent with the Publish dialog 2018-04-30 16:23:32 +02:00
Robert 92d88d5a4c Publish dialog should show only variants in Draft state 2018-04-30 16:18:35 +02:00
Shannon 6db5ebf6f9 More xslt removal 2018-05-01 00:15:05 +10:00
Robert a7f9628b48 Updated ContentItemDisplay model to contain IsEdited property 2018-04-30 16:06:53 +02:00
Shannon 9a2797303b cleaning up files 2018-04-30 23:30:08 +10:00
Shannon 51d608125d updates editor config file with vs specific rules 2018-04-30 23:29:44 +10:00
Shannon 890b5f30a1 Merge remote-tracking branch 'origin/dev-v7' into temp8
# Conflicts:
#	src/Umbraco.Core/Configuration/UmbracoSettings/IRepositoriesSection.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/IRepository.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/RepositoriesCollection.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/RepositoriesElement.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/RepositoryConfigExtensions.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/RepositoryElement.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/UmbracoSettingsSection.cs
#	src/Umbraco.Core/Services/PackagingService.cs
#	src/Umbraco.Tests/Configurations/UmbracoSettings/PackageRepositoriesElementDefaultTests.cs
#	src/Umbraco.Tests/Configurations/UmbracoSettings/PackageRepositoriesElementTests.cs
#	src/Umbraco.Tests/Plugins/PluginManagerTests.cs
#	src/Umbraco.Web.UI.Client/lib/umbraco/Extensions.js
#	src/Umbraco.Web.UI/config/umbracoSettings.config
#	src/Umbraco.Web.UI/umbraco/developer/Packages/installer.aspx
#	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadPackager.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadPackages.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/developer/Packages/installer.aspx.cs
#	src/umbraco.cms/umbraco.cms.csproj
2018-04-30 23:25:07 +10:00
Stephan 038fc87a40 Cleanup, fix tests 2018-04-30 15:11:01 +02:00
Warren 954098eb7e Comments out & leaves comment about removing the open in split view link (otherwise we will forget) 2018-04-30 13:52:05 +01:00
Stephan bcd0c95ec1 Refactor getting urls 2018-04-30 09:14:14 +02:00
Stephan 7dd1efb29f Refactor content culture & variations 2018-04-30 09:14:14 +02:00
Stephan 6959e595f5 IPublishedContent.UrlSegment 2018-04-30 09:14:14 +02:00
Stephan ce8775b3e7 Cleanup IPublishedContent 2018-04-30 09:14:13 +02:00
Stephan 27390afe86 All tests green 2018-04-30 09:13:21 +02:00
Stephan 923fdf9199 ISystemDefaultCultureAccessor 2018-04-30 09:13:21 +02:00
Stephan 908589277a U4-11227 - default variations and fallback (wip) 2018-04-30 09:13:21 +02:00
Stephan 8873fa9dd4 Merge pull request #2600 from umbraco/temp8-U4-11220
U4-11220 Implement routing for variants
2018-04-30 09:04:33 +02:00
Shannon a26d7747b6 removes commented out code 2018-04-30 15:51:05 +10:00
Shannon 1a99d0e4d0 Merge remote-tracking branch 'origin/patch-v7' into dev-v7 2018-04-30 15:27:27 +10:00
Shannon Deminick da0fe5e5a3 Merge pull request #2602 from ProNotion/issues/U4-8516
Fixes U4-8516 Copied node now sets the current user as the creator of the new node.
2018-04-30 15:25:07 +10:00
Stephan 8f13fa3ae5 ISystemDefaultCultureProvider 2018-04-27 18:21:06 +02:00
Stephan aa46e1e282 Test nullref on NPocoSqlExtensions 2018-04-27 17:54:49 +02:00
Stephan dbf1b1e0d4 Refactor DomainHelper 2018-04-27 17:54:49 +02:00
Stephan 9407f75522 Fix importing test 2018-04-27 17:54:40 +02:00
Simon Dingley dbad0d261e Fixes U4-8516 Copied node now sets the current user as the creator of the new node. 2018-04-27 16:18:25 +01:00
Shannon 5b555d35d3 adds test 2018-04-27 15:35:11 +10:00
Shannon f6984438a0 Fixes cases where there are no domains assigned, ensures there can't be duplicate URLs returned to the UI 2018-04-27 15:26:50 +10:00
Shannon 335cf65663 fixes more of my test logic 2018-04-27 14:01:29 +10:00
Shannon c19dbeda23 Adds a couple of tests which yielded some other issues with getting urls by culture, those are now fixed 2018-04-27 13:27:15 +10:00
Shannon 73567ffdce Fixes IPublishedShapshot and friends 2018-04-27 11:38:50 +10:00
Shannon ad6a745681 Changes CultureInfo to string where required, fixes tests 2018-04-27 11:08:20 +10:00
Shannon 59b6665ff3 Removes NiceUrl methods, renames NiceUrl test cases 2018-04-27 10:57:51 +10:00
Shannon 3cdc0e1142 Removes IShortStringHelper.ReplaceMany, this should just be a normal string extension and removes the need to load in IUmbracoSettings for this simple purpose, this fixes some unit tests 2018-04-27 10:26:32 +10:00
Shannon 270f3a75ff Fixes more tests 2018-04-27 09:57:04 +10:00
Shannon 12d56cd201 fixes null check which fixes a whole lot of failing tests 2018-04-26 23:48:07 +10:00
Shannon cb3cba5b05 Updates DefaultUrlProvider so that hieararchy of nodes that are variant and invariant still generate URLs correctly 2018-04-26 23:34:06 +10:00
Shannon ffd85b4e94 Fixes more bugs and outbound routing for additional urls 2018-04-26 22:54:36 +10:00
Shannon 23c40cbf2c Fixes a couple issues, changes name from PublishValues to TryPublishValues 2018-04-26 21:37:29 +10:00
Shannon e99c519032 Merge remote-tracking branch 'origin/temp8' into temp8-U4-11220
# Conflicts:
#	src/Umbraco.Web/PublishedCache/NuCache/DataSource/BTree.cs
2018-04-26 19:18:14 +10:00
Shannon Deminick c435597d7e Merge pull request #2599 from umbraco/temp8-U4-11250
Refine Variants [U4-11250]
2018-04-26 16:32:17 +10:00
Mads Rasmussen c71d00cd7e wip closing editors 2018-04-25 17:55:27 +02:00
Stephan 40f94d23d4 Cleanup 2018-04-25 17:39:02 +02:00
Stephan f3bf5d86d2 Cleanup BTree 2018-04-25 17:39:02 +02:00
Stephan 16aac382d1 Merge branch 'temp8' into temp8-U4-11220 2018-04-25 17:38:36 +02:00
Mads Rasmussen ef3b3326fc always take up all available space when editor is not the last opened one 2018-04-25 14:44:20 +02:00
Mads Rasmussen 79f303ddcf wip animation experiments 2018-04-25 10:29:18 +02:00
Stephan 87f9e8c72e Merge branch temp8 into temp8-U4-11250 2018-04-24 19:21:12 +02:00
Stephan aba5e849c1 Fix tests 2018-04-24 18:56:03 +02:00
Stephan ef2fd52482 Cleanup 2018-04-24 17:59:26 +02:00
Stephan 7b82208677 Implement getting avail/edit/publish cultures 2018-04-24 17:43:08 +02:00
Stephan 23333710f5 Implement culture available/edited 2018-04-24 16:50:13 +02:00
Shannon 2e38f7b27b Fixes PublishedContent.cs when the property index doesn't contain the alias index (due to adding a new property type and the json not matchin) 2018-04-24 17:28:57 +10:00
Shannon c5ca61f249 Fixes PublishedContent.cs when the property index doesn't contain the alias index (due to adding a new property type and the json not matchin) 2018-04-24 17:15:35 +10:00
Shannon 6db75d4226 Fixes PublishedContent.cs when the property index doesn't contain the alias index (due to adding a new property type and the json not matchin) 2018-04-24 17:11:09 +10:00
Shannon 43ca9593d4 fixes AliasUrlProvider 2018-04-24 16:29:55 +10:00
Shannon a1cd80a0f6 Removes GetLanguageByCultureCode since it is kind of useless and the name is also very misleading 2018-04-24 15:59:16 +10:00
Shannon f49fa7b567 don't show the variation toggle on a property type if the content type doesn't have it enabled, ensure the default variation is set on a new property type based on the content type setting 2018-04-24 15:41:50 +10:00
Shannon d552d5dadb Updates UI and mapping to update a property type to allow being culture variant 2018-04-24 15:27:33 +10:00
Shannon de2784c281 Adds culture optional parameters to all GetUrl methods on UrlProvider 2018-04-24 14:51:27 +10:00
Shannon 7c05f2e86c fixes routing cache key 2018-04-24 14:39:52 +10:00
Shannon e9bfad3c09 Merge remote-tracking branch 'origin/temp8' into temp8-U4-11220 2018-04-24 13:18:34 +10:00
Shannon 9044c9328d Gets inbound routing working, reduces the amount of non injected dependencies, reduces the amount of DomainHelper instances 2018-04-24 13:07:18 +10:00
Shannon 48641166b9 WIP - gets 'inbound' routing working to generate culture specific URLs 2018-04-24 01:31:01 +10:00
Stephan 6dfb618efe Merge branch 'temp8' into HEAD 2018-04-23 12:57:12 +02:00
Mads Rasmussen 7e383ea961 fix issue with infinite mode and create route param in media editor 2018-04-23 11:13:01 +02:00
Robert 5e14af7d38 Merge pull request #2598 from umbraco/temp8-U4-11219
U4-11219 Wire up new APIs for Variant names
2018-04-23 11:09:18 +02:00
Mads Rasmussen 312b2ff435 Merge branch 'dev-v8' into temp-U4-11218 2018-04-23 09:43:22 +02:00
Stephan 6b9adfa929 Move IsCultureAvailable to IContentBase 2018-04-21 11:11:31 +02:00
Stephan a69019aea0 From int languageId to string culture 2018-04-21 09:57:28 +02:00
Sebastiaan Janssen d30ec335b8 Merge branch 'patch-v7' into dev-v7 2018-04-20 11:05:46 +02:00
Sebastiaan Janssen e820d2a4aa Merge branch 'patch-7.9.6' into dev-v7 2018-04-20 11:05:37 +02:00
Sebastiaan Janssen 5aa490cbff Merge branch 'patch-7.8.3' into dev-v7 2018-04-20 11:04:51 +02:00
Sebastiaan Janssen f1a8da2876 Bumps version to 7.9.6 2018-04-20 11:02:29 +02:00
Sebastiaan Janssen 27f6560a00 U4-11253 New Chrome 66 trimStart function is overriding the Umbraco Core trimStart polyfill 2018-04-20 11:00:49 +02:00
Sebastiaan Janssen 7a181bd281 Bump version to 7.8.3 2018-04-20 10:59:13 +02:00
Sebastiaan Janssen 4a0cd87a38 U4-11253 New Chrome 66 trimStart function is overriding the Umbraco Core trimStart polyfill 2018-04-20 10:51:28 +02:00
Sebastiaan Janssen 861e5908a7 U4-11253 New Chrome 66 trimStart function is overriding the Umbraco Core trimStart polyfill 2018-04-20 10:35:21 +02:00
Claus ae5a5bd2c0 Merge pull request #2596 from umbraco/temp-U4-11146
Removes Package repository config setting and related unnecessary code
2018-04-20 10:23:16 +02:00
Shannon 7d349ef518 Replaces instances of UmbracoTemplatePage with UmbracoViewPage 2018-04-20 17:40:01 +10:00
Robert 395575dbe4 Merge pull request #2597 from umbraco/temp-U4-11253
U4-11253 New Chrome 66 trimStart function is overriding the Umbraco C…
2018-04-20 09:39:15 +02:00
Shannon 5dfa0e7446 Updates EntityRepository to support normal get operations adds another unit tests, adds notes. 2018-04-20 16:07:34 +10:00
Shannon 9325d30e7c adds some notes to the setVariantStatusColor 2018-04-20 13:44:20 +10:00
Shannon d99beb0c8b Gets the tree to display the culture specific name 2018-04-20 13:26:45 +10:00
Shannon e9f0e98d2c Updates EntityRepository to get the variant names for content items ... for the non-paged query which we can use in the tree 2018-04-20 13:12:55 +10:00
Sebastiaan Janssen 6d6be4e6a4 Fixes last failing test 2018-04-19 20:29:46 +02:00
Sebastiaan Janssen fbc9c6aed6 Fixes even more (hopefully all) unit tests 2018-04-19 20:06:34 +02:00
Sebastiaan Janssen 386dc1a14d U4-11253 New Chrome 66 trimStart function is overriding the Umbraco Core trimStart polyfill 2018-04-19 19:54:53 +02:00
Sebastiaan Janssen 8fc33f6aea Fix unit tests 2018-04-19 19:36:44 +02:00
Sebastiaan Janssen 6c8e39876f These changes shouldn't have been checked in 2018-04-19 19:36:32 +02:00
Sebastiaan Janssen bfca8c555e Removes Package repository config setting and related unnecessary code 2018-04-19 19:12:42 +02:00
Shannon c84087e96b Gets the variant names working in the editor 2018-04-20 00:59:23 +10:00
Shannon d4252a3dc8 Merge branch 'dev-v8' into temp8-U4-11219 2018-04-20 00:12:31 +10:00
Shannon 6b12fe7c57 Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8
# Conflicts:
#	src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleContentPickerParameterEditor.cs
2018-04-20 00:10:44 +10:00
Shannon 04da7cfd20 doh, fixes csproj merge 2018-04-20 00:09:12 +10:00
Shannon d5ebe12983 removes ununsed aliases 2018-04-20 00:05:45 +10:00
Stephan 5d1abaa713 Import missing parameter editor from v7 merge 2018-04-19 16:03:54 +02:00
Shannon e9e0274ad8 fixes MultipleContentPickerParameterEditor 2018-04-20 00:03:19 +10:00
Shannon 966de9b9f4 Merge branch 'dev-v8' into temp8-U4-11219 2018-04-19 23:49:06 +10:00
Shannon c46d4e9e43 Merge remote-tracking branch 'origin/dev-v7' into dev-v8
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Core/Persistence/Migrations/MigrationRunner.cs
#	src/Umbraco.Core/Persistence/PetaPoco.cs
#	src/Umbraco.Core/Scoping/NoScope.cs
#	src/Umbraco.Core/Scoping/ScopeProvider.cs
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Core/Services/IContentService.cs
#	src/Umbraco.Tests/Persistence/Migrations/MigrationStartupHandlerTests.cs
#	src/Umbraco.Tests/UI/LegacyDialogTests.cs
#	src/Umbraco.Web.UI.Client/src/common/directives/components/content/edit.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.controller.js
#	src/Umbraco.Web.UI/umbraco/config/create/UI.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/zh.xml
#	src/Umbraco.Web/BatchedDatabaseServerMessenger.cs
#	src/Umbraco.Web/Editors/ContentController.cs
#	src/Umbraco.Web/Editors/MediaTypeController.cs
#	src/Umbraco.Web/HealthCheck/Checks/Security/ClickJackingCheck.cs
#	src/Umbraco.Web/HealthCheck/Checks/Security/ExcessiveHeadersCheck.cs
#	src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs
#	src/Umbraco.Web/Models/Mapping/ContentPropertyBasicConverter.cs
#	src/Umbraco.Web/Models/Mapping/ContentPropertyDisplayConverter.cs
#	src/Umbraco.Web/Models/Mapping/ContentPropertyDtoConverter.cs
#	src/Umbraco.Web/Models/Mapping/ContentPropertyModelMapper.cs
#	src/Umbraco.Web/PropertyEditors/NestedContentPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/ParameterEditors/MultipleContentPickerParameterEditor.cs
#	src/Umbraco.Web/Trees/ContentTreeControllerBase.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/create/MemberGroupTasks.cs
2018-04-19 23:41:35 +10:00
Mads Rasmussen ee853f0189 Merge branch 'dev-v8' into temp-U4-11218 2018-04-19 15:15:10 +02:00
Shannon 1d0d6e78de fixes tree again 2018-04-19 22:32:48 +10:00
Shannon 8ae27ecc27 Updates doc type editor to be able to change update the doc type to support being culture variant 2018-04-19 22:06:02 +10:00
Shannon 642ce36f59 updates when the tree does it's initialization , fixes migration 2018-04-19 21:58:59 +10:00
Shannon Deminick db5ffd6b29 Merge pull request #2594 from umbraco/temp8-U4-11128
Manage content variations [U4-11128]
2018-04-19 21:49:13 +10:00
Robert 9384cd0f27 Merge pull request #2574 from umbraco/temp-U4-11195
fixes U4-11195 Mapping complex properties slow down some queries
2018-04-19 12:22:12 +02:00
Robert 0262b4aa76 Changed ContentPropertyDto modifier back to override which rendered content with tags unable to be saved 2018-04-19 12:10:39 +02:00
Shannon 158eb18de0 Merge remote-tracking branch 'origin/dev-v8' into temp8-U4-11128 2018-04-19 18:16:49 +10:00
Mads Rasmussen 03ac073c02 Merge branch 'dev-v8' into temp-U4-11218
# Conflicts:
#	src/Umbraco.Web.UI/umbraco/Views/Default.cshtml
2018-04-19 09:59:31 +02:00
Sebastiaan Janssen 96761efe4d Merge branch 'patch-v7' into dev-v7 2018-04-19 09:55:16 +02:00
Robert 8e02aad2bb Merge pull request #2590 from umbraco/temp-U4-11177
U4-11177 Update tree nodes with the new node names based on variant/language
2018-04-19 08:35:01 +02:00
Shannon 75fb070825 U4-11246 When user belongs to groups and none of them have browse access and one or more have a custom start node applied a YSOD occurs 2018-04-19 16:20:18 +10:00
Shannon Deminick 8a0f32e980 Merge pull request #2595 from umbraco/temp-U4-11208
U4-11208 Error : "An item with the same key has already been added." into "Umbraco.Core.Services.IdkMap.Populate" method
2018-04-19 15:27:00 +10:00
Stephan a68e37c67b Fix availability and names 2018-04-18 18:43:17 +02:00
Stephan dea47dfafe Fix availability and names 2018-04-18 18:28:47 +02:00
Sebastiaan Janssen f5163ed0c2 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-04-18 16:05:43 +02:00
Sebastiaan Janssen 694f3d71e2 Merge branch 'patch-v7' into dev-v7 2018-04-18 16:05:15 +02:00
Stephan 5b1bdd84ee Fix availability and content name (WIP) 2018-04-18 16:04:33 +02:00
Robert 15eb40aedb Removed code that populates content tree with duplicate start nodes. 2018-04-18 16:01:01 +02:00
Sebastiaan Janssen 49251271e9 Merge pull request #2591 from umbraco/temp-U4-10995
Removed code that populates content tree with duplicate start nodes.
2018-04-18 15:59:45 +02:00
Sebastiaan Janssen cc3e75dc63 U4-11208 Error : "An item with the same key has already been added." into "Umbraco.Core.Services.IdkMap.Populate" method 2018-04-18 15:14:16 +02:00
Stephan 4f17ecbdee Fix tests 2018-04-18 14:43:13 +02:00
Stephan ec7b038569 Variant names, availability, etc 2018-04-18 14:43:07 +02:00
Stephan d4244d3807 Fix faster languages 2018-04-18 14:42:20 +02:00
Sebastiaan Janssen eeaf17c857 Weird revert of a PR that was merged in before
(cherry picked from commit 94ed741dd5)
2018-04-18 12:18:44 +02:00
Stephan 46487fa466 Variant names, availability, etc 2018-04-18 11:14:08 +02:00
Dave Woestenborghs 21a8395142 U4-11216 Multiple Content Picker allows only one item when used as macro parameter (#2593)
U4-11216 set min and max number when used as parameter editor

(cherry picked from commit f25233ac2b)
2018-04-18 10:22:09 +02:00
Dave Woestenborghs f25233ac2b U4-11216 Multiple Content Picker allows only one item when used as macro parameter (#2593)
U4-11216 set min and max number when used as parameter editor
2018-04-18 10:21:12 +02:00
Shannon Deminick 415810ecfe Merge pull request #2589 from umbraco/temp-U4-11196
Fixes - U4-11196 Validation UI is not working for the content name field
2018-04-18 11:16:38 +10:00
Shannon fd3129f166 fixes TODOs 2018-04-18 09:42:30 +10:00
Stephan 58e4e2398a Variant names, availability, etc 2018-04-17 19:08:53 +02:00
Stephan 392965bb3a Faster languages 2018-04-17 19:08:44 +02:00
Sebastiaan Janssen 61cd59b237 Merge branch 'patch-v7' into dev-v7 2018-04-17 15:47:41 +02:00
Sebastiaan Janssen 7d171b1e95 Bumps version to 7.10.4 2018-04-17 15:46:39 +02:00
Sebastiaan Janssen d63061fade Merge pull request #2564 from leekelleher/U4-11184
U4-11184 - Nested Content PropertyValueEditor - return converted value, not update reference value
2018-04-17 15:33:14 +02:00
Sebastiaan Janssen 362261e879 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-04-17 15:16:46 +02:00
Sebastiaan Janssen af8c00d075 Merge remote-tracking branch 'origin/patch-7.10.3' into dev-v7 2018-04-17 15:16:21 +02:00
Sebastiaan Janssen 68b440e494 Merge remote-tracking branch 'origin/patch-7.9.5' into dev-v7 2018-04-17 15:15:44 +02:00
Sebastiaan Janssen 0c328ef30e Merge remote-tracking branch 'origin/patch-7.8.2' into dev-v7 2018-04-17 15:15:06 +02:00
Robert ef47e85741 Removed code that populates content tree with duplicate start nodes. 2018-04-17 15:07:59 +02:00
Stephan 26af63549f Fix vsts - wip 2018-04-17 10:52:32 +02:00
Stephan 70e3f895da Fix vsts - wip 2018-04-17 10:11:14 +02:00
Mads Rasmussen e6a69ccb0d add feature toggle for media grid edit button 2018-04-17 09:55:31 +02:00
Shannon f80a27f5d7 adds notes 2018-04-17 17:09:58 +10:00
Shannon f3d68276fe Fixes more angular promise chaining, fixes issue with the tree node UI not updating when sycn tree is called. 2018-04-17 17:04:52 +10:00
Claus 0c191a3ef7 updating to use includeProperties, fixing modifier keywords for methods, and passing includeProperties from list views. 2018-04-17 08:36:36 +02:00
Shannon 2872d0b0a2 Fixes tree init logic when user isn't logged in, moves sequential promise chaining to a helper funciton, updates the route promise chaining to actual chain. 2018-04-17 14:43:17 +10:00
Mads Rasmussen 97548df146 rename folder 2018-04-16 21:42:11 +02:00
Mads Rasmussen ebf3ab3a41 add helpers to open media picker and media editor 2018-04-16 21:27:07 +02:00
Stephan c97822a430 Fix vsts 2018-04-16 17:48:45 +02:00
Shannon 319bd783ff Merge remote-tracking branch 'origin/dev-v8' into temp-U4-11177 2018-04-17 01:45:32 +10:00
Shannon e234eb22f6 ensure the language tree changing is done after the digest 2018-04-17 01:41:06 +10:00
Shannon d45112f2ab Gets the content tree controller to return the names for items per language (with mock data), wires up the navigation.controller to re-build the tree for the new language 2018-04-17 01:37:35 +10:00
Stephan 6b3c6eba8d Fix csproj, nuspec 2018-04-16 17:04:23 +02:00
Shannon f7719773f2 fixes passing in the element and clicking on a root node 2018-04-17 00:38:32 +10:00
Stephan 15c6e28354 Fix nuspec 2018-04-16 16:29:37 +02:00
Shannon b5b643e04c fixes up the activeTree issue 2018-04-17 00:09:53 +10:00
Stephan dc589f9b96 Fix csproj, nuspec 2018-04-16 16:08:26 +02:00
Mads Rasmussen 7a4ff7b9c0 Merge pull request #2588 from umbraco/temp-v8-UI-infinite-editing
Temp v8 ui infinite editing
2018-04-16 15:38:33 +02:00
Mads Rasmussen d0f9021bcf Merge branch 'temp-U4-11218' into temp-v8-UI-infinite-editing 2018-04-16 15:27:29 +02:00
Shannon a92361bd00 Tree refactor, cleanup legacy support, remove odd jquery callback object, removes unused files, removes publish dialog 2018-04-16 23:07:00 +10:00
Robert f7ce8af24d Language picker is now included in the invalid field prompt (red border) so it makes sense aesthetically. 2018-04-16 14:58:54 +02:00
Shannon Deminick 9ac96f24aa Merge pull request #2587 from dawoe/temp-U4-11150
U4-11150 added culture property of tour to the docs
2018-04-16 16:48:25 +10:00
Dave Woestenborghs eca5b6e4e6 U4-11150 added culture property of tour to the docs 2018-04-16 08:35:05 +02:00
Sebastiaan Janssen 2dd7c5210f Merge pull request #2523 from tomfulton/u4-11133
U4-11133 - Fix access check for Unpublish button
2018-04-15 22:48:16 +02:00
Sebastiaan Janssen 3a854688e0 Merge branch 'dawoe-temp-U4-11150' into dev-v7 2018-04-15 22:38:22 +02:00
Sebastiaan Janssen 1594adf3ed Makes code a bit more readable and uses ToList instead of ToArray 2018-04-15 22:38:09 +02:00
Sebastiaan Janssen 23fcb38d69 Merge branch 'temp-U4-11150' of https://github.com/dawoe/Umbraco-CMS into dawoe-temp-U4-11150 2018-04-15 22:15:36 +02:00
Sebastiaan Janssen 7571949ad0 Merge pull request #2586 from bjarnef/dev-v7-U4-11215
U4-11215 - Fix icons in member create dialog
2018-04-15 22:11:24 +02:00
Bjarne Fyrstenborg d45c3520d4 Format document in media create dialog 2018-04-15 21:42:35 +02:00
Bjarne Fyrstenborg b7c04575fa Document media type resource save as in member type resource 2018-04-15 21:42:04 +02:00
Bjarne Fyrstenborg 588f5a3789 Fix some wrong descriptions 2018-04-15 21:41:23 +02:00
Bjarne Fyrstenborg b535a45898 Respect icon set on member type - by default the icon is "icon-user" 2018-04-15 21:39:46 +02:00
Robert aebfc33037 Class renamed in .less file to bring back UI validation for content name 2018-04-13 14:51:02 +02:00
Sebastiaan Janssen 1b56c55300 Merge pull request #2522 from tomfulton/u4-7757-client2
U4-7757 - Show notifications when Unpublishing event is canceled
2018-04-13 11:53:51 +02:00
Stephan ed3e693308 Umbraco.Compat7.die.die.die 2018-04-13 11:03:35 +02:00
Warren Buckley 1c70c34d57 Merge pull request #2581 from umbraco/temp-U4-11209
fixes: U4-11209 Update layout for developer dashboards to fit new styles
2018-04-13 09:28:13 +02:00
Stephan ca00cde043 VSO build wip 2018-04-12 22:58:46 +02:00
Sebastiaan Janssen 29d9dcffb8 Manually applying PR: Three new healthchecks #1522 2018-04-12 18:38:00 +02:00
Mads Rasmussen bf78bb16dd fixes: U4-11209 Update layout for developer dashboards to fit new styles 2018-04-12 18:37:37 +02:00
Sebastiaan Janssen b0f0a7afc4 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-04-12 18:01:43 +02:00
Sebastiaan Janssen 30f8885aa9 Merge branch 'u4-9983' of https://github.com/AndyButland/Umbraco-CMS into AndyButland-u4-9983
# 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/zh.xml
#	src/Umbraco.Web/HealthCheck/Checks/Security/ClickJackingCheck.cs
#	src/Umbraco.Web/HealthCheck/Checks/Security/ExcessiveHeadersCheck.cs
#	src/Umbraco.Web/HealthCheck/Checks/Security/HttpsCheck.cs
2018-04-12 17:59:11 +02:00
Sebastiaan Janssen 94ed741dd5 Weird revert of a PR that was merged in before 2018-04-12 17:50:44 +02:00
Sebastiaan Janssen b6d5ac6a01 Update CONTRIBUTING.md 2018-04-12 17:20:12 +02:00
Sebastiaan Janssen 4664266b8d Bumps version to 7.10.3 2018-04-12 16:40:10 +02:00
Sebastiaan Janssen c61fd65463 Bumps version to 7.9.5 2018-04-12 16:38:22 +02:00
Sebastiaan Janssen 1e2598a3a3 Bumps version to 7.8.2 2018-04-12 16:36:41 +02:00
Sebastiaan Janssen 5003a55aca Cherry picked - Fix scope leaks caused by database messenger [U4-11207] #2580 2018-04-12 16:32:34 +02:00
Sebastiaan Janssen b5415844b8 Cherry picked - Fix scope leaks caused by database messenger [U4-11207] #2580 2018-04-12 16:30:55 +02:00
Sebastiaan Janssen 19241995e8 Cherry picked - Fix scope leaks caused by database messenger [U4-11207] #2580 2018-04-12 16:23:33 +02:00
Shannon b53400ceca Fixes up promise chains for the tree, adds logic to the tree picker to track the deepest paths expanded and then when a language is changed, we reload the tree with the new language and also sync all paths so the user can continue where they left off but with the new language nodes. 2018-04-13 00:09:28 +10:00
Bjarne Fyrstenborg 828dbaedfb Indicate that a row is clickable and highlight with background color. (#1473) 2018-04-12 15:37:01 +02:00
Sebastiaan Janssen 52701f0056 Fix unit tests that were trying to "downgrade" from version 1 to version 2 2018-04-12 15:30:25 +02:00
Claus c802171f38 Merge pull request #2580 from umbraco/temp-u4-11207
Fix scope leaks caused by database messenger [U4-11207]
2018-04-12 14:43:03 +02:00
Claus 81c5c66e15 adding readonly. 2018-04-12 14:41:55 +02:00
Sebastiaan Janssen 79515cdae7 Merge branch 'martin-blackwell-U4-8927' into dev-v7 2018-04-12 14:36:21 +02:00
Sebastiaan Janssen 99ce7c0736 Throw error when "downgrading" to a higher version, make sure to give the results back in the correct order (newest version first, oldest last). 2018-04-12 14:35:34 +02:00
Claus d9b1598fa2 use scope when writing instructions. 2018-04-12 14:26:47 +02:00
Claus c630e5ef8e only warn if there's actually anything to warn about 2018-04-12 14:26:14 +02:00
Shannon Deminick e9c8df55ec Merge pull request #2579 from umbraco/temp-U4-11179
Fixes - U4-11179 Support selecting variants in content pickers
2018-04-12 21:59:38 +10:00
Shannon f903c42d1b Gets the tree reloading when the customtreeparams change too so now the language selection will auto trigger the tree to reload ... next task we'll make it re-sycn and work. 2018-04-12 21:56:49 +10:00
Sebastiaan Janssen fe5896c85f Merge branch 'U4-8927' of https://github.com/martin-blackwell/Umbraco-CMS into martin-blackwell-U4-8927 2018-04-12 13:44:38 +02:00
Sebastiaan Janssen 28cbb0a517 Bumps version to 7.11.0 2018-04-12 13:41:56 +02:00
Sebastiaan Janssen 0597b43014 Merge branch 'patch-v7' into dev-v7 2018-04-12 13:39:09 +02:00
Sebastiaan Janssen a124d77670 Merge remote-tracking branch 'origin/patch-7.9.4' into dev-v7
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
2018-04-12 13:38:53 +02:00
Shannon fddea8c815 Fixes data type pre-value issues with MNTP, removes unecessary contentpicker.html and memberpicker.html overlays since treepicker.html is all that should be used, cleans up the treepicker one to be more inline with our current angular standards. Removes uneeded event handling from treepicker 2018-04-12 21:29:36 +10:00
Stephan 1076b882fb U4-11207 - collect rogue/leaked NoScope instances 2018-04-12 11:56:56 +02:00
Stephan 4a47c5e129 U4-11207 - fix scope leaks caused by database messenger 2018-04-12 11:13:00 +02:00
Shannon 80d682c22a Merge branch 'dev-v8' into temp-U4-11179 2018-04-12 14:30:50 +10:00
Warren d8459bf4b4 Changes to build script & references etc with Stephan 2018-04-11 18:06:33 +02:00
Warren Buckley fd75a59e13 Merge pull request #2575 from umbraco/temp-U4-11174
U4-11174 - Wire up new publish dialog when editing content/variants
2018-04-11 16:39:48 +02:00
Robert 01332db0a6 "split not a function" error fix 2018-04-11 15:44:43 +02:00
Robert 905a7d4a16 Added language drop-down in the content picker dialog window 2018-04-11 13:26:03 +02:00
Robert f9dcfbbf95 Merge pull request #2577 from umbraco/temp-U4-11176
fixes: U4-11176 Language Selector for the main content tree
2018-04-11 09:35:30 +02:00
Shannon a334a9999d Merge and simplify the variants selector to use routing logic now that we have routing built in for languages, now the pending changes alert is just using the default route change 2018-04-11 09:21:12 +10:00
Shannon 5eec80b8ae fixes trashing/trashed event dispatching 2018-04-11 09:05:02 +10:00
Warren Buckley 7d947afdf0 Merge pull request #2576 from umbraco/temp-U4-11178
Fixes - U4-11178 Browse to content node as a different variant/language
2018-04-10 16:42:25 +02:00
Mads Rasmussen cc2a90a697 set max-height on language dropdown 2018-04-10 15:36:26 +02:00
Mads Rasmussen d9e433b3ea emit and listen for events when languages are created/deleted 2018-04-10 15:36:06 +02:00
Mads Rasmussen b869e095e6 don't show the dropdown if there is only one language 2018-04-10 14:34:40 +02:00
Mads Rasmussen b30f414c15 remove padding in dropdown + node language dropdown 2018-04-10 13:56:44 +02:00
Mads Rasmussen e1394a18e5 add tree language selector + load in languages 2018-04-10 13:56:14 +02:00
Robert f3e473f64d Wrong property 2018-04-10 12:08:47 +02:00
Robert aba0b0448d Can change content node variants trough routeParams (languageId) 2018-04-10 11:50:37 +02:00
Robert 8d654e3630 Ctrl + K + D 2018-04-10 11:28:05 +02:00
Mads Rasmussen 9233a9f08a fix width of getting started dashboard 2018-04-10 10:24:36 +02:00
mikkelhm 6d052aeeac Bump version to 7.9.4 2018-04-10 08:56:50 +02:00
Shannon 53dc83ca16 removes unused method 2018-04-10 13:49:09 +10:00
Shannon c17217fc10 Merge remote-tracking branch 'origin/dev-v8' into temp-U4-11174 2018-04-10 13:40:12 +10:00
Shannon Deminick bfcad4f46d Merge pull request #2558 from umbraco/temp-U4-11127
WIP - U4-11127 Update ContentController for editing variants
2018-04-10 13:39:47 +10:00
Shannon 2ee955e664 Fixes media picker property editor attribute declaration, fixes promise chaining when saving content, fixes the boolean pre-value editor to accept a 'true' boolean value 2018-04-10 13:37:54 +10:00
Shannon 3d92ce96f3 Make sure client side validation executes before the publish dialog launches, then check the validation results, if there isn't any variant validations then close the dialog. 2018-04-10 12:41:11 +10:00
Shannon 09b0d61ab8 Ensures current variant is at the top of the publish list and is selected, disable the publish button if there are none selected 2018-04-10 12:26:19 +10:00
Shannon bf296158b0 Fixes displaying the audit trail on the info tab 2018-04-10 11:23:39 +10:00
Shannon 10b777a4e0 Merge remote-tracking branch 'origin/dev-v8' into temp-U4-11174 2018-04-10 10:53:10 +10:00
Shannon a23e36ffd2 Removes angularHelper.rejectedPromise since that is built into angular already 2018-04-10 10:52:39 +10:00
Shannon 584209c38d adds elipses to the publish button when there is more than one variant 2018-04-10 10:52:07 +10:00
Shannon 8a57380db4 fixes deleting a language 2018-04-10 10:50:53 +10:00
Shannon b7570ed2e0 Cleans up unused statusMessage thing 2018-04-10 10:05:19 +10:00
Shannon 07225de5cf re-binds the variants list when there is an error 2018-04-10 02:10:14 +10:00
Shannon 59f9af6eb8 Gets publish dialog mostly working with server side validation messages wired up to the dialog 2018-04-10 01:38:35 +10:00
Claus 5380b62504 fixes U4-11195 Mapping complex properties slow down some queries 2018-04-09 15:43:17 +02:00
Warren Buckley 2675669cf8 Merge pull request #2573 from umbraco/temp-U4-11171
fixes: U4-11171 Tree panel doesn't vertically scroll
2018-04-09 15:40:03 +02:00
Mads Rasmussen dfcb93abf9 fixes: U4-11171 Tree panel doesn't vertically scroll 2018-04-09 15:00:52 +02:00
Dave Woestenborghs 354505fde3 U4-11149 fixed error when creating new xslt file (#2540)
* U4-10659 added create task back for xslt files

* Add fix to UI.Release.xml as well
2018-04-09 14:47:09 +02:00
Dave Woestenborghs 9b33c8a0e2 U4-11149 fixed error when creating new xslt file (#2540)
* U4-10659 added create task back for xslt files

* Add fix to UI.Release.xml as well
2018-04-09 14:45:26 +02:00
Warren Buckley b98e7f2d3e Merge pull request #2567 from umbraco/temp-U4-10783
fixes: 
* The UI for the new bulk publish variants from Mads merged in
2018-04-09 13:27:21 +01:00
Dave Woestenborghs 07fc6753f5 U4-11149 fixed error when creating new xslt file (#2540)
* U4-10659 added create task back for xslt files

* Add fix to UI.Release.xml as well
2018-04-09 14:04:02 +02:00
Sebastiaan Janssen 967178cb92 Manually applies U4-11155 fixed error when creating member groups #2545 2018-04-09 11:43:48 +02:00
Warren Buckley fe44494936 Merge pull request #2550 from dawoe/temp-U4-11161
U4-11161 fix for adding multiple items in a single content picker
2018-04-09 11:42:18 +02:00
Shannon Deminick 793c9470c2 Manually applies merge pull request #2556 from dawoe/temp-U4-11167
U4-11167 Fixes rare syncTree error
2018-04-09 11:39:07 +02:00
Shannon e61089f927 Merge remote-tracking branch 'origin/temp-U4-10783' into temp-U4-11174 2018-04-09 17:55:20 +10:00
Shannon 41d91c225f Gets validation working for trying to publish a document when there are validation problems with required languages 2018-04-09 16:59:45 +10:00
Sebastiaan Janssen 95d40049f5 Bumps version to 7.10.2 2018-04-09 08:30:39 +02:00
Sebastiaan Janssen f003c3602c Merge pull request #2545 from dawoe/temp-U4-11155
U4-11155 fixed error when creating member groups
2018-04-09 08:28:03 +02:00
Sebastiaan Janssen 862fdf27e4 Merge pull request #2545 from dawoe/temp-U4-11155
U4-11155 fixed error when creating member groups
2018-04-09 08:10:53 +02:00
Shannon 1660d25bad ensures that only the default variant is available when creating content 2018-04-09 15:01:55 +10:00
Shannon 0971aa0ab6 fixes null check on image cropper 2018-04-09 13:35:18 +10:00
Shannon fb74b1b75f Merge remote-tracking branch 'origin/dev-v8' into temp-U4-11127 2018-04-09 13:25:02 +10:00
Mads Rasmussen c5f27aeea5 fix language tree sync 2018-04-06 11:14:25 +02:00
Mads Rasmussen 8e0133f8af return selected variants 2018-04-06 10:37:10 +02:00
Shannon d03a8098da Merge branch 'dev-v8' into temp-U4-11127 2018-04-06 14:52:28 +10:00
Shannon c760d25479 Merge remote-tracking branch 'origin/dev-v7' into dev-v8 2018-04-06 14:52:02 +10:00
Shannon 8499c01eac Merge remote-tracking branch 'origin/patch-v7' into dev-v7 2018-04-06 14:51:14 +10:00
Shannon Deminick e25d648f44 Merge pull request #2556 from dawoe/temp-U4-11167
U4-11167 Fixes rare syncTree error
2018-04-06 14:46:23 +10:00
Shannon e10698532b Merge branch 'dev-v8' into temp-U4-11127
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/dashboard/dashboard.tabs.controller.js
2018-04-06 13:56:07 +10:00
Shannon 8b88bb68ed must always register install components 2018-04-06 13:54:42 +10:00
Shannon c90d6be8ab U4-8861 Extract GlobalSettings to an interface and expose on the standard UmbracoConfig.For settings singleton including a bunch of cleanup, getting the installer and steps to be DI 2018-04-06 13:51:54 +10:00
Mads Rasmussen 7a4f7da0d6 a little bit of clean up 2018-04-05 21:10:38 +02:00
leekelleher 7225ec29fe Nested Content - enabled support for property-editors:
- Umbraco.CheckBoxList
- Umbraco.DropDownMultiple
- Umbraco.MacroContainer
- Umbraco.RadioButtonList
- Umbraco.MultipleTextstring
2018-04-05 17:17:34 +01:00
leekelleher cf1069e0e1 NestedContentPropertyEditor - code tidy-up
A little tidy-up of these class method. I noticed we were calling `ToString()` twice in places,
and the `ConfigureForDisplay` prevalues are already available as a Dictionary, so there's no need for an additional `ToDictionary` allocation.
2018-04-05 17:16:34 +01:00
leekelleher 99ce88228c U4-11184 - Nested Content PropertyValueEditor - return converted value, not update reference value
ConvertDbToString

We were updating the `property.Value` reference, which was having adverse effects on the editor value.
In the majority of cases this wasn't an issue, but it did mean that any prevalue-ID-based editors (e.g. dropdown list) had problems.

I've removed the call to the base method, we don't need it - here's what it does...
https://github.com/umbraco/Umbraco-CMS/blob/release-7.4.0/src/Umbraco.Core/PropertyEditors/PropertyValueEditor.cs#L367

It attempts to convert the value to an XML-safe string, which is ultimately `ToString()` (if not null):
https://github.com/umbraco/Umbraco-CMS/blob/release-7.4.0/src/Umbraco.Core/ObjectExtensions.cs#L544

ConvertDbToEditor

Same as ConvertDbToString, we were updating the `property.Value` reference when we shouldn't be.
We should be returning the converted value, not updating the original reference value itself.

I've removed the call to the base method, we don't need it - it attempts to deserialize the JSON string that we've literally just serialized...
https://github.com/umbraco/Umbraco-CMS/blob/release-7.4.0/src/Umbraco.Core/PropertyEditors/PropertyValueEditor.cs#L283

So we can pass the List<object> value back, as this will be handled by Umbraco and handed by Angular.
2018-04-05 17:14:15 +01:00
Mads Rasmussen f1c78b45a7 set overlay button state + call temp publish method 2018-04-05 16:11:30 +02:00
Mads Rasmussen 0f32b653a1 Change "Save and publish" label to "Publish" 2018-04-05 16:01:26 +02:00
Mads Rasmussen 875e05b680 add support for setting the overlay submit button state from the controller 2018-04-05 16:00:39 +02:00
Shannon 7442c96be1 removes unused methods 2018-04-05 23:15:51 +10:00
Shannon 990ca51279 Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8 2018-04-05 23:11:24 +10:00
Shannon 262c4afb16 Removes FormsAuthentication cookie format and replaces with standard aspnet identity format, removes a bunch of old obsolete and unused code, fixes the culture setting issue, simplifies the UmbracoBackOfficeIdentity since it no longer needs to be a FormsIdentity and just a straight forward ClaimsIdentity 2018-04-05 23:10:51 +10:00
Mads Rasmussen 7636cd5eb6 add new publish overlay 2018-04-05 14:40:57 +02:00
Mads Rasmussen 54c41dfb23 open publish dialog when clicking the save and publish button 2018-04-05 14:39:57 +02:00
Mads Rasmussen 63315f6162 dont indent first center/target overlays 2018-04-05 14:39:04 +02:00
Mads Rasmussen a2356ea651 Restyle centered overlay 2018-04-05 14:37:58 +02:00
Mads Rasmussen 892eb56a2d fix backdrop z-index 2018-04-05 14:37:13 +02:00
Mads Rasmussen d09d50e013 add global overlay component + add simple service for opening and closing 2018-04-05 14:35:47 +02:00
Stephan eb6a08af31 v7@11d4189c8d 2018-04-05 14:12:15 +02:00
Warren 0dba812053 Merge branch 'patch-v7' into dev-v8 2018-04-05 10:44:34 +01:00
Warren edb62b740b Merge branch 'patch-v7' into dev-v7 2018-04-05 10:42:41 +01:00
Warren Buckley 43e32e66b6 Merge pull request #2550 from dawoe/temp-U4-11161
U4-11161 fix for adding multiple items in a single content picker
2018-04-05 10:15:39 +01:00
Shannon 798236dc85 removes unused code, cleans up web.confgi 2018-04-05 18:13:50 +10:00
Shannon 9bfe9e6bbf Ensures that the thread culture is set both in owin and in aspnet 2018-04-05 18:11:15 +10:00
Shannon 11d4189c8d Merge branch 'patch-v7' into dev-v7 2018-04-05 17:28:46 +10:00
Shannon a62422fac3 ensure that debug is true when developing 2018-04-05 15:09:12 +10:00
Shannon f32e787816 fixes dashboard.tabs.controller 2018-04-05 15:08:52 +10:00
Stephan 6da91b7770 Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8 2018-04-04 17:43:26 +02:00
Stephan f7a14a03f2 Fix build, still some weird csc.exe versionning 2018-04-04 17:41:55 +02:00
Stephan 612acfac15 Fix solution 2018-04-04 09:59:01 +02:00
Dave Woestenborghs 859cb6ce1a U4-11167 removed the time out..only check if the syncTree method exists 2018-04-04 09:44:29 +02:00
Warren 4047fb119d Adds in missing $scope dependency for Dynamic Dashboard Controller 2018-04-04 08:35:58 +01:00
Warren ebbd05dc97 Adds in missing $scope dependency for Dynamic Dashboard Controller 2018-04-04 08:30:33 +01:00
Warren bdaa70592f Adds in missing $scope dependency for Dynamic Dashboard Controller 2018-04-04 08:28:41 +01:00
Shannon 6d1e50c44d Merge branch 'dev-v8' into temp-U4-11127
# Conflicts:
#	src/Umbraco.Web.UI/web.Template.config
2018-04-04 16:51:00 +10:00
Stephan 683b47bae5 Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8 2018-04-04 08:32:10 +02:00
Stephan 1b804e07e5 Push web.template.config 2018-04-04 08:28:10 +02:00
Shannon d89009bbe7 Changes targetFramework to 4.7, removes the huge assembly list, removes post build scripts since they don't work 2018-04-04 16:17:57 +10:00
Shannon e5b0b2bfb7 Merge branch 'dev-v8' into temp-U4-11127 2018-04-04 16:01:23 +10:00
Shannon 471009cfd1 nuspec for examine was incorrect 2018-04-04 16:00:14 +10:00
Shannon efeef98e55 fixes merge/build 2018-04-04 15:59:02 +10:00
Shannon c655e9c2b1 Merge branch 'dev-v8' into temp-U4-11127 2018-04-04 15:55:13 +10:00
Shannon d618151e4f Fixes the csproj, binding redirects and versions 2018-04-04 15:54:39 +10:00
Shannon f775fd8672 removes sqlce build commands since no packages folder exists anymore 2018-04-04 15:35:13 +10:00
Shannon cdd50b899a Merge remote-tracking branch 'origin/dev-v8' into temp-U4-11127
# Conflicts:
#	src/Umbraco.Web/Models/Mapping/TabsAndPropertiesResolver.cs
2018-04-04 15:04:11 +10:00
Shannon a673babfb7 Fixes Content List View installation, removes unecessary properties from the RecycleBinEventArgs, updates both the upload and image cropper property editors to properly remove all files including any associated with variants, updates several other places to deal with variants and Property.GetValue(langId), adds notes, ensures we are returning the corect IDictionary instead of Dictionary for some interfaces 2018-04-04 13:11:12 +10:00
Shannon b1d309aa16 Some updates based on PR review notes 2018-04-04 10:50:18 +10:00
Shannon 7a73175aa0 Starts wiring up the back office to the c# bits, updates controllers, mappers, models, property editors to support getting and saving data by language. The content editor now "works" with multi-lingual properties 2018-04-04 01:59:51 +10:00
Stephan d4bd4256f1 Fix models mapping 2018-04-03 16:20:19 +02:00
Stephan 553de2ea68 Cleanup ILogger 2018-04-03 16:15:59 +02:00
Stephan e3c6205d0c Fix 2018-04-03 15:32:46 +02:00
Stephan 75966dcfbd Merge branch origin/dev-v8 into dev-v8 2018-04-03 14:57:55 +02:00
Stephan cdd064ba08 Upgrade Dependencies 2018-04-03 14:54:01 +02:00
MADSRASMUSSB4A1\madsrasmussen fca9279322 update languages icon to globe instead of flag 2018-04-03 11:25:59 +02:00
Shannon e7bc4986a5 Start updating the model/controller for editing variants in the back office and wiring up the angular side of things 2018-04-03 19:25:43 +10:00
Warren Buckley c6814d41a9 Merge pull request #2557 from umbraco/dev-v8-merge-up-11164-regression
Merge upto V8 - U4-11164 Blank Login Screen regression from 7.10
2018-04-03 09:44:41 +01:00
Warren 05604880e0 Merge branch 'patch-v7' into dev-v8
* Merging up into V8 the 7.10 regression with assetsService locale stuff #U4-11164
2018-04-03 09:38:50 +01:00
Shannon 271a100759 Obsolete the methods we want to remove from ILogger 2018-04-03 16:38:31 +10:00
Dave Woestenborghs 27b19a0a33 U4-11167 only wrap in time out when syncTree method is undefined 2018-04-03 07:37:37 +02:00
Shannon 26134cd616 updates nuspec and install.core.ps1 to not include the old dlls 2018-04-03 13:10:08 +10:00
Shannon 9d5156d7f0 fixes some tests 2018-04-03 13:01:01 +10:00
Shannon 1719d33a48 Fixes tests, updates examine, fixes how __Path is stored 2018-04-03 12:33:21 +10:00
Shannon 047a05cfb3 bumps version 2018-04-03 11:38:13 +10:00
Shannon e77ebc0c1c Fixes all references to assetsService.load* that do not pass in a required scope object and changes assets.service to always use the $rootScope of an explicit scope is not passed 2018-04-03 11:27:53 +10:00
Shannon a27ea994b7 updates the loadMomentLocaleForCurrentUser to always return a promise 2018-04-03 10:59:55 +10:00
Shannon e019c94207 changes back to correct version 2018-04-03 10:42:57 +10:00
Shannon 5b7193aa64 Merge branch 'temp-U4-11164' of https://github.com/dawoe/Umbraco-CMS into dawoe-temp-U4-11164 2018-04-03 10:41:01 +10:00
Dave Woestenborghs f6263aad5b U4-11167 wrap syncTree method to handle rare occasions where it is not defined yet 2018-03-31 15:09:30 +02:00
Warren Buckley 1e9aad5a0c Merge pull request #2553 from umbraco/temp-U4-11165
U4-11165 Integrate language UI with the language controller in the back end
2018-03-30 21:03:20 +01:00
Warren ad14fbd1f8 Set the language to be mandatory too as well 2018-03-30 21:01:24 +01:00
Stephan f89816111b Wire NuCache and IdkMap 2018-03-30 14:00:44 +02:00
Dave Woestenborghs 28a0e30315 U4-11164 fixed blank screen for about 30 seconds after logging in. Because of q.all we don't need to wait until promise is resolved, because all promises are resolved when this is hit 2018-03-30 11:20:41 +02:00
Stephan c75d4e5b5b Fix post-merge 2018-03-30 11:00:07 +02:00
Stephan f7a3c97da0 Fix build 2018-03-30 10:29:19 +02:00
Stephan 62b6efc4da Fix upgrading 2018-03-30 10:28:49 +02:00
Warren a9c184b4fd Updates the JS to remove unneeded services injected in
Updates view to be simpler if statement - that by having something set to it then we can show the UI
2018-03-29 20:54:20 +01:00
Warren 14b4c12cdb Adds NPM package.json lock file - so we ensure dependencies are consistent for all 2018-03-29 20:11:14 +01:00
Warren 1049a7be12 Updates UI .csproj - to remove the broken Analyzers for now (Not sure we use the lovely VS C# analyzers & more of a R# team) 2018-03-29 20:09:58 +01:00
Shannon 6d2bf71824 adds required check back in 2018-03-30 01:23:51 +11:00
Shannon 7f27862943 Gets correct validation working with languages, we can now create and update 2018-03-30 01:20:40 +11:00
Shannon b9d0c63002 Starts wiring up the language editor with the controller, ensure that you cannot delete a language at the repo level and makes sure that we return and show validation messages when the user tries to delete the default or last language. 2018-03-29 23:48:54 +11:00
Shannon Deminick 3489e66d64 Merge pull request #2546 from umbraco/temp-U4-11124
U4-11124 - Prevents deleting a default language (API Controller & Service Layers)
2018-03-29 22:48:24 +11:00
Shannon 826102ea4d Merge remote-tracking branch 'origin/temp-v8-UI' into dev-v8 2018-03-29 22:42:18 +11:00
Shannon 7fd9caf889 Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8
# Conflicts:
#	src/Umbraco.Web/PublishedContentQuery.cs
2018-03-29 22:35:46 +11:00
Shannon 83e90969b3 i guess trying to rename the thing didn't work 2018-03-29 22:15:46 +11:00
Shannon 8f01a2ab0a fixes merge issues 2018-03-29 22:13:41 +11:00
Stephan 23e8632df6 Merge pull request #2549 from umbraco/temp-U4-11102
Examine v1.0.0 integration to Umbraco v8
2018-03-29 11:32:13 +02:00
Stephan c72ce0b759 Fix Examine PR, fix migrations and upgrades 2018-03-29 11:31:33 +02:00
Shannon 881fbb7f76 Merge remote-tracking branch 'origin/dev-v7' into dev-v8
# Conflicts:
#	build/Modules/Umbraco.Build/Umbraco.Build.psm1
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Core/DatabaseContext.cs
#	src/Umbraco.Core/IO/FileSystemProviderManager.cs
#	src/Umbraco.Core/ObjectExtensions.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenSevenZero/AddUserGroupTables.cs
#	src/Umbraco.Core/PropertyEditors/ValueConverters/IntegerValueConverter.cs
#	src/Umbraco.Core/Services/IdkMap.cs
#	src/Umbraco.Core/Services/UserService.cs
#	src/Umbraco.Core/packages.config
#	src/Umbraco.Tests.Benchmarks/app.config
#	src/Umbraco.Tests/UI/LegacyDialogTests.cs
#	src/Umbraco.Web/Cache/MediaCacheRefresher.cs
#	src/Umbraco.Web/Cache/UnpublishedPageCacheRefresher.cs
#	src/Umbraco.Web/Features/DisabledFeatures.cs
#	src/Umbraco.Web/Mvc/RenderRouteHandler.cs
#	src/Umbraco.Web/Mvc/UmbracoAuthorizeAttribute.cs
#	src/Umbraco.Web/PublishedCache/ContextualPublishedCache.cs
#	src/Umbraco.Web/PublishedCache/ContextualPublishedContentCache.cs
#	src/Umbraco.Web/PublishedCache/ContextualPublishedMediaCache.cs
#	src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedContentCache.cs
#	src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs
#	src/Umbraco.Web/PublishedContentQuery.cs
#	src/Umbraco.Web/WebApi/Filters/FeatureAuthorizeAttribute.cs
#	src/Umbraco.Web/packages.config
#	src/Umbraco.Web/umbraco.presentation/umbraco/create/MemberGroupTasks.cs
2018-03-29 20:01:14 +11:00
Stephan 295f727c90 Merge origin/dev-v8 into temp-U4-11102 2018-03-29 10:57:38 +02:00
Stephan 8cb92b95cb Fix migration plan 2018-03-29 09:39:37 +02:00
Shannon fb89f0a795 Merge commit '2aa0dfb2c5' into dev-v8
Force merging v7 -> v8, ignoring any conflicts and choosing "our" version (v8)
since we've manually merged it alraedy
2018-03-29 18:07:45 +11:00
Shannon 10dec4115d Updates to latest examine and replaces IExamineIndexCollectionAccessor since we now have IExamineManager 2018-03-29 16:42:11 +11:00
Shannon 5010cbbf30 Gets the examine stuff re-merged and updated after the great merge 2018-03-29 15:39:48 +11:00
Shannon 5482b8f2f0 Merge remote-tracking branch 'origin/dev-v8' into temp-U4-11102
# Conflicts:
#	src/NuGet.Config
#	src/Umbraco.Web/Components/DatabaseServerRegistrarAndMessengerComponent.cs
#	src/Umbraco.Web/IPublishedContentQuery.cs
#	src/Umbraco.Web/PublishedContentQuery.cs
#	src/Umbraco.Web/Search/ExamineComponent.cs
#	src/Umbraco.Web/WebServices/ExamineManagementApiController.cs
2018-03-29 14:00:20 +11:00
Stephan 796d931f65 Fix tests & apps 2018-03-28 18:07:53 +02:00
Dave Woestenborghs d1eb6b1aa8 U4-11161 don't show help text when it's not a multipicker 2018-03-28 17:07:56 +02:00
Dave Woestenborghs 458d023ff4 U4-11161 set min and max number in default config 2018-03-28 17:03:35 +02:00
Shannon 2c132fe15f ignores search properties that should not be discovered 2018-03-28 23:00:03 +11:00
Shannon 4b32387aec fixes bug with getting indexer properties in the mgmt controller 2018-03-28 22:50:31 +11:00
Shannon 3d42ce166f fixes bug with getting indexer properties in the mgmt controller 2018-03-28 22:48:04 +11:00
Shannon 53f66d2a1b removes unused class 2018-03-28 22:38:40 +11:00
Shannon 7d13704cf9 Updates to latest examine beta, cleans up more code, always reference a searcher by it's indexer 2018-03-28 22:23:17 +11:00
Stephan 14592a227b Merge origin/dev-v8 into v7 temp merge 2018-03-28 12:58:39 +02:00
Stephan 7adc986472 Cleanup various migration stuff 2018-03-28 12:40:52 +02:00
Stephan 0ecc333a90 Fix port, tests 2018-03-28 11:28:32 +02:00
Shannon 52aa02668f Gets examine working with proper events, tests are working, etc... 2018-03-28 16:12:43 +11:00
Shannon f0a342d84e Merge branch 'dev-v8' into temp-U4-11102 2018-03-28 12:58:42 +11:00
Shannon 487e4cbe20 Fixes various migration stuff - language migration was broken (public ctor), the custom sql in KeyValueService was incorrect, moved to migration syntax, InsertDataExpression didn't work, fixed with v7 code that does work, changes some Database.Execute to Execute.Sql so logging occurs. Fixes packages.config inclusion 2018-03-28 12:50:15 +11:00
Shannon c2707f3806 updates to latest examine and fixes a test 2018-03-28 12:46:34 +11:00
Stephan 0d22478186 Port v7@2aa0dfb2c5 - WIP 2018-03-27 17:59:53 +02:00
Warren e9380b048b Throw a HTTP Bad Request if an API request in backoffice is made to try & delete the Default Language 2018-03-27 16:33:28 +01:00
Stephan 6b1ed89cb0 Port v7@2aa0dfb2c5 - WIP 2018-03-27 16:42:52 +02:00
Stephan c2e1ba21b2 Port v7@2aa0dfb2c5 - WIP 2018-03-27 16:18:51 +02:00
Dave Woestenborghs cf871196f2 U4-11155 changed namespace back to previous value so creating member groups works again 2018-03-27 16:11:07 +02:00
Dave Woestenborghs 36d6b6a254 U4-11150 merged where statements in to one statement 2018-03-27 14:22:51 +02:00
Stephan d40a835701 Port v7@2aa0dfb2c5 - WIP 2018-03-27 10:51:41 +02:00
Stephan 0a4878d2a3 Port v7@2aa0dfb2c5 - WIP 2018-03-27 10:04:07 +02:00
Shannon c66365e11a gets some tests working 2018-03-27 18:35:16 +11:00
Shannon 88d66cfb53 Examine v1.0.0 integration, it now builds! now to run tests and fixup 2018-03-27 18:14:21 +11:00
Robert e5c7c5eb2d Merge pull request #2541 from umbraco/temp-U4-11121
U4-11121 New LanguagesController (back office editor controller) for …
2018-03-26 13:14:18 +02:00
Shannon 89c376f77a adds ValueTuple reference to nuspec 2018-03-26 20:08:11 +11:00
Claus 19a408fcae U4-11121 New LanguagesController (back office editor controller) for persisting language changes 2018-03-26 10:55:49 +02:00
Dave Woestenborghs 29bb86ea13 Filter tours based on current users culture 2018-03-23 16:37:13 +01:00
Dave Woestenborghs fa171e4553 Added culture property to Backoffice tour 2018-03-23 15:33:42 +01:00
Mads Rasmussen 486ead0983 Merge pull request #2537 from umbraco/temp-U4-11129
U4-11129 Updates Content Delete Dialog with new copy/warning about variants
2018-03-23 14:57:46 +01:00
Warren Buckley 5449de6426 Merge pull request #2538 from umbraco/temp-U4-11126-variant-switch-prompt
Temp u4 11126 variant switch prompt
2018-03-23 13:50:31 +00:00
Mads Rasmussen 4fa27c09fa fix user dialog toggle 2018-03-23 14:47:12 +01:00
Mads Rasmussen fe32481b6e bring dashboards back to life 2018-03-23 14:14:25 +01:00
Claus 7c264b4da0 adding using statement to preview file to prevent missing htmlhelper error. 2018-03-23 11:57:29 +01:00
Claus 716020602d adding using statement to preview file to prevent missing htmlhelper error. 2018-03-23 11:55:23 +01:00
Mads Rasmussen cf81f97f73 show discard changes prompt when swithing variant 2018-03-23 11:28:27 +01:00
Mads Rasmussen 26b575b2f6 remove console log 2018-03-23 11:27:42 +01:00
Mads Rasmussen 8e8102a51d update styling for discard changes dialog 2018-03-23 11:27:24 +01:00
Warren 7b17539022 Merge branch 'temp-v8-UI' into temp-U4-11129 2018-03-23 10:05:01 +00:00
Warren 9269a257e8 Adds new info bar to content delete dialog with warning about variants/languages 2018-03-23 10:04:26 +00:00
Mads Rasmussen edeb9c61ac Merge pull request #2535 from umbraco/temp-U4-11125
U4-11125 - Updates Langugae Keys for when changing default language in info bar
2018-03-23 10:07:48 +01:00
Warren 8d0441ee08 Update language keys for changing default language warning 2018-03-23 09:03:06 +00:00
Sebastiaan Janssen 8c0ec489c2 Bump version to 7.11 2018-03-23 09:54:11 +01:00
Stephan 59bac5c2a6 Fix a few things, the v8 way 2018-03-22 17:51:34 +01:00
Stephan a2a4edb3be Port v7@2aa0dfb2c5 - WIP 2018-03-22 17:41:13 +01:00
Mads Rasmussen 2250943c87 remove gray bg in context menu header 2018-03-22 15:43:13 +01:00
Claus 3a3d6239f0 U4-11144 GetManifestFiles fails if there's no App_Plugins folder 2018-03-22 15:35:51 +01:00
Claus a4c9d8f1bf typos 2018-03-22 15:34:28 +01:00
Claus e6010fcd1e Merge pull request #2534 from umbraco/temp-U4-11122
U4-11122 - Update DB and Service/Repo layer to handle language changes: mandatory, default
2018-03-22 15:18:15 +01:00
Sebastiaan Janssen 81d380a47e Merge branch 'dev-v7' into master-v7 2018-03-22 14:55:52 +01:00
Sebastiaan Janssen 19e5715a84 Whoops, that was not supposed to say beta 2018-03-22 14:55:02 +01:00
Claus 730c4eaf2d Merge pull request #2529 from umbraco/temp-U4-11123-take2
U4-11123 (Take 2) Updates Language Tree to not show having children or right click menu
2018-03-22 13:48:43 +01:00
Shannon 01b48a5aab adds logic for repository and unit tests 2018-03-22 23:15:52 +11:00
Warren Buckley c5365b7d0d Merge pull request #2528 from umbraco/temp-U4-11120
Temp u4 11120
2018-03-22 11:37:44 +00:00
Sebastiaan Janssen 2e2dce170a Merge branch 'dev-v7.10' into master-v7 2018-03-22 11:28:48 +01:00
Sebastiaan Janssen 59f9a64e81 Merge branch 'dev-v7' into dev-v7.10
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
2018-03-22 11:27:26 +01:00
Stephan 62c5f0f1ef Port v7@2aa0dfb2c5 - WIP 2018-03-22 11:25:38 +01:00
Stephan 8bfb8e2b72 Port v7@2aa0dfb2c5 - WIP 2018-03-22 11:25:33 +01:00
Stephan 41948607d0 Port v7@2aa0dfb2c5 - WIP 2018-03-22 11:25:25 +01:00
Stephan a9147f1473 Port v7@2aa0dfb2c5 - WIP 2018-03-22 11:25:22 +01:00
Stephan 8199b7710c Port v7@2aa0dfb2c5 - WIP 2018-03-22 11:25:18 +01:00
Stephan 0cbfebe21c Port v7@2aa0dfb2c5 - WIP 2018-03-22 11:25:08 +01:00
Sebastiaan Janssen 98b7467306 Merge branch 'dev-v7' into master-v7 2018-03-22 10:53:24 +01:00
Sebastiaan Janssen 4bb75d73dd Bump version to 7.9.3 2018-03-22 10:50:12 +01:00
Mads Rasmussen f3859f891e localize "add language" 2018-03-22 10:46:38 +01:00
Shannon Deminick dd8e43d80a Fixes U4-10472 Cannot upgrade to 7.7+ when using MySql (#2493)
* Fixes U4-10472 Cannot upgrade to 7.7+ when using MySql

* Fixes dropping the FK for the AddUserGroupTables migration
2018-03-22 10:35:41 +01:00
Claus c9c9e8352a Merge pull request #2532 from umbraco/temp-U4-11134
redirects preview to login when not authorized
2018-03-22 10:22:32 +01:00
Mads Rasmussen bb7c96f408 better naming of tree language selector 2018-03-22 09:59:49 +01:00
Shannon c4e5ab54d2 redirects preview to login when not authorized 2018-03-22 19:55:55 +11:00
Shannon 53bfec8a04 Merge branch 'dev-v7' into dev-v7.10 2018-03-22 19:22:34 +11:00
Shannon b3fb23a67a Adds language entity changes and tests 2018-03-22 17:51:38 +11:00
Shannon d852c43559 oops, didn't mean to commit new lang tests 2018-03-22 17:33:16 +11:00
Shannon 0710311e70 uncomments an ignore attribute on a test that should definitely be passable 2018-03-22 17:27:34 +11:00
Shannon 422fd8e274 Fixes many hard coded SQL table names with the proposed new prefix 2018-03-22 17:17:01 +11:00
Shannon 448d490eb7 Adds TODO note about GlobalSettings 2018-03-22 16:35:16 +11:00
Shannon e2d039d984 Changes db prefix to 'umbraco' 2018-03-22 15:10:05 +11:00
Sebastiaan Janssen b4a0dadee9 Re-apply the nice C# syntax James provided 2018-03-21 19:53:20 +01:00
Lee Kelleher 014ac98d0b U4-11052 - Enabled IntegerValueConverter to handle Int64 source values (#2500)
* Enabled IntegerValueConverter to handle `Int64` source values
2018-03-21 19:08:24 +01:00
Warren d8c1e2fa98 Makes sure to set no child nodes & menu url
Removes the child arrow for tree items
Removes the 3 dots for the context menu item that had nothing in it
2018-03-21 15:53:09 +00:00
Mads Rasmussen c701bf5a74 fix unit tests 2018-03-21 16:51:08 +01:00
Stephan 10972002d9 Fix install issues with super user 2018-03-21 16:10:33 +01:00
Mads Rasmussen 32daf0f8d7 only show default language info when toggle is turned on 2018-03-21 15:31:51 +01:00
Claus 37870e906c Merge pull request #2527 from umbraco/temp-U4-11123
Temp U4-11123 - Sets Language Root Tree Node to use custom UI
2018-03-21 14:36:11 +01:00
Claus 49a9a249d0 removes using statements. 2018-03-21 14:35:43 +01:00
Mads Rasmussen a23f122f5f only delete language when allowed 2018-03-21 14:01:48 +01:00
Robert 35a79a8598 Merge pull request #2525 from umbraco/temp-U4-11020
U4-11020 Deleting a member group that is part of a Public Access feat…
2018-03-21 13:47:02 +01:00
Robert 3c4f052a27 Moved some code around based on feedback 2018-03-21 13:45:44 +01:00
Mads Rasmussen bc4e97be48 fixes: U4-11120 Create new Language dashboard to create/remove/set default languages - angular 2018-03-21 13:39:16 +01:00
Warren 82bc05e0a0 Sets language tree root node with flag icon that child items had & sets the route for a custom UI
Removes child tree items as we will now use new UI to manage them
Removes menu items (as no need for create, refresh, delete etc)
2018-03-21 11:42:09 +00:00
Stephan 33a24e0e2f Fix the install process 2018-03-21 11:32:07 +01:00
Robert 97d7e3db84 Forgot add the new namespace 2018-03-21 10:46:42 +01:00
Robert 0d2df4de81 Some cleanup 2018-03-21 10:22:08 +01:00
Shannon df312309a3 ensure the key/value table is created 2018-03-21 16:53:21 +11:00
Shannon bd6dd13295 Updates the user Id to the new -1 2018-03-21 14:49:10 +11:00
Shannon b361cfebb7 updates npm build dependencies 2018-03-21 13:55:01 +11:00
Shannon ebea5e8170 fixes boolean pre-value editor Html Id 2018-03-21 13:53:54 +11:00
Shannon 995f3f38a3 Fixes upgrade issue with copying the preview.old directory and updates the link to the the correct public one 2018-03-21 12:52:17 +11:00
Shannon 2ad79956d9 Re-apply Drop Down Flexible "Merge pull request #2502 from umbraco/temp-U4-11032"" 2018-03-21 12:37:26 +11:00
Shannon 96c6a17d03 Merge branch 'dev-v7' into dev-v7.10 2018-03-21 12:36:55 +11:00
Shannon e2e0dd0c73 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-03-21 12:34:15 +11:00
Shannon 1a590664e7 Revert "Merge pull request #2502 from umbraco/temp-U4-11032"
This reverts commit 2aa0dfb2c5, reversing
changes made to 2c6e7e46c2.
2018-03-21 12:32:27 +11:00
Shannon Deminick 64fd6ee7c5 Merge pull request #2477 from Shazwazza/U4-10992
U4-10992 (UDUF) TourController Object reference not set to an instance of an…
2018-03-21 12:24:50 +11:00
Shannon Deminick 2ed5b6c1ee Merge pull request #2436 from umbraco/temp-U4-10957_2
U4-10957 If RequiredSection is not defined in a tour - backoffice wil…
2018-03-21 12:24:10 +11:00
Shannon Deminick 41c4e024de Merge pull request #2505 from umbraco/temp-u4-10756
U4-10756 - id/guid cache
2018-03-21 11:42:04 +11:00
Shannon b46add81f0 Merge branch 'dev-v7.10' into temp-u4-10756 2018-03-21 11:39:28 +11:00
Shannon ff31cd9f72 Changes Set to Populate, changes Fetch to Query and makes GetById public 2018-03-21 11:31:30 +11:00
Shannon 084af43dab Merge remote-tracking branch 'origin/dev-v7' into dev-v7.10 2018-03-21 10:20:20 +11:00
Stephan c6986ef0ab With ModelsBuilder alpha.15 2018-03-20 16:56:05 +01:00
Stephan 32e6aa4f6b Version alpha.32 for ModelsBuilder 2018-03-20 16:21:26 +01:00
Sebastiaan Janssen edf7038848 U4-11020 Deleting a member group that is part of a Public Access feature, from the system, does not also remove the corresponding rows from the umbracoAccessRule table. 2018-03-20 15:00:09 +01:00
Niels Hartvig bcac02861d Merge pull request #2524 from davidwandar/patch-2
Fixed typo in Readme.
2018-03-20 11:18:57 +01:00
Sebastiaan Janssen 79ecaecc9e Merge pull request #2503 from umbraco/temp-U4-11070
Adds support for *not* closing an overlay on enter
2018-03-20 11:14:57 +01:00
Sebastiaan Janssen f604117c6d Merge pull request #2504 from umbraco/temp-U4-11071
U4-11071 Prevalue editor for multiple values TLC
2018-03-20 11:14:42 +01:00
David Wandar dcf7f35078 Fixed typo.
Xloud -> Cloud 

Xloud sounds awsome though :)
2018-03-20 10:00:53 +01:00
Stephan fe03f1af57 Merge remote-tracking branch 'origin/dev-v8' into dev-v8 2018-03-20 09:32:07 +01:00
Tom Fulton 0b63eb9430 U4-11133 - Adjust access check for Unpublish button
Require both Publish (assigned) and Unpublish (automatic, but could be removed during event) to show the button
2018-03-19 19:43:07 -06:00
Tom Fulton d7ddbfec35 U4-11133 - Fix access check for Unpublish button
The logic to show the Unpublish button was checking for "Publish" (U) permission rather than "Unpublish" (Z)
2018-03-19 19:30:51 -06:00
Tom Fulton d260a9dc88 U4-7757 - Show notifications when Unpublishing is canceled 2018-03-19 19:03:02 -06:00
Stephan 39cc7add80 Rename Umbraco.Whatever2 editors 2018-03-19 18:39:34 +01:00
Robert 2aa0dfb2c5 Merge pull request #2502 from umbraco/temp-U4-11032
U4-11032 Consolidate the number of dropdown property editors into one
2018-03-19 14:37:47 +01:00
Robert e4b77416a6 Fixed typo 2018-03-19 14:28:24 +01:00
Robert 3aed889e2a Merge branch 'dev-v7' into temp-U4-11032 2018-03-19 14:14:51 +01:00
Stephan 54122cc0c6 Troubleshoot, fix 2018-03-19 13:36:31 +01:00
Robert 2c6e7e46c2 Merge pull request #2517 from dawoe/patch-1
Fixed documentation of umb-overlay directive
2018-03-19 08:58:23 +01:00
Mikulas Tomanka 0a71a09d21 Merge pull request #2518 from dawoe/patch-2
Remove console.log from slider property editor
2018-03-19 08:32:40 +01:00
Dave Woestenborghs 0c868fb72d Remove console.log from slider property editor
removed console.log statement from slider property editor controller
2018-03-16 18:43:54 +01:00
Dave Woestenborghs a96cbce9b1 Fixed documentation of umb-overlay directive
- Removed lorem ipsum text 
- Fixed casing of subtitle
2018-03-16 18:12:46 +01:00
Sebastiaan Janssen e3e425695f U4-8724 tinyMceConfig.config customConfig bool not correct deserialized 2018-03-16 16:34:58 +01:00
Sebastiaan Janssen b539c6ec27 Merge pull request #1445 from KevinJump/dev-v7-ConnectionStringConfigSource
U4-8890 - Honour ConfigSource when setting ConnectionString
2018-03-16 15:45:21 +01:00
Stephan dda696bde5 Troubleshoot, fix 2018-03-16 09:11:59 +01:00
Mads Rasmussen 2d263447cf lighten border on tree 2018-03-16 08:19:03 +01:00
Shannon 69f7623fb7 Doh! we had test code checked in .. oops! 2018-03-16 14:40:26 +11:00
Shannon 82820284f3 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.10
# Conflicts:
#	src/Umbraco.Web/Features/DisabledFeatures.cs
#	src/Umbraco.Web/Features/EnabledFeatures.cs
2018-03-16 14:30:55 +11:00
Sebastiaan Janssen 5f3090c81e grunt was discontinued in 7.7 and shouldn't exist here any more to avoid confusion 2018-03-15 10:40:40 +01:00
Sebastiaan Janssen f66e239584 PhantomJs doesn't understand fancy ES6 notation 2018-03-15 10:32:25 +01:00
Sebastiaan Janssen a465ed415d Rename to javascriptLibraryService 2018-03-15 10:08:00 +01:00
Sebastiaan Janssen 5161fd0cef Remove trailing space from filename and clean up code a little 2018-03-15 10:07:04 +01:00
Sebastiaan Janssen eac9785c45 Apply PR #2507 2018-03-15 10:02:20 +01:00
Sebastiaan Janssen 054a8b48fa Revert PR #2507 - needs to go in 7.10 2018-03-15 09:59:04 +01:00
Stephan af0a03a3e0 U4-10756 - cleanup 2018-03-15 09:51:12 +01:00
Stephan fb5e6c22ce Merge remote-tracking branch 'origin/dev-v7' into temp-u4-10756 2018-03-15 09:46:52 +01:00
Stephan 6bc68005f4 U4-10756 - id/guid cache, new version 2018-03-15 09:46:39 +01:00
Sebastiaan Janssen dfbc3c477a Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into pr/2507 2018-03-15 09:38:44 +01:00
Niels Hartvig 57426ae895 Feedback from review. Makes the moment service more generic and changes promises chaining 2018-03-14 11:10:01 +01:00
Shannon 05c38db54c updates naming of the extending preview property and fixes the angular rendering on ng-init 2018-03-14 15:24:30 +11:00
Shannon 00fdace570 fixes preview view web.config and makes sure we pass the preview model to the view 2018-03-14 14:38:21 +11:00
Shannon 4e531976e9 missing file 2018-03-14 14:24:11 +11:00
Shannon 0feb1b6cc0 fixes build since we don't have preview files 2018-03-14 14:02:35 +11:00
Shannon 830f460b7e bumps version 2018-03-14 13:58:48 +11:00
Shannon 3e2fa64820 Changes the Preview Index.cshtml to use a real model instead of viewdata, adds the correct razor web.config for these preview views, changes the enabled feature to be able to inject a razor view instead of strings 2018-03-14 13:56:49 +11:00
Shannon Deminick 7db4f841e3 Merge pull request #2485 from umbraco/temp-UAASSCRUM-1405
UAASSCRUM-1405 Clean up preview for Headless
2018-03-14 13:39:28 +11:00
Shannon 509d27f93b Merge branch 'dev-v7.10' into temp-UAASSCRUM-1405
# Conflicts:
#	src/Umbraco.Web/Features/EnabledFeatures.cs
2018-03-14 13:38:25 +11:00
Shannon f42b122e73 adding missing files 2018-03-14 13:35:51 +11:00
Shannon b4aad19573 Revert "Merge pull request #2508 from umbraco/temp-U4-11076"
This reverts commit 4161d244c1, reversing
changes made to eea87e411f.
2018-03-14 13:23:33 +11:00
Shannon 1b6c070752 Merge remote-tracking branch 'origin/dev-v7' into temp-UAASSCRUM-1405 2018-03-14 12:56:07 +11:00
Shannon bedce100d2 Fixes merge and the preview views path 2018-03-14 12:55:34 +11:00
Shannon 0e08a56ada Merge branch 'dev-v7' into temp-UAASSCRUM-1405
# Conflicts:
#	src/Umbraco.Web/Features/DisabledFeatures.cs
#	src/Umbraco.Web/Features/EnabledFeatures.cs
2018-03-14 12:25:37 +11:00
Sebastiaan Janssen 03012cf54d Merge pull request #1435 from neilgaietto/U4-8822
U4-8822- Fixes Unpublish error with empty RTE
2018-03-14 00:10:49 +01:00
Sebastiaan Janssen 7ff339e18a Merge pull request #1306 from shiroganee/Fix-8533
removes a overflow: hidden which decrease update-tree-layer performance
2018-03-13 23:34:59 +01:00
Sebastiaan Janssen 0048b9c4c8 Merge pull request #2516 from bjarnef/dev-v7-U4-11093
U4-11093 - Update Danish translations
2018-03-13 23:03:48 +01:00
Bjarne Fyrstenborg 47f5e6bf17 Remove duplicate key in user area 2018-03-13 22:23:38 +01:00
Bjarne Fyrstenborg a8908c90bc Add better translations to Danish 2018-03-13 22:21:44 +01:00
Sebastiaan Janssen 9e5e8b539a Merge branch 'bjarnef-dev-v7-U4-6616' into dev-v7 2018-03-13 22:19:15 +01:00
Sebastiaan Janssen 45d292e196 Merge branch 'dev-v7-U4-6616' of https://github.com/bjarnef/Umbraco-CMS into bjarnef-dev-v7-U4-6616
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/less/variables.less
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/iconpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/dialogs/iconpicker.html
2018-03-13 22:18:28 +01:00
Niels Hartvig 6bafd3a254 Removes ugly non-existing comment :) 2018-03-13 16:39:01 +01:00
Niels Hartvig 564074a2bd Adds check for existing moment locales before attempting to download them 2018-03-13 16:19:51 +01:00
Shannon Deminick 4161d244c1 Merge pull request #2508 from umbraco/temp-U4-11076
Fix - U4-11076 Remove all references to templates from the backoffice
2018-03-12 20:32:29 -07:00
Shannon 171e0d87db Updates some of the variable names, removes the EnabledFeatures since we don't really need that 2018-03-13 14:31:30 +11:00
Shannon Deminick eea87e411f Merge pull request #2514 from umbraco/temp-U4-11065
Fix - U4-11065 Sensitive data is shown in listviews
2018-03-12 17:25:49 -07:00
Shannon 89edfe5782 refactors a bit - merges the 2 new resolvers into one and renames with code comments. Updates the ContentPropertyBasic to include a new IsSensitive property for mapping, updates the UI to check for this, updats the mapping to map with UmbracoContext, 2018-03-13 11:23:44 +11:00
Shannon Deminick cbd5071eed Merge pull request #2510 from umbraco/temp-UAASSCRUM-1441
fixes UAASSCRUM-1441: fix token identity breaking RestAPI and others
2018-03-12 06:27:50 -07:00
Robert 3dbc2944aa Translations 2018-03-12 12:06:57 +01:00
Robert 709dab6afd Hooked sensitive data checks on member list view 2018-03-12 12:06:23 +01:00
Robert 8749b030cf Added custom resolver to deal with sensitive values on member list view, some cleanup 2018-03-12 12:04:54 +01:00
Sebastiaan Janssen 62fd15d54b Update CONTRIBUTING.md 2018-03-10 12:24:13 +01:00
Sebastiaan Janssen 66e71db85c Update CONTRIBUTING.md 2018-03-10 12:20:56 +01:00
Sebastiaan Janssen 469527da0a Update CONTRIBUTING.md 2018-03-10 12:20:24 +01:00
Robert 304e574bbc Merge pull request #2509 from umbraco/temp-U4-11058
fixes: U4-11058 Add guidance to the multinode treepicker UI for min. …
2018-03-08 14:01:14 +01:00
Robert 723644ace5 Merge pull request #2475 from barryokane/U4-7484-markdown
(uDuf) Prevent "unsaved" warning when no changes on MarkDown Editor
2018-03-08 13:23:46 +01:00
Stephan 2b936a6d31 UAASSCRUM-1441 - fix token identity 2018-03-08 13:18:53 +01:00
Sebastiaan Jansssen 3121635e07 Clarify upgrade readme 2018-03-08 13:15:04 +01:00
Mads Rasmussen 26defd8f29 Merge branch 'dev-v7' into temp-v8-UI 2018-03-08 11:52:08 +01:00
Mads Rasmussen f2a3a269ba fixes: U4-11058 Add guidance to the multinode treepicker UI for min. and max. allowed items 2018-03-08 11:22:31 +01:00
Robert 557fc1bcdd Removed hardcoded value for disabletemplate 2018-03-07 21:43:19 +01:00
Kyle Weems 617bdb2bd1 Merge branch 'dev-v7' of git://github.com/umbraco/Umbraco-CMS into dev-v7 2018-03-07 10:21:11 -08:00
Kyle Weems 2c91f9bf14 Reduce the first load impact of Moment by moving from using moment-with-locales.js to moment.min.js and loading in the specific locale files when the app authorizes. http://issues.umbraco.org/issue/U4-11044 2018-03-07 10:19:11 -08:00
Robert 1a5fe63638 Switching to ng-if to hide the template dropdown in the info tab 2018-03-07 14:51:24 +01:00
Robert dfb0efbc98 Removed option to assign templates from the info tab 2018-03-07 14:43:30 +01:00
Robert d399ad6e51 Removed option to assign templates from the document type 2018-03-07 14:13:53 +01:00
Robert eb06e62937 Removing the option to create document type with a template 2018-03-07 14:10:25 +01:00
Robert 728bf8b52d Adding disableFeatures server variable and new DisableTemplate property in DisabledFeatures.cs 2018-03-07 14:03:35 +01:00
Stephan 3637e1e5af Cleanup 2018-03-07 10:26:02 +01:00
Stephan c9f868dd3c UserId zero means null users, not super 2018-03-07 09:35:28 +01:00
Stephan e2ea849211 Cleanup 2018-03-07 09:34:41 +01:00
Stephan 2a3f284554 Cleanup 2018-03-06 17:24:28 +01:00
Niels Hartvig ca74100e12 TLC for multiple pre values editor 2018-03-06 16:11:44 +01:00
Stephan cd63806895 U4-10756 - id/guid cache 2018-03-06 16:11:27 +01:00
Niels Hartvig 3061dc4e6f Adds support for *not* closing an overlay on enter 2018-03-06 15:37:52 +01:00
Niels Hartvig 5166dc08d6 Missing null check 2018-03-06 12:44:39 +01:00
Niels Hartvig 05a9c44e9e Needs to check if single value is an array and then pick first value 2018-03-06 11:51:32 +01:00
Niels Hartvig 8e0565e030 Fixes spacing in description :) 2018-03-06 11:16:51 +01:00
Niels Hartvig ceb3ae361a Adds flexible dropdown editor to replace the four current ones 2018-03-06 11:07:08 +01:00
Niels Hartvig 4cee7b831a Merge branch 'dev-v7' into temp-U4-11032 2018-03-06 10:08:04 +01:00
Robert f146262031 Merge pull request #2476 from barryokane/U4-9996
(uDuf) Prevent unsaved dialogue appearing when no changes made on FileUpload
2018-03-06 09:17:17 +01:00
Stephan 0277ddc584 DataType troubleshooting 2018-03-05 14:59:23 +01:00
Robert ddae0d01e3 Merge pull request #2460 from mwanchap/U4-10821
Fix for U4-10821, render alt text attribute from grid image editor (uduf hackathon)
2018-03-05 14:35:23 +01:00
Robert b9ee85dabc String ->string 2018-03-05 14:34:36 +01:00
Stephan 030c97ef26 Super user is not a Zero 2018-03-02 16:00:15 +01:00
Sebastiaan Janssen 29fa6061a9 Merge pull request #2496 from soreng/temp-U4-9992
U4-9992: Added nuget config to restore command
2018-03-02 11:56:39 +01:00
Søren Gregersen 8ee61312b6 Added nuget config to restore command 2018-03-02 11:47:57 +01:00
Sebastiaan Janssen cfd4b8c7bf Merge pull request #2495 from soreng/temp-U4-9992
U4-9992: Added usage of nuget config in environment setup
2018-03-02 11:45:42 +01:00
Sebastiaan Janssen 7ce3b6046c Merge pull request #2494 from Mivaweb/patch-1
Update NL.xml rectify and permissionDenied
2018-03-02 11:43:20 +01:00
Søren Gregersen 43d98c9682 Added usage of nuget config in environment setup 2018-03-02 11:42:41 +01:00
Michaël Vanbrabandt 62e4825a5e Update NL.xml rectify and permissionDenied 2018-03-02 10:47:15 +01:00
Sebastiaan Janssen 81d35c6079 Merge pull request #2491 from mortenbock/temp-U4-5614
U4-5614 - Handle invalid urls in extension check
2018-03-01 20:49:09 +01:00
Morten Bock 7e15077f96 Handle invalid urls in extension check 2018-03-01 20:18:18 +01:00
Sebastiaan Janssen 6543e3c058 Merge pull request #2489 from mortenbock/temp-U4-288
U4-288 - Allow relative urls in sheduled tasks
2018-03-01 19:47:31 +01:00
Morten Bock 7c73c379cf Use the UmbracoApplicationUrl as the base for sheduled task urls, in case they are relative. 2018-03-01 19:11:37 +01:00
Sebastiaan Janssen 4bc9d96bce Merge pull request #2488 from hemraker/temp-U4-10993
Fixed open doc type button
2018-03-01 18:09:48 +01:00
Rune Hem Strand 45fd54d046 Fixed open doc type button 2018-03-01 18:06:46 +01:00
Sebastiaan Jansssen 4f062306a6 U4-10891 Color Picker Cannot read property 'hasOwnProperty' of null
(cherry picked from commit 4a8730b925)
2018-03-01 16:47:28 +01:00
Sebastiaan Jansssen 4a8730b925 U4-10891 Color Picker Cannot read property 'hasOwnProperty' of null 2018-03-01 16:45:38 +01:00
Sebastiaan Janssen 0beda4b790 Update CONTRIBUTING.md 2018-03-01 16:43:02 +01:00
Sebastiaan Jansssen d94e7cd906 Merge branch 'dev-v7' into master-v7 2018-03-01 15:09:45 +01:00
Sebastiaan Jansssen 213ea6470f Bump version to 7.9.2 2018-03-01 15:09:04 +01:00
Sebastiaan Jansssen dde8ba5617 Merge branch 'dev-v7' into master-v7 2018-03-01 14:57:11 +01:00
Sebastiaan Janssen e783308cf0 Merge pull request #2487 from umbraco/temp-hartvig-ocd
Aligns installer/login background photo
2018-03-01 14:54:56 +01:00
Sebastiaan Jansssen 01f49bb07e Revert "Merge pull request #2426 from JeffreyPerplex/U4-9991-KeyboardShortcuts"
This reverts commit 325cefa349, reversing
changes made to d4cf4cd700.
2018-03-01 14:52:17 +01:00
Stephan 20a7d9926b Improve ReflectionUtilities 2018-03-01 14:50:42 +01:00
Niels Hartvig d06b7edd84 Change default value label to "true" 2018-03-01 14:46:36 +01:00
Niels Hartvig 466de5ee0b Adds a label to the boolean pre value editor 2018-03-01 14:41:44 +01:00
Niels Hartvig 976e1e8a35 Mark existing dropdown property editors as obsolete 2018-03-01 14:25:07 +01:00
Niels Hartvig a3d08c19c5 Aligns photo 2018-03-01 14:05:34 +01:00
Claus 23638702c8 adding missing views... 2018-03-01 12:57:43 +01:00
Mads Rasmussen 761804baf8 Merge pull request #2486 from umbraco/temp-U4-10876
Fixes "Content Picker 2 can search outside of it's selected start node"
2018-03-01 10:46:50 +01:00
Sebastiaan Jansssen a633e45b44 Merge branch 'dev-v7' into master-v7 2018-03-01 10:27:57 +01:00
Shannon 78489237d9 U4-11019- default isApproved to true 2018-03-01 18:21:14 +11:00
Shannon 8768947519 U4-11019 Member 'Locked out' marked as sensitive throws an error - fixes special values 2018-03-01 18:05:44 +11:00
Sebastiaan Jansssen 63b58dcd09 Merge remote-tracking branch 'origin/dev-v7' into master-v7 2018-03-01 07:51:07 +01:00
Shannon ccfb643055 U4-11019 Member 'Locked out' marked as sensitive throws an error 2018-03-01 17:15:47 +11:00
Robert 88e6e44f4e Fixes Content Picker 2 can search outside of it's selected start node 2018-02-28 15:54:13 +01:00
Claus 52684b6189 allowing to extend html used in preview view. 2018-02-28 13:41:49 +01:00
Sebastiaan Jansssen 76a0c6c39f Merge branch 'dev-v7' into master-v7 2018-02-28 13:28:39 +01:00
Sebastiaan Jansssen 86bc50c61d Bump version to 7.9.1 2018-02-28 13:27:53 +01:00
Claus 13c675d718 updating route to use the old url.
removing leftover index.html.
adding migration for renaming preview folder on disk.
2018-02-28 12:04:39 +01:00
Sebastiaan Janssen 924eab29af Merge pull request #2484 from umbraco/temp-U4-11021
U4-11021 No login form when trying to authorise 7.9 upgrade
2018-02-28 11:52:28 +01:00
Claus 0ee3ebd180 adding the preview controller to project.
removing old static html files from src (they're now cshtml files in Views).
copy task should not copy static canvasdesigner files anymore.
2018-02-28 08:58:16 +01:00
Matt Wanchap da0a1c808a Added fallback to caption if no altText, as suggested 2018-02-28 11:06:59 +10:00
Shannon 9504eddf7e Adds unit test to test mapping to a ContentItemDisplay when there are no property groups 2018-02-28 11:28:51 +11:00
Shannon e502db5f6f U4-11021 No login form when trying to authorise 7.9 upgrade 2018-02-28 09:33:47 +11:00
Sebastiaan Jansssen 22820ae5db Re-organize CONTRIBUTING.md 2018-02-27 22:06:47 +01:00
Sebastiaan Jansssen b65dc25193 More CONTRIBUTING.md 2018-02-27 22:03:33 +01:00
Sebastiaan Jansssen 99b5b0a396 CONTRIBUTING.md 🎉 2018-02-27 22:01:37 +01:00
Sebastiaan Janssen 7c33b5b69b Create PULL_REQUEST_TEMPLATE.md 2018-02-27 17:00:24 +01:00
Sebastiaan Janssen 2ec66bf6d7 Create CODE_OF_CONDUCT.md 2018-02-27 16:56:53 +01:00
Stephan a39511bf55 Troubleshooting 2018-02-27 16:13:23 +01:00
Sebastiaan Janssen 9421a92610 Merge pull request #2482 from umbraco/temp-u4-11018
Fix tabs issue
2018-02-27 15:48:48 +01:00
Claus 9c8c9d8a39 UAASSCRUM-1405 Clean up preview for Headless 2018-02-27 15:47:47 +01:00
Sebastiaan Jansssen 37d2203de1 Merge branch 'dev-v7' into master-v7 2018-02-27 15:45:16 +01:00
Stephan cec71f5651 Fix tabs issue 2018-02-27 14:52:12 +01:00
Sebastiaan Jansssen 7ee510ed38 Fix formatting 2018-02-26 16:28:12 +01:00
Sebastiaan Jansssen 136e9e66d2 Merge remote-tracking branch 'origin/dev-v7.8' into dev-v7.9 2018-02-26 16:26:54 +01:00
Shannon 55a2eb5b6c Merge branch 'dev-v7.9' of https://github.com/umbraco/Umbraco-CMS into dev-v7.9 2018-02-27 01:39:05 +11:00
Shannon 0c2c12fdd9 ensures that the template cache is cleared on startup if it hasn't been tracked in local storage 2018-02-27 01:38:53 +11:00
Sebastiaan Jansssen ec427afe14 Spelling 2018-02-26 15:19:45 +01:00
Shannon 155a304ce3 Allows GUID to be passed to ContentTreeControllerBase 2018-02-27 01:17:21 +11:00
Shannon 161a19a82b Adds cache busting for TinyMCE 2018-02-27 01:12:17 +11:00
Shannon e40ed5e858 not full caps for col name 2018-02-27 00:47:03 +11:00
Shannon 1ffbd734c8 Changes column and model for auditing to EventDateUtc 2018-02-27 00:46:09 +11:00
Shannon fd5bc49c87 Audits the member being exported, moves the export method to the service (again) but returns a proper model this time and raises an event, adds error checking to the export http request 2018-02-27 00:40:43 +11:00
Shannon Deminick 2301a00cd1 Merge pull request #2480 from umbraco/temp-U4-10794-2
Makes methods on IConsentService more explicit to allow mo
2018-02-26 22:43:26 +10:00
Shannon Deminick 313f7967cb Merge pull request #2479 from umbraco/temp-U4-10900-2
Fixes for U4-10900 Individual member data export functionality
2018-02-26 22:41:03 +10:00
Shannon 6adaa1f70c adds a notification when the member gets exported 2018-02-26 23:37:20 +11:00
Shannon 8960b0828e simplifies the exporter even more, no more reflection, no more streams 2018-02-26 23:23:25 +11:00
Shannon 397ab0e979 Merge branch 'dev-v7.9' into temp-U4-10900-2
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/member/export.html
2018-02-26 23:13:58 +11:00
Shannon 15c803b975 Changes how the json response is created 2018-02-26 23:12:33 +11:00
Shannon d62b36ae5b Merge branch 'temp-U4-10900-2' of https://github.com/umbraco/Umbraco-CMS into temp-U4-10900-2 2018-02-26 23:09:48 +11:00
Shannon 34506664df Moves the member export to happen on action click, adds a helper method to download a file via XHR 2018-02-26 23:09:29 +11:00
Sebastiaan Jansssen 2557b9a7fb Cleanup and makes a nice JSON object out of members + properties 2018-02-26 13:07:32 +01:00
Sebastiaan Jansssen ac66dc9892 Fix member groups and don't add a line at the top 2018-02-26 12:39:02 +01:00
Robert 11e3d8c761 Merge pull request #2474 from umbraco/temp-u4-10688
U4-10688 Obsolete property editors showing
2018-02-26 12:37:53 +01:00
Shannon Deminick 22b9941822 rename to match file naming conventions 2018-02-26 22:28:41 +11:00
Sebastiaan Jansssen b5b17a466b Cleanup and moving data to json format 2018-02-26 12:03:46 +01:00
Shannon 2c5b37a842 CHanges back to IConsentService but keeps method name changes 2018-02-26 21:56:00 +11:00
Niels Hartvig ae864a3b19 Mark old package installed Nested Content obsolete so it doesn't come up in the list 2018-02-26 11:32:58 +01:00
Mads Rasmussen 449e464a14 Merge branch 'mathiasrando-U4-10883' into dev-v7.9 2018-02-26 09:47:13 +01:00
Mads Rasmussen 5f72eb74db use attr to control button size + remove disabled state 2018-02-26 09:26:14 +01:00
Niels Hartvig fa85ce39c7 Changes filter of deprecated property editors to be on controller level instead of resolver 2018-02-26 09:22:54 +01:00
Shannon bdea519770 Changes from IConsentService to ILawfulDataProcessService to allow more flexibility with GDPR data processing in the future 2018-02-26 17:07:06 +11:00
Shannon 78657f34d6 I have updated the Consent.HistoryInternal to internal 2018-02-26 16:51:34 +11:00
Shannon e8fd7e2373 Fixes for U4-10900 Individual member data export functionality 2018-02-26 15:02:47 +11:00
Stephan 1f60314348 Refactor editing, cleanup 2018-02-25 10:43:16 +01:00
Barry 08965982fd Prevent unsaved dialogue appearing when no changes made on FileUpload property editor
Addresses this issue in media section (U4-9996) and content (U4-7484)
2018-02-25 05:50:10 +00:00
Barry 732d3ef326 Prevent "unsaved" warning when no changes on MarkDown Editor
http://issues.umbraco.org/issue/U4-7484#
2018-02-25 03:18:00 +00:00
Niels Hartvig 3da9fddd64 U4-10688 Obsolete property editors showing
Please be aware that if you do have obsolete property editors in use and set the setting "showDeprecatedPropertyEditors" to false you'll get an exception.
2018-02-24 21:31:10 +10:00
Sebastiaan Jansssen e1821697d4 Merge remote-tracking branch 'origin/dev-v7.8' into dev-v7.9
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
2018-02-24 11:53:28 +01:00
Sebastiaan Jansssen a7756afae6 Bump version to 7.8.2 2018-02-24 11:50:39 +01:00
Sebastiaan Jansssen fcd3bb2eee Merge remote-tracking branch 'origin/dev-v7' into dev-v7.8
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html
2018-02-24 11:48:20 +01:00
Sebastiaan Jansssen 858156bab2 Merge branch 'dev-v7' into master-v7 2018-02-23 22:23:43 +01:00
mikkelhm cf5dac0ddd fix xml in spanish lang file
(cherry picked from commit 2281cd8291)
2018-02-23 22:23:07 +01:00
Sebastiaan Janssen 1cdf5c042e Merge pull request #2473 from umbraco/temp-fix-spanish-language-xml
fix xml in spanish lang file
2018-02-23 22:19:10 +01:00
mikkelhm 2281cd8291 fix xml in spanish lang file 2018-02-23 22:02:47 +01:00
Robert fa68f7fafe Merge pull request #2445 from bjarnef/dev-v7-U4-10966
U4-10966 -  Single/Multiple Media Picker is messed up when dragging images
2018-02-23 15:15:36 +01:00
Mads Rasmussen 898e39dac5 Merge branch 'U4-10883' of git://github.com/mathiasrando/Umbraco-CMS into mathiasrando-U4-10883 2018-02-23 14:49:50 +01:00
Sebastiaan Jansssen 2ae96f3810 Merge branch 'dev-v7' into master-v7 2018-02-23 14:23:49 +01:00
Sebastiaan Jansssen f6045a49b5 Bump version to 7.7.13 2018-02-23 14:22:53 +01:00
Sebastiaan Jansssen 849cd4d315 Merge remote-tracking branch 'origin/dev-v7.8' into dev-v7.9 2018-02-23 13:49:57 +01:00
Sebastiaan Jansssen 10141bf4f6 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.8
# Conflicts:
#	src/Umbraco.Web/Mvc/RenderRouteHandler.cs
2018-02-23 13:49:20 +01:00
Sebastiaan Janssen 11fcc8cd65 Merge pull request #2469 from umbraco/temp-U4-10900
Export member data functionality
2018-02-23 13:44:01 +01:00
Sebastiaan Jansssen 95aaf40281 Some more code cleanup and making sure we pass in the current user so that we can't avoid the sensitivedata check easily 2018-02-23 13:38:21 +01:00
Robert e25a39ec5d Merge pull request #2472 from umbraco/temp-U4-10964
Temp u4 10964
2018-02-23 13:33:47 +01:00
Sebastiaan Jansssen c165a34ed7 U4-10964 Adding a new property to a MemberType if you are not in Sensitive Data group throws a 404 when saving 2018-02-23 13:17:24 +01:00
Sebastiaan Janssen dc616bb6bf Merge pull request #2471 from alanmac/U4-11007
change newsletter subscribe to default for installation process - GDPR Compliance
2018-02-23 12:48:26 +01:00
Robert cd6c7e51fd Merge branch 'temp-U4-10900' of https://github.com/umbraco/Umbraco-CMS into temp-U4-10900 2018-02-23 12:24:37 +01:00
Alan Mac Kenna 2caad3f2d0 change newsletter subscribe to default for installation process 2018-02-23 11:24:15 +00:00
Robert 4850b01097 Added checks in place to stop users that has no access to sensitive data to export member data, removed some unused usings 2018-02-23 12:23:23 +01:00
Sebastiaan Jansssen 92c0cfb9df Additional action needs to be counted in the test 2018-02-23 10:58:33 +01:00
Sebastiaan Jansssen 8c5ee547b1 Does v3 MyGet API work? 2018-02-23 10:32:49 +01:00
Sebastiaan Jansssen b9c9a232cd Style updates, and removes unused usings 2018-02-23 10:26:11 +01:00
Sebastiaan Jansssen b565513052 Merge branch 'dev-v7.9' into temp-U4-10900 2018-02-23 09:46:06 +01:00
Robert cff24e6ccf Added translation keys for en.xml and deleted duplicate anchorInsert key in en_us.xml 2018-02-23 09:44:32 +01:00
Robert 8ef3ecd714 Forgot to commit the translation keys :| 2018-02-23 09:11:42 +01:00
Shannon 7019c9433b U4-10991 TourController Object reference not set to an instance of an object - when loading an invalid tour 2018-02-23 16:40:29 +10:00
Sebastiaan Janssen 1f66ebff1f Merge pull request #2470 from MMasey/dev-v7
U4-11005 Examine Search tools form does not submit when pressing Enter key
2018-02-22 18:49:17 +01:00
Sebastiaan Janssen 47f8b483a9 Merge pull request #2467 from christophnz/U4-5366
Uduf-Hackathon U4-5366
2018-02-22 18:46:27 +01:00
Sebastiaan Janssen 1c56cd48ae Merge pull request #2468 from emmanueltissera/U4-11002
Fixed email address in invite email [UDUF 2018 Hackathon]
2018-02-22 18:29:48 +01:00
Sebastiaan Janssen 6e9a9d6444 Merge pull request #2464 from lukaaaaaaaay/dev-v7.8
Hackathon: U4-10941 Name should be before Label when adding grid row configurations
2018-02-22 18:17:18 +01:00
Migaroez c4850199f7 U4-10999 Fixed wrong description on mediaresource.search
(cherry picked from commit af476e1536)
2018-02-22 17:36:39 +01:00
Sebastiaan Janssen 679333b9c9 Merge pull request #2456 from Migaroez/U4-10999
U4-10999 Fixed wrong description on mediaresource.search
2018-02-22 17:33:37 +01:00
Sebastiaan Janssen 02c609747d Merge pull request #2455 from GertyEngrie/dev-v7
Typo fix for nullreference in RenderRouteHandler
2018-02-22 17:32:25 +01:00
Sebastiaan Janssen 413e70db7d Merge pull request #2450 from richarth/patch-1
Grammar improvement
2018-02-22 17:31:29 +01:00
Sebastiaan Janssen c2cbac7ef9 Merge pull request #2448 from madsoulswe/temp-U4-10969
U4-10969 - Removed legacy file MediaUploader.ashx
2018-02-22 17:30:14 +01:00
Mike Masey a4a079cd1b Merge remote-tracking branch 'upstream/dev-v7' into dev-v7 2018-02-22 16:24:15 +00:00
Mike Masey 22fc9c617c Upate search button in examin search tools to use type="submit" 2018-02-22 16:18:59 +00:00
Sebastiaan Jansssen 0bcdfc8820 Merge branch 'skartknet-spanish_translations' into dev-v7 2018-02-22 17:11:38 +01:00
Sebastiaan Jansssen b868c06e79 Merge branch 'spanish_translations' of https://github.com/skartknet/Umbraco-CMS into skartknet-spanish_translations
# Conflicts:
#	src/Umbraco.Web.UI/umbraco/config/lang/es.xml
2018-02-22 17:11:09 +01:00
Robert f0dd32ea19 Removed export placeholder button and added "Action" button instead. 2018-02-22 16:52:16 +01:00
Robert 97607bc83b Added front and back end logic to export member data 2018-02-22 15:32:33 +01:00
Mads Rasmussen 725fec5b3c add active state to language dropdown 2018-02-22 10:08:27 +01:00
ChristophNZ 5b41262f41 rewrote if/else to remove code duplication 2018-02-22 16:35:18 +10:00
Emmanuel Tissera e8e1cd8323 Fixed email address in invite email
http://issues.umbraco.org/issue/U4-11002 - Corrected issue where email address was not linked correctly in the invite template
2018-02-22 16:30:41 +10:00
ChristophNZ 1e17d6a527 continue loop after logging warning when null 2018-02-22 16:19:21 +10:00
ChristophNZ 0d05d0bf34 Import Document Type: use ContentTypeService to search for allowed child nodes if they are not part of the imported type(s) 2018-02-22 15:53:11 +10:00
Shannon 94184238a2 removes uneeded file 2018-02-22 13:19:42 +10:00
Shannon Deminick f21d1f879e Merge pull request #2459 from dinc5150/U4-10702
U4-10702 - Update Umb-modal icon to be consistent with other icons
2018-02-22 14:16:25 +11:00
Luke Phelan 9c1b2499d5 swapped the name and label fields in grid row editor. 2018-02-22 14:14:35 +11:00
Shannon Deminick 60a315f964 Merge pull request #2458 from cpevans/U4-10116
Check if user is admin to show propertyAlias regardless of debug status
2018-02-22 14:07:13 +11:00
Matt Wanchap b37197f66a Fix for U4-10821, render alt text attribute from grid image editor, or empty string if null (for screen readers) 2018-02-22 11:46:23 +10:00
Chris Evans 1870d5444d check for user admin group membership to show propertyAlias regardless of debug status
use the getCurrentUser() method of the userService to query the userGroups property of the current user
2018-02-22 13:54:50 +13:00
David Sheiles a927d5fb84 U4-10702 - Update Umb-modal icons to be consistant 2018-02-22 11:41:57 +11:00
Sebastiaan Jansssen e433daf5ff Bump version to 7.9.0 2018-02-21 16:06:59 +01:00
Migaroez af476e1536 U4-10999 Fixed wrong description on mediaresource.search 2018-02-21 11:02:56 +01:00
Gerty Engrie fcfb9afc22 typo fix 2018-02-20 14:24:51 +01:00
Claus 05818f6262 Merge branch 'temp-U4-10915' into dev-v7 2018-02-20 13:39:03 +01:00
Mads Rasmussen accf8ba5f2 Merge pull request #2444 from bjarnef/dev-v7-U4-10965
U4-10965 - Add translations of "Save and schedule"
2018-02-20 09:26:37 +01:00
Shannon 1788682af9 U4-10915 Umbraco automapper configuration is not valid 2018-02-20 19:16:53 +11:00
Mads Rasmussen a13711318e Merge branch 'dev-v7.8' into temp-v8-UI 2018-02-19 20:13:59 +01:00
Mads Rasmussen b0303a9e45 add more margin bottom to expansion panels 2018-02-19 19:53:03 +01:00
Mads Rasmussen f32513066f add border to node name input 2018-02-19 19:52:43 +01:00
Mads Rasmussen fecb5e7979 don't open splitview when publishing 2018-02-19 19:52:13 +01:00
Sebastiaan Jansssen a41833c137 Merge remote-tracking branch 'origin/dev-v7.8' into dev-v7.9 2018-02-19 17:26:14 +01:00
Sebastiaan Jansssen 7abc6d3d4f Merge remote-tracking branch 'origin/dev-v7' into dev-v7.8 2018-02-19 17:20:12 +01:00
Sebastiaan Jansssen a5f689385a Merge branch 'dev-v7' into master-v7 2018-02-19 17:13:35 +01:00
Sebastiaan Jansssen a551881ce2 TypedMember(object id) didn't know how to deal with UDI values coming in, breaking MNTP pickers 2018-02-19 17:13:03 +01:00
Sebastiaan Jansssen 4a5a8497b4 Merge remote-tracking branch 'origin/dev-v7.8' into dev-v7.9 2018-02-19 15:38:28 +01:00
Sebastiaan Jansssen 567c0977d0 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.8
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
2018-02-19 15:37:50 +01:00
Sebastiaan Jansssen 9ec4247350 Sync en and en_us - normalize whitespace 2018-02-19 15:24:50 +01:00
Sebastiaan Jansssen 1607e51270 Merge branch 'dev-v7' into master-v7 2018-02-19 14:21:16 +01:00
Sebastiaan Jansssen 2f31175db5 Bump version to 7.7.12 2018-02-19 14:20:47 +01:00
Sebastiaan Jansssen 044b43f6e1 Merge branch 'dev-v7' into master-v7 2018-02-19 14:10:09 +01:00
Richard Thompson c2722d8120 Grammar improvement
Improved the grammar of an error message
2018-02-16 15:19:16 +00:00
Stephan 47d7677948 Refactor editing, all tests green 2018-02-16 12:00:45 +01:00
Mikulas Tomanka 325cefa349 Merge pull request #2426 from JeffreyPerplex/U4-9991-KeyboardShortcuts
http://issues.umbraco.org/issue/U4-9991 - Adding extra shortcuts
2018-02-16 10:36:24 +01:00
Mikulas Tomanka e43ecfd42c Merge branch 'dev-v7.9' into U4-9991-KeyboardShortcuts 2018-02-16 10:35:41 +01:00
Dennis Öhman 76725aa0d8 U4-10969 - Removed legacy file MediaUploader.ashx 2018-02-15 16:12:49 +01:00
Sebastiaan Janssen d4cf4cd700 Merge pull request #2432 from umbraco/temp-u4-10795
U4-10795
2018-02-15 16:07:22 +01:00
Sebastiaan Jansssen 48c0b95707 Only do a length check if performingIp not null 2018-02-15 16:03:12 +01:00
Sebastiaan Jansssen a5caf361e0 Update DateTime.Now usages to be UtcNow to be independent of local datetime 2018-02-15 15:55:40 +01:00
Sebastiaan Jansssen 74c3aaade5 Merge branch 'dev-v7.9' into temp-u4-10795 2018-02-15 15:50:15 +01:00
Stephan cfd2ba3b5a Refactor editing 2018-02-15 14:53:29 +01:00
Stephan cf94da2b8f refactor user and group logging 2018-02-15 14:01:04 +01:00
Stephan d30842e1bf Cleanup editing 2018-02-14 16:55:42 +01:00
Sebastiaan Jansssen 826d6d5b15 Merge remote-tracking branch 'origin/dev-v7.8' into dev-v7.9 2018-02-14 12:15:56 +01:00
Sebastiaan Jansssen 56f4904fc0 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.8 2018-02-14 12:15:18 +01:00
Sebastiaan Jansssen 9178e7afcf Whoops, no need to introduce a new method here, old method was still available 2018-02-14 12:13:01 +01:00
Stephan 7f3733d4b5 cleanup 2018-02-14 11:27:43 +01:00
Sebastiaan Jansssen 3df23c3a34 Merge remote-tracking branch 'origin/dev-v7.8' into dev-v7.9
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
2018-02-14 10:34:26 +01:00
Sebastiaan Jansssen 7746c4a014 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.8
# Conflicts:
#	src/Umbraco.Web/PropertyEditors/ValueConverters/MultiNodeTreePickerPropertyConverter.cs
2018-02-14 10:28:51 +01:00
Sebastiaan Janssen b18945e630 Merge pull request #2447 from umbraco/temp-Fix-CDF-Version-Change
Updates the CDF version changer to to use a hash of the current versi…
2018-02-14 10:25:27 +01:00
Sebastiaan Jansssen 4640cf56d1 Make change non-breaking 2018-02-14 10:23:58 +01:00
Shannon eae1ce7012 fixes build 2018-02-14 12:05:05 +11:00
Shannon e900711180 Updates the CDF version changer to to use a hash of the current version and the date time so that it's not constantly updated if it's not changed. 2018-02-14 11:53:49 +11:00
Shannon 9f4875c8a7 removes SaveUserGroupWithUsersEventArgs and replaces with SaveEventArgs<UserGroupWithUsers> and changes the SavedUserGroupWithUsers to SavingUserGroup2 and SavedUserGroup2 2018-02-14 11:13:24 +11:00
Stephan 46902d4335 Merge branch 'temp-u4-10795' of https://github.com/umbraco/Umbraco-CMS into temp-u4-10795 2018-02-13 15:35:57 +01:00
Stephan 5eb22b0fd9 report added/removed users from groups 2018-02-13 15:30:58 +01:00
Stephan 6a18965946 Don't throw, DRY 2018-02-13 12:00:14 +01:00
Stephan be1ec05072 Use constants for field lengths 2018-02-13 11:32:21 +01:00
Stephan bb2caf85cb fix namespace 2018-02-13 09:47:23 +01:00
Shannon 8ee8bda953 fixes tests 2018-02-13 19:46:34 +11:00
Shannon b42f75df17 fixes tests 2018-02-13 19:29:19 +11:00
Shannon caa3a3319f Fixes issue with user groups being dirty and resetting dirty events 2018-02-13 18:54:13 +11:00
Shannon 5caf95331a Fixes PerformingUser for login/logout and actually logs the affected user 2018-02-13 18:29:39 +11:00
Bjarne Fyrstenborg 040e45ca70 Ensure move cursor is added the multiple media picker (sortable), but not on imagepicker prevalue editor, which not has ui-sortable 2018-02-12 22:27:23 +01:00
Bjarne Fyrstenborg bd3d626147 Add move cursor when media picker is multiple picker and thumbnails are sortable 2018-02-12 21:58:39 +01:00
Bjarne Fyrstenborg 47d08e69a4 Update comment 2018-02-12 21:56:48 +01:00
Bjarne Fyrstenborg df182674b4 Make thumbnail same size as add button 2018-02-12 21:37:22 +01:00
Bjarne Fyrstenborg 6ec9a2ae45 Add specific class for "add" list item 2018-02-12 21:01:08 +01:00
Bjarne Fyrstenborg bf00f7a663 Enable sortable option based on single or multiple media picker 2018-02-12 20:54:49 +01:00
Bjarne Fyrstenborg 74d8341620 Add bottom margin for multiple media picker 2018-02-12 20:46:48 +01:00
Bjarne Fyrstenborg 70207e5374 Fix issues with "add"-button in single and multiple media picker 2018-02-12 20:46:02 +01:00
Bjarne Fyrstenborg f4c038c64c Add translations of "Save and publish". 2018-02-12 18:04:46 +01:00
Shannon c4fa3aa649 Fixes issue with AffectedUser vs PerformingUser, updates the log formatting and uses the affectedDetails better, fixes the double event calling for auth stuff, fixes the change password event raising, fixes reporting the changed property values for members 2018-02-13 00:15:04 +11:00
Mikulas Tomanka d51cda7843 Merge pull request #2440 from ProNotion/patch-1
Fixed typo on user section of tour
2018-02-12 13:32:10 +01:00
Claus 372ffee42b Merge pull request #2437 from umbraco/temp-UAASSCRUM-1365
allowing to disable the template check when sending content through t…
2018-02-12 11:15:26 +01:00
Claus c1cfea7ebd removing constructor. 2018-02-12 11:12:46 +01:00
Shannon 3cdd8a0c43 removes methods from the interface we don't want to support 2018-02-12 20:48:42 +11:00
Shannon bf130584a6 updates docs 2018-02-12 18:28:51 +11:00
Shannon c3e67705ba updated some naming conventions for eventType 2018-02-12 18:24:07 +11:00
Shannon 7a80d689aa Fixes invalid login attempts being logged against the admin user, updates the audit handler to log unique keys for the eventType 2018-02-12 18:12:16 +11:00
Shannon eabc009f0c Adds validation to IAuditService.Write 2018-02-12 17:37:52 +11:00
ProNotion d3a2d88347 Fixed type on user section 2018-02-09 17:33:11 +00:00
Stephan af7df0c6b5 Cleanup 2018-02-09 18:22:59 +01:00
Stephan aa614f1e20 Cleanup 2018-02-09 15:33:44 +01:00
Stephan 15d7fa76a8 Cleanup 2018-02-09 14:59:41 +01:00
Claus 93f4d65227 Merge pull request #2438 from umbraco/temp-U4-10958
Fixes broken MNTP by switching convert cases to the correct DataType
2018-02-09 14:42:08 +01:00
Stephan fcb6dfdfdf Cleanup 2018-02-09 14:34:28 +01:00
Robert a4c0342bda Fixes broken MNTP by switching convert cases to the correct DataType 2018-02-09 14:09:03 +01:00
Sebastiaan Janssen 6c328d729d Merge pull request #2435 from madsoulswe/temp-U4-10953
U4-10953- Help-drawer, (caption + h3 -> h5
2018-02-09 13:32:32 +01:00
Sebastiaan Jansssen 095633ba27 Test names were inverted 2018-02-09 13:27:25 +01:00
Claus 633d1bb0ae changing the template check to an enabled check instead. 2018-02-09 13:19:56 +01:00
Claus fb89c3da3c allowing to disable the template check when sending content through to render. 2018-02-09 12:58:50 +01:00
Mads Rasmussen d5e32249ed fix split view on publish 2018-02-09 12:42:42 +01:00
Claus b2004057a5 U4-10957 If RequiredSection is not defined in a tour - backoffice will throw errors 2018-02-09 11:55:34 +01:00
Sebastiaan Jansssen 3097a46ab3 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.8
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
2018-02-09 09:57:00 +01:00
Sebastiaan Jansssen c63156fcd8 Bump version to 7.7.11
(cherry picked from commit 0c25c36af0)
2018-02-09 09:53:52 +01:00
Sebastiaan Jansssen c59a226d56 Merge remote-tracking branch 'origin/dev-v7' into master-v7 2018-02-09 09:51:39 +01:00
Sebastiaan Jansssen 0c25c36af0 Bump version to 7.7.11 2018-02-09 09:46:05 +01:00
Stephan 29690df567 U4-10795 - misc fixes 2018-02-09 09:33:24 +01:00
Stephan 84a90884e3 Merge pull request #2433 from umbraco/temp-U4-10947
Fix for not being able to save decimal value
2018-02-09 08:14:51 +01:00
Shannon d29b7311fa reverts the convertible2 back to what it was before 2018-02-09 10:08:25 +11:00
Shannon 17b59cc20f Updates the ObjectExtensions TryConvertTo code and moved all unit tests to ObjectExtensionsTests which now all pass 2018-02-09 10:02:51 +11:00
Mads Rasmussen 3c78d59c67 Merge branch 'temp-v8-UI' into temp-v8-UI-infinite-editing 2018-02-08 20:58:36 +01:00
Mads Rasmussen 1de2d536c2 fixes styling of fixed header 2018-02-08 20:30:26 +01:00
Stephan f9a8f82434 DataTypes refactoring - getting frontend to work 2018-02-08 18:28:53 +01:00
Robert 4423571eaa Added ConvertToNullableDecimalTest and check that fixes the decimal save issue 2018-02-08 16:21:09 +01:00
Stephan c0439b3c4e DataTypes refactoring - troubleshooting 2018-02-08 16:08:52 +01:00
Dennis Öhman 750600b202 U4-10953
Populate Caption in dashboardhelper
h2 -> h5
2018-02-08 15:37:50 +01:00
Mads Rasmussen 14a8045351 check for $scope.model 2018-02-08 14:26:17 +01:00
Sebastiaan Jansssen 28eb4ff03a Bump version to 7.8.1 2018-02-08 14:08:38 +01:00
Sebastiaan Jansssen 79517f171c Update UI.xml when upgrading 2018-02-08 14:07:54 +01:00
Mads Rasmussen 3fa59a6ac1 Merge branch 'temp-v8-UI' into temp-v8-UI-infinite-editing 2018-02-08 13:44:46 +01:00
Stephan e76c42f874 Merge pull request #2434 from umbraco/temp-U4-U4-10950
Fix checkbox in nested content
2018-02-08 13:42:42 +01:00
Mads Rasmussen 2d337923a3 adjustments to editor header layout 2018-02-08 13:42:42 +01:00
Robert 151c35bc47 Moving check to TryToConvertValueToCrlType 2018-02-08 13:15:43 +01:00
Robert 84265a9716 Fix checkbox in nested content 2018-02-08 12:18:51 +01:00
Robert 6618388973 Fix for not being able to save decimal value 2018-02-08 12:10:57 +01:00
Mads Rasmussen c9986a9aeb prototyping media picker 2018-02-08 11:04:56 +01:00
Stephan 61ce533a08 U4-10795 - better performing user management, fix upgrades 2018-02-08 10:16:53 +01:00
Stephan 0a44ad3ab6 U4-10795 - granular logging - roles 2018-02-07 16:50:49 +01:00
Stephan 7c34255abe Merge branch origin/dev-v7.9 into temp-u4-10795 2018-02-07 15:55:41 +01:00
Stephan d52216103b U4-10795 - granular logging 2018-02-07 15:51:18 +01:00
Stephan a26cd625e7 U4-10795 - granular logging 2018-02-07 15:38:50 +01:00
Mads Rasmussen 06714c2e31 add component and services to control infinite editors 2018-02-07 13:44:48 +01:00
Stephan 450854a209 DataType refactoring - polish 2018-02-07 13:35:59 +01:00
Warren Buckley b280bf73aa Merge pull request #2429 from umbraco/temp-U4-10937
U4-10937 Datepicker on Info tabe and dates on audit trail do not work…
2018-02-07 12:13:19 +00:00
Shannon a6d57a5f6d Updates the dateHelper when converting to a local date, we need to check if the current string format is in UTC format and ensure that it's loaded that way 2018-02-07 12:51:15 +11:00
Mario Lopez 1f22191bbc fixed formatting 2018-02-07 11:35:39 +11:00
Mario Lopez 25088042a9 spanish translations 2018-02-07 11:28:11 +11:00
Shannon 6b7a83c6c9 Updates logic for setting the scheduled publishing date/times to ensure that the local date/time is displayed but the server time is persisted 2018-02-07 11:17:02 +11:00
Sebastiaan Jansssen eb5f2e29a3 U4-10937 Datepicker on Info tabe and dates on audit trail do not work if server time needs offsetting 2018-02-06 19:15:15 +01:00
Stephan 02397fd90c U4-10795 - granular logging 2018-02-06 19:07:54 +01:00
Mikkel Holck Madsen cf86409e3f Merge pull request #2427 from umbraco/temp-U4-10935
fixes: U4-10935 Intro tour doesn't start automatically on cloud
2018-02-06 11:04:02 +01:00
Mads Rasmussen 134f5e2601 fixes: U4-10935 Intro tour doesn't start automatically on cloud 2018-02-06 10:14:30 +01:00
Mads Rasmussen 806b375e29 use umb-property-editor component instead of umb-editor 2018-02-06 09:52:39 +01:00
Mathias Rando Juul e0ded863cc Changes revalidation of username and password.
Ensures that both inputs are revalidated on change(if the form is invalid) to avoid cases where changing your password doesn't reset $invalid and therefor doesn't allow you to resubmit the form without triggering a change in the username.
2018-02-06 06:35:41 +01:00
Mathias Rando Juul bd55594be1 Changes submit button to use umb-button directive. 2018-02-06 06:27:50 +01:00
Mathias Rando Juul 0e82696082 Updates formatting to match guidelines.
The guidelines for core contribution states that 4 spaces should be used for everything except XML.
2018-02-06 06:00:46 +01:00
Sebastiaan Jansssen 37ac524e8e Don't enable tours for upgraders 2018-02-05 22:37:47 +01:00
Sebastiaan Jansssen 43af2f8e55 Fix UI docs generator 2018-02-05 21:12:25 +01:00
Stephan a97900515b DataType refactoring - polish 2018-02-05 17:48:54 +01:00
Jeffrey - Perplex a7a6854f9b Adding extra shortcuts 2018-02-05 16:45:20 +01:00
Mads Rasmussen 34c985dc19 Merge branch 'dev-v7.8' into temp-v8-UI
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/components/application/umb-navigation.html
#	src/Umbraco.Web.UI.Client/src/views/users/user.html
2018-02-05 13:59:09 +01:00
Stephan 947d08c947 DataType refactoring - troubleshooting 2018-02-02 19:50:48 +01:00
Stephan c748a2bc41 DataType refactoring - all tests green 2018-02-01 17:53:32 +01:00
Sebastiaan Jansssen a20584e3de Not beta009, Final! 2018-02-01 16:18:49 +01:00
Sebastiaan Jansssen 19ec26fef9 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.8 2018-02-01 15:20:13 +01:00
Stephan b416079e12 DataType refactoring - troubleshooting tags and fixing tests 2018-02-01 14:14:45 +01:00
Sebastiaan Janssen 23d225c14f Merge pull request #2424 from umbraco/temp-u4-10794
Temp u4 10794
2018-02-01 13:32:32 +01:00
Claus 527f98189a Merge pull request #2423 from umbraco/temp-u4-10897
temp U4-10897
2018-02-01 13:29:45 +01:00
Sebastiaan Jansssen 1a289be999 Whoops, I see what you did there, Consent can be internal indeed, cool! 2018-02-01 13:09:06 +01:00
Sebastiaan Jansssen 8a0485e093 Consent class really needs to be public 2018-02-01 13:07:02 +01:00
Sebastiaan Jansssen 647492fbfb Merge branch 'dev-v7.9' into temp-u4-10794 2018-02-01 12:55:53 +01:00
Sebastiaan Janssen 78c289a559 Merge pull request #2425 from umbraco/mittonp-dev-v7
Mittonp dev v7
2018-02-01 08:59:35 +01:00
Sebastiaan Jansssen 646abb3aea Merge branch 'dev-v7' of https://github.com/mittonp/Umbraco-CMS into mittonp-dev-v7
# Conflicts:
#	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/es.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/zh.xml
2018-02-01 08:57:47 +01:00
Sebastiaan Janssen 2af59471a2 Merge pull request #973 from mattbrailsford/dev-v7-insertmacrofix
Updated insert macro dialog to prevent closing on enter key
2018-02-01 08:28:59 +01:00
Mads Rasmussen 466e97086b remove border on sub header sections 2018-01-31 20:45:37 +01:00
Mads Rasmussen d1fac8885c adjust size on header icons 2018-01-31 20:44:59 +01:00
Mads Rasmussen 288048175f fix tree options 2018-01-31 20:43:54 +01:00
Sebastiaan Jansssen fc43d3cdee Merge branch 'dev-v7.8' into dev-v7.9 2018-01-31 17:03:19 +01:00
Sebastiaan Jansssen b76b09026b Merge branch 'dev-v7' into dev-v7.8
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI.Client/src/assets/img/installer.jpg
#	src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js
#	src/Umbraco.Web.UI.Client/src/common/services/tour.service.js
#	src/Umbraco.Web.UI.Client/src/controllers/search.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/tours/umbintrocreatedoctype/doctypename/doctypename.controller.js
#	src/Umbraco.Web.UI.Client/src/views/users/views/user/details.html
#	src/Umbraco.Web.UI/config/BackOfficeTours/getting-started.json
#	src/Umbraco.Web/Editors/TourController.cs
#	src/Umbraco.Web/Models/BackOfficeTour.cs
#	src/Umbraco.Web/Models/BackOfficeTourStep.cs
#	src/Umbraco.Web/Models/Mapping/UserModelMapper.cs
#	src/Umbraco.Web/TourFilterResolver.cs
#	src/Umbraco.Web/Trees/MacroTreeController.cs
#	src/Umbraco.Web/WebApi/Filters/FeatureAuthorizeAttribute.cs
#	src/umbraco.cms/businesslogic/Packager/Installer.cs
#	src/umbraco.cms/businesslogic/Packager/PackageInstance/utill.cs
2018-01-31 17:02:03 +01:00
Mads Rasmussen 162d3ce47d show variant publish state in variant dropdown 2018-01-31 15:41:39 +01:00
Mads Rasmussen 21bf5cd4ec truncate tree node names 2018-01-31 15:39:27 +01:00
Stephan 971d7cf933 U4-10794 - refactor 2018-01-31 15:20:03 +01:00
Sebastiaan Jansssen 118a83e56c Consent class should be public for 3rd parties to be able to register consents 2018-01-31 13:19:30 +01:00
Sebastiaan Jansssen 1f6dea7177 Adds migration to create constent table 2018-01-31 12:47:41 +01:00
Sebastiaan Jansssen f2667c3360 Bumps version to 7.9.0 2018-01-31 12:47:16 +01:00
Sebastiaan Janssen f331736384 Merge pull request #2421 from umbraco/temp-U4-10797
U4-10797 Sensitive values
2018-01-31 10:59:18 +01:00
Sebastiaan Janssen 090f89e5b6 Merge pull request #2223 from kgiszewski/fix/U4-6309
U4-6309: Fix black bars that appear on a RTE image resize
2018-01-31 10:43:29 +01:00
Shannon a6bc94185c Ensures that a user without access to sensitive values cannot change a member type's sensitive values, this also validates on the server side 2018-01-30 19:38:42 -06:00
Stephan 4870afd2d3 U4-10897 - change enlisting priorities 2018-01-30 14:27:58 +01:00
Stephan 80257b6684 Revert "U4-10897 - change enlisting priorities"
This reverts commit 8f3a0b6919.
2018-01-30 14:26:59 +01:00
Stephan 8f3a0b6919 U4-10897 - change enlisting priorities 2018-01-30 14:25:43 +01:00
Stephan 9fd2f34343 U4-10897 - defer Examine indexing until scope is all done 2018-01-30 13:53:37 +01:00
Stephan e774717346 U4-10897 - expose enlisted mutable Xml in events 2018-01-30 13:14:01 +01:00
Warren Buckley 5f5759c8a3 Merge pull request #2422 from umbraco/temp-U4-10869
U4-10869 Make sure the getting started tour is only shown to the right users
2018-01-30 09:10:12 +00:00
Robert 0b90097aad "requiredSections" tour property documentation
Added a few words about "requiredSections" tour property
2018-01-30 10:00:54 +01:00
Shannon 58533ca17e Validates sensitive properties during model binding to ensure that someone cannot hack a posted value for sensitive props if they don't have access to sensitive props. 2018-01-29 13:24:27 -06:00
Stephan f5546ca870 DataType refactoring - troubleshooting and fixing tests 2018-01-29 19:23:25 +01:00
Shannon 427e99dd29 WIP - need to validate sensitive properties for invalid posted data 2018-01-29 12:20:06 -06:00
Shannon 1ec09e15cf fixes tests 2018-01-29 12:02:20 -06:00
Shannon a48568d1ba Fixes problem where the sensitive value placeholder was being posted back to the server for saving, instead we don't post this value at all which means it will not be overwritten when it posts back. 2018-01-29 11:38:08 -06:00
Stephan 5aa1b81cd4 U4-10794 - revert PEtaPocoMapper changes 2018-01-29 16:27:16 +01:00
Sebastiaan Jansssen 7cd540c37e Remove additional premature uses of C#7 features 2018-01-29 14:35:30 +01:00
Sebastiaan Jansssen 83595ecaf5 Don't rely on C# 7 features 2018-01-29 14:06:25 +01:00
Robert e07c5e6ff8 Removed unused using directives 2018-01-29 13:18:11 +01:00
Robert 67ff827d67 Tours will only load if the current user has access to the same sections the tours has access to 2018-01-29 13:13:43 +01:00
Mads Rasmussen 59612e9539 fine tuning the variant selector 2018-01-29 11:45:51 +01:00
Stephan e1208e5019 U4-10794 - use string ids, not udis 2018-01-29 11:30:01 +01:00
Sebastiaan Jansssen 3f7159797f U4-10880 Update install background 2018-01-29 09:49:16 +01:00
Shannon 995f644501 Adds upgrade logic, fixes tests, fixes model mappings to not do so much AfterMap 2018-01-26 17:27:35 -07:00
Shannon f7eec8dafb Allows editing the property metadata even if the property type is locked 2018-01-26 16:24:40 -07:00
Shannon e039265fab adds descriptions to the member type options 2018-01-26 16:11:14 -07:00
Shannon f08192a4ab Changes copy for hidden values and makes the rendering for hidden values it's own property editor view so we can more easily update it. 2018-01-26 15:52:12 -07:00
Stephan e60a5a4a83 DataType refactoring - in progress 2018-01-26 17:55:20 +01:00
Stephan a16ac1f0ba U4-10794 - implement basic consent service 2018-01-26 10:57:12 +01:00
Mads Rasmussen 23c04ad830 added animations 2018-01-26 09:42:32 +01:00
Shannon 469d6f9ca3 Now checks for the sensitiveData group to view sensitive data 2018-01-25 15:06:23 -07:00
Shannon 54cc80f4e8 Updates all required mappings to use AutoMapperExtensions.MapWithUmbracoContext where appropriate 2018-01-25 14:41:28 -07:00
Shannon 64628c0a9d Gets the IsSensitive property mapped to the display object and changes the property output to show that the field contains sensitive data. Refactors the TabsAndPropertiesResolver and simplifies it a lot which also allows us to pass in an UmbracoContext which we'll need in order to determine a user's rights, etc... Refactors how the TreeNodeUrls are mapped and they now use a proper mapper. This now means we do much less in AfterMap 2018-01-25 14:14:12 -07:00
Mads Rasmussen 9064d205bf move help drawer to right side 2018-01-25 16:37:17 +01:00
Mads Rasmussen 5f069670aa overlays shouldn't cover app header 2018-01-25 15:53:00 +01:00
Mads Rasmussen bff344dc70 small style adjustments 2018-01-25 15:45:54 +01:00
Mads Rasmussen 8368b81528 add close splitview icon 2018-01-25 15:43:30 +01:00
Mads Rasmussen 7fee6f7389 fix umb-table styling 2018-01-25 15:42:52 +01:00
Robert 6f81b7fe24 'getting-started' tour only available to admins 2018-01-25 12:10:34 +01:00
Stephan f2819f61e5 Merge pull request #2417 from umbraco/temp-u4-10846
U4-10846 - fix member group cache
2018-01-25 11:06:17 +01:00
Sebastiaan Janssen 2107e9d9e3 Merge pull request #2420 from PerplexDaniel/patch-1
Fix NullReferenceException when HttpContext is not available
2018-01-25 10:18:32 +01:00
Daniël Knippers c623b448ba 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-01-25 08:56:46 +01:00
Mario Lopez 1e8bdc8f0c no message 2018-01-25 10:18:06 +11:00
Sebastiaan Janssen 8bb49f57e8 Merge pull request #2419 from umbraco/redmorello-U4-10864_close_back_office_search_results
Redmorello u4 10864 close back office search results
2018-01-24 17:47:44 +01:00
Sebastiaan Jansssen da0b1c2f23 Merge branch 'U4-10864_close_back_office_search_results' of https://github.com/redmorello/Umbraco-CMS into redmorello-U4-10864_close_back_office_search_results
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/components/application/umb-navigation.html
2018-01-24 17:43:19 +01:00
Sebastiaan Jansssen a288fc62eb Workaround: keep the cache we used to have but clear all cache for membergroups when a member group changes 2018-01-24 17:26:21 +01:00
Sebastiaan Jansssen 82e50ccd3a Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2018-01-24 16:13:31 +01:00
Sebastiaan Jansssen 15b0dc9f29 Merge branch 'dev-v7.8' of https://github.com/kristoffer-tvera/Umbraco-CMS into kristoffer-tvera-dev-v7.8 2018-01-24 16:12:06 +01:00
Sebastiaan Janssen 8057d09fc2 Merge pull request #2416 from PeteDuncanson/patch-1
Prevent Pinterest messing with media in the back office
2018-01-24 15:53:40 +01:00
Sebastiaan Jansssen 8877100bf0 Merge branch 'dev-v7' into temp-u4-10846 2018-01-24 15:50:08 +01:00
Stephan 41c96e6e26 Merge pull request #2398 from leekelleher/issue/U4-10756
Proposed patch for U4-10756 - Guid TypedContent performance
2018-01-24 15:27:43 +01:00
Sebastiaan Jansssen abdd117264 Fixes bug in MB 3.0.9 2018-01-24 15:26:40 +01:00
Mads Rasmussen 78398fb8bb start on split view prototype 2018-01-24 14:46:53 +01:00
Sebastiaan Jansssen 6272dac698 Use string.Format instead of interpolation 2018-01-24 14:34:21 +01:00
Sebastiaan Jansssen 7a4b5fa796 Bump version to 7.7.10 2018-01-24 14:34:03 +01:00
Sebastiaan Jansssen c962132ee0 Update to ModelsBuilder 3.0.9 2018-01-24 14:33:32 +01:00
Stephan f7f42f893b DataType refactoring - in progress 2018-01-24 13:37:14 +01:00
leekelleher 0780979469 Eagerly populating the Guid lookup
as per @Shazwazza's comment: https://github.com/umbraco/Umbraco-CMS/pull/2398#issuecomment-358752346

Tested against 12,000 nodes (in the XML cache), profiling showed it took 55ms.
2018-01-24 11:53:52 +00:00
leekelleher a42e568fdf Initialized the ConcurrentDictionary statically
as per @JimBobSquarePants's comment: https://github.com/umbraco/Umbraco-CMS/pull/2398#discussion_r162799543
2018-01-24 11:51:53 +00:00
Robert e62661cc6a Merge pull request #2397 from leekelleher/issue/U4-10845
U4-10845 MNTP value-converter - trashed content causes database lookups
2018-01-24 12:48:29 +01:00
Stephan c3e6886ac0 DataType refactoring - in progress 2018-01-24 11:44:44 +01:00
leekelleher 6841b2ac61 Amended the lookup dictionary setter,
as per @JimBobSquarePants's comment: https://github.com/umbraco/Umbraco-CMS/pull/2398#discussion_r162522998
2018-01-24 10:29:23 +00:00
leekelleher f7f4276485 Removed the need for the UseLegacyXmlSchema check
The enhancement in PR #2367 removed the `"@isDoc"` check,
which was the main difference between the legacy and current XML schema.

Reducing the XPath to `"//*[@key=$guid]"` will perform the same for both types of schema.
_(and saves on a couple of allocations)_
2018-01-24 10:29:23 +00:00
leekelleher bb9e23ca3e Proposed patch for U4-10756 - Guid TypedContent performance
This is a proposal for a temporary workaround to issue U4-10756.

It uses a local static ConcurrentDictionary to store a lookup of Guid/int values.
If the Guid isn't in the lookup, then the traditional XPath is used, which would add the resulting node ID (int) to the lookup.
If the lookup contains the Guid, then the returned int value will be used to perform a more efficient retrieval.

<http://issues.umbraco.org/issue/U4-10756>
2018-01-24 10:29:23 +00:00
Warren Buckley 10db9363f4 Merge pull request #2411 from umbraco/temp-U4-10757
Can navigate trough global search results
2018-01-24 09:35:07 +00:00
Sebastiaan Janssen 7d5d69e2e3 Merge pull request #2418 from abjerner/patch-36
Nested Content should use the new turquoise/purple colors as the rest of the backoffice
2018-01-23 22:02:16 +01:00
Sebastiaan Janssen 06897aa8c6 Merge pull request #2413 from umbraco/temp-u4-10853
U4-10853 - fix (scheduled) unpublishing issues
2018-01-23 21:55:53 +01:00
Anders Bjerner ee75158dd0 Nested Content should use the new turquoise/purple colors as the rest of the backoffice 2018-01-23 21:55:15 +01:00
Shannon b49db0e941 Initial commit for member type sensitive data, this adds the db and model requirements and updates the normal property editor for a member type which saves the isSensitive data to the db. 2018-01-23 13:01:31 -07:00
Stephan c022397d86 U4-10846 - fix member group cache 2018-01-23 20:54:47 +01:00
Shannon e25f6e82ed Merge branch 'dev-v7' into dev-v7.8
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web/Models/Mapping/UserModelMapper.cs
2018-01-23 11:42:14 -07:00
Shannon d104525a50 Updates core to use latest CDF version 2018-01-23 11:15:37 -07:00
Sebastiaan Janssen b0a64aa4b5 Merge pull request #2384 from umbraco/temp-u4-10822
U4-10822 - refactor view models binding error handling
2018-01-23 16:24:08 +01:00
Pete Duncanson ca86385269 Prevent Pinterest messing with media in the back office
Fixes: http://issues.umbraco.org/issue/U4-10865
2018-01-23 15:10:09 +00:00
Robert fb8368267e Merge pull request #2410 from umbraco/temp-U4-10851
Fixes U4-10851 - Unzip Umbraco packages into a flat structure
2018-01-23 16:06:41 +01:00
Claus ef4322a9b3 Merge pull request #2414 from umbraco/temp-u4-10844
U4-10844 - delete blueprints with content types
2018-01-23 15:15:15 +01:00
Stephan 7032e137b8 U4-10853 - refactor 2018-01-23 15:02:12 +01:00
Warren Buckley e99643ecfd Merge pull request #2415 from umbraco/temp-U4-10847
Removed authorize attribute from TourControlle
2018-01-23 13:44:52 +00:00
Robert a325529eb8 Merge pull request #2412 from umbraco/temp-U4-10840
Added in the create XML for the legacy UserControl based Create Dialog
2018-01-23 14:38:25 +01:00
Robert c68f832be6 Fixed anoying lower case delete action on macro context tree 2018-01-23 14:34:03 +01:00
Sebastiaan Janssen 4ab1c51327 Merge pull request #2392 from umbraco/temp-u4-10829
U4-10829 - fix tree controller
2018-01-23 14:13:39 +01:00
Robert 6f39bac32a Removed authorize attribute from TourControlle 2018-01-23 13:47:57 +01:00
Stephan e007a37c36 U4-10844 - delete blueprints with content types 2018-01-23 13:41:36 +01:00
Stephan ab9e029525 U4-10853 - fix (scheduled) unpublishing issues 2018-01-23 13:04:57 +01:00
Warren Buckley d298388a7b Update the UI.Release XML too 2018-01-23 11:47:59 +00:00
Warren Buckley 4463abe9bb Added in the create XML for the legacy UserControl based Create Dialog 2018-01-23 11:39:12 +00:00
Warren Buckley d1db38182f Fixes U4-10851 - Unzip Umbraco packages into a flat structure, so it supports packages that have files at the root, along with some packages that have the files nested insider another guid folder 2018-01-23 10:38:41 +00:00
Robert e808360653 Can navigate trough global search results 2018-01-23 10:46:02 +01:00
Mads Rasmussen c5df712471 Merge pull request #2405 from umbraco/temp-U4-10852
Fixes U4-10852 Where the ZipArchive stream was closed
2018-01-23 09:50:29 +01:00
Sebastiaan Janssen 2f67008987 Merge pull request #2407 from abjerner/patch-34
Removed unnecessary &nbsp;
2018-01-23 09:42:30 +01:00
Sebastiaan Janssen 1672e284c5 Merge pull request #2406 from abjerner/patch-33
Minor casing change
2018-01-23 09:41:46 +01:00
Ian Houghton 60ce36a7f2 U4-10864 add button when search returns no results, to clear the search 2018-01-22 22:03:35 +00:00
Mads Rasmussen 05c12d1f27 Merge pull request #2404 from umbraco/temp-U4-10843
Fixes U4-10843 and allows user detail page to upload a new avatar
2018-01-22 20:21:57 +01:00
Anders Bjerner 72e2cacc87 Removed unnecessary &nbsp; 2018-01-22 18:16:42 +01:00
Anders Bjerner 4285102422 Minor casing change 2018-01-22 18:08:37 +01:00
Warren Buckley 5ffdf4dd60 Fixes U4-10852 Where the ZipArchive stream was closed - 'Cannot access a closed Stream' 2018-01-22 14:20:01 +00:00
Mads Rasmussen abbcf0e26b Merge pull request #2358 from abjerner/patch-28
Triggers the save button to momentarily show an error icon
2018-01-22 14:55:10 +01:00
Sebastiaan Janssen 347b25472f Merge pull request #2403 from JimBobSquarePants/housekeeping-gitattributes
Add default gitattributes and cleanup editorconfig
2018-01-22 14:38:40 +01:00
Mads Rasmussen b745948dc6 Merge pull request #2361 from bjarnef/dev-v7-U4-10791
U4-10791 - Fix collapsed columns listview settings
2018-01-22 13:48:58 +01:00
Mads Rasmussen 8007c8869f Merge pull request #2401 from umbraco/temp-U4-10835
U4-10835 Adds context menu items to the User tree
2018-01-22 13:25:59 +01:00
Stephan b51a328ead Merge pull request #2402 from JimBobSquarePants/perf-tryconvertto
Performance - 8x Faster TryConvertTo
2018-01-22 13:22:22 +01:00
Warren Buckley f61437cc7c Fixes U4-10843 and allows user detail page to upload a new avatar 2018-01-22 12:09:28 +00:00
James Jackson-South f3b8f2eb5f Add default gitattributes and cleanup editorconfig 2018-01-22 21:44:08 +11:00
James Jackson-South de4628f450 Add perf explanation 2018-01-22 20:58:15 +11:00
James Jackson-South b0a64655b4 Fastest dictionary lookups 2018-01-22 16:43:02 +11:00
Stephan 48d88ec8fa Deal fix FIXME 2018-01-21 10:29:06 +01:00
Stephan 7ca151a3fa Use concurrent dictionaries 2018-01-21 10:18:13 +01:00
Stephan 363c8fab2c Cleanup 2018-01-21 10:03:17 +01:00
Stephan 8d4fd9d1cf Merge branch 'perf-tryconvertto' of https://github.com/JimBobSquarePants/Umbraco-CMS into perf-tryconvertto 2018-01-21 10:01:12 +01:00
Stephan 97a058b817 DataType refactoring 2018-01-20 12:31:42 +01:00
Stephan e30d8f79ef DataType refactoring 2018-01-20 12:09:40 +01:00
Stephan 2f7f22961b Version alpha.31 with ModelsBuilder alpha.14 2018-01-20 10:21:01 +01:00
Stephan eff2e7a65b Manifest refactoring 2018-01-20 10:19:57 +01:00
James Jackson-South 24071eb3b1 Faster TryConvertTo 2018-01-20 14:54:52 +11:00
James Jackson-South 62ffbe7cf0 Cleanup benchmarks and add TryCOnvertTo 2018-01-20 13:00:10 +11:00
Warren Buckley f2d6b47e47 Update labels for context menu items to be just 'Create' & 'Invite' to keep the same consistency throughout the UI as other context menu items do not include the verb 2018-01-19 14:24:57 +00:00
Warren Buckley f3541908c7 Update Users tree context menu to include two new items that navigate directly to an Angular Location/Path which loads the Invite or Create User views as needed 2018-01-19 14:07:23 +00:00
Sebastiaan Jansssen 4e57e1cc18 Nicer variable name, thank to Lee Kelleher! 2018-01-19 12:50:45 +01:00
Sebastiaan Jansssen 410afffaa9 Optimizing use of newlines array 2018-01-19 12:42:04 +01:00
Claus 936e94789d adding to tinyMceConfig.Release.config. 2018-01-19 12:21:57 +01:00
Claus 468a56e5de Merge branch 'karltynan-dev-v7' into dev-v7 2018-01-19 11:11:53 +01:00
Claus 468ec8824a Merge branch 'dev-v7' of git://github.com/karltynan/Umbraco-CMS into karltynan-dev-v7 2018-01-19 11:11:13 +01:00
Sebastiaan Jansssen cad913b7a1 U4-10857 Update to ClientDependency 1.9.5 2018-01-19 08:26:34 +01:00
Sebastiaan Jansssen 382103d99d Bump version to 7.7.9 2018-01-19 08:26:33 +01:00
Sebastiaan Janssen cbb6b9bca0 Merge pull request #2310 from matthew-darby/U4-10495
U4-10495 - Install and customize buttons disabled
2018-01-18 18:38:37 +01:00
Sebastiaan Janssen a1b90a50cd Merge pull request #2343 from soreng/patch-5
Fix for U4-10733
2018-01-18 18:28:34 +01:00
Sebastiaan Janssen 9ea5855073 Merge pull request #2360 from janvanhelvoort/U4-10785
U4-10785 - Filtering of Grid Editors
2018-01-18 18:20:11 +01:00
Sebastiaan Janssen 4a37433042 Merge pull request #2372 from bjarnef/dev-v7-U4-10809
Fix checkmark tree icon, when custom font icon is used for tree icon
2018-01-18 18:00:53 +01:00
Sebastiaan Janssen 91469812d3 Merge pull request #2383 from MMasey/U4-10727
U4 10727 - If nodes with an empty name exist, it's not possible to empty recycle bin
2018-01-18 17:54:40 +01:00
Sebastiaan Janssen 68a8eb7f3f Merge pull request #2375 from redmorello/U4-10762
U4-10762 Fix issue with empty name when registering new members from …
2018-01-18 17:40:05 +01:00
Sebastiaan Janssen 2e7baabb94 Merge pull request #2394 from umbraco/temp-u4-10813
U4-10813 - fix error with groups having a large number of permissions
2018-01-18 17:27:11 +01:00
Sebastiaan Janssen 57745fe71d Merge pull request #2396 from leekelleher/issue/U4-10842
U4-10842 LegacyMediaPickerPropertyConverter null-reference check
2018-01-18 17:17:45 +01:00
Sebastiaan Janssen de6f9236e7 Merge pull request #2399 from leekelleher/issue/U4-8712
U4-8712 MultipleTextstring value newline delimiter changes
2018-01-18 17:13:46 +01:00
Sebastiaan Janssen a00c59e8b5 Merge pull request #2393 from umbraco/temp-u4-10079
U4-10079 - remove default template
2018-01-18 16:54:22 +01:00
Stephan 05c2da807f U4-10079 - fix test 2018-01-18 15:58:51 +01:00
leekelleher 0fd8ca43d6 U4-8712 MultipleTextstring value newline delimiter changes
PR #2185 goes towards resolving this, but doesn't handle the impromptu switch between the `\r\n` and `\n` newline delimiters when republishing a content node.

Using an explicit array of newline chars will resolve this, e.g. `Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None)`

<http://issues.umbraco.org/issue/U4-8712>
2018-01-18 12:18:51 +00:00
leekelleher 87f09b2ee6 U4-10845 MultiNodeTreePickerPropertyConverter - trashed content causes database lookups
If the first ID in the MNTP value is a trashed content node, then the `ConvertSourceToObject` method would
check if the ID is a media or member node, both of these incur a database call.

This can cause a detrimental performance impact on the website.

This patch uses the `startNode.type` prevalue to detect the node type, (e.g. Content, Media or Member).
The prevalue is cached in a private `ConcurrentDictionary` and refreshed using the `DataTypeCacheRefresher` event.
> _Following the same caching-pattern as the Slider, Tags and MediaPicker value-converters._

<http://issues.umbraco.org/issue/U4-10845>
2018-01-18 10:49:18 +00:00
leekelleher e466878925 U4-10842 LegacyMediaPickerPropertyConverter ConvertDataToSource null-reference check
If a selected media node has been trashed on the source environment,
when Deploy comes to transfer the node ID, because it can't transfer the media dependency,
the node ID value is set to `null`.

This causes an issue for the `LegacyMediaPickerPropertyConverter`
and `ConvertDataToSource` throws a null-reference exception.

This patch adds in a null-reference check for the `source` value.

<http://issues.umbraco.org/issue/U4-10842>
2018-01-18 10:04:55 +00:00
Claus 7adf917570 Merge pull request #2395 from umbraco/temp-U4-10836
U4-10836 ContentService.GetPagedDescendants() is not returning any re…
2018-01-18 07:27:12 +01:00
Stephan 7c41db4bcc U4-10836 - fix a couple issues with the PR, and optimize 2018-01-17 17:14:26 +01:00
Stephan 5caaef7795 Merge branch origin/dev-v7.8 into temp-U4-10836 2018-01-17 16:54:28 +01:00
Claus 3b72945b1f applying path fix for MediaService. 2018-01-17 15:57:53 +01:00
Mads Rasmussen 71eb22d0e8 Merge branch 'dev-v7.8' of https://github.com/umbraco/Umbraco-CMS into dev-v7.8 2018-01-17 15:51:25 +01:00
Mads Rasmussen 9d780a2e8f fixes: U4-10837 CMS getting started tour can't create Home page 2018-01-17 15:50:01 +01:00
Claus 55b00069cb U4-10836 ContentService.GetPagedDescendants() is not returning any results 2018-01-17 15:40:25 +01:00
Robert b304728f4e Merge pull request #2390 from umbraco/temp-U4-10828
fixes: U4-10828 Add documentation to tour component and service
2018-01-17 14:27:01 +01:00
Mikulas Tomanka 319acc199e Merge pull request #2391 from matthew-darby/U4-10825
U4-10825 Search member by email in member section
2018-01-17 14:18:43 +01:00
Stephan 2a982f21a7 U4-10813 - fix error with groups having a large number of permissions 2018-01-17 13:07:03 +01:00
Stephan 3ff455f11d U4-10079 - remove default template 2018-01-17 11:36:08 +01:00
Stephan 41ad1bf27b U4-10829 - fix tree controller 2018-01-17 10:47:35 +01:00
Matt Darby f49d939a2d U4-10825 Search member by email in member section 2018-01-16 23:06:15 +08:00
Mads Rasmussen c7e80fc532 remove all client side code related to registering tours in the service. It should be done through .json files. 2018-01-16 13:40:57 +01:00
Mads Rasmussen b47d691841 add documentation to the tour component 2018-01-16 13:31:13 +01:00
Shannon 7e1e83b493 Fixes PackageInstaller event args to make sure the package metadata is passed through 2018-01-16 19:18:08 +11:00
Shannon f6971185f8 bumps version 2018-01-16 19:15:34 +11:00
Shannon 244429b972 Fixes PackageInstaller event args to make sure the package metadata is passed through 2018-01-16 19:15:01 +11:00
Stephan 506d810cf6 DataType refactoring preparation - Entity refactoring 2018-01-15 15:54:06 +01:00
Stephan cc47276095 DataType refactoring preparation - Entity refactoring 2018-01-15 13:44:49 +01:00
Stephan d23933a5b1 DataType refactoring preparation - Entity refactoring 2018-01-15 13:28:35 +01:00
Shannon 80ceba36dc Merge branch 'dev-v7.8' of https://github.com/umbraco/Umbraco-CMS into dev-v7.8 2018-01-15 20:41:47 +11:00
Shannon d33b617851 bumps version, checks for feature resolver 2018-01-15 20:40:40 +11:00
Warren Buckley 2b5f370c92 Merge pull request #2351 from umbraco/temp-U4-9291
U4-9291 TypedSearch should have an overload specifying pager values, …
2018-01-15 09:38:51 +00:00
Shannon 4a0cf81d7d fixes test 2018-01-15 18:19:23 +11:00
Shannon fef743517f Allows for passing in an Unknown object type to the IEntityService.GetIdForKey and GetKeyForId methods 2018-01-15 18:05:52 +11:00
Shannon b3cbcebf5b Merge remote-tracking branch 'origin/dev-v7' into dev-v7.8
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/contenttypeeditor/editorpicker/editorpicker.html
#	src/Umbraco.Web.UI.Client/src/views/components/application/umb-navigation.html
2018-01-15 16:27:29 +11:00
Shannon 3d90c2b83f oops, fixed returned type not picked up by compiler due to dynamics 2018-01-15 16:11:56 +11:00
Shannon 3b8b5b6dfa Merge branch 'dev-v7.8' into temp-U4-9291 2018-01-15 15:51:40 +11:00
Shannon Deminick 85f95cf067 Merge pull request #2386 from umbraco/temp-U4-10824
U4-10824 Helper methods for adding filters to tours
2018-01-15 14:30:48 +11:00
Sebastiaan Janssen 23be0134e7 Merge pull request #1605 from jobf/dev-v7
fix U4-8792 override overflow
2018-01-13 17:57:49 +01:00
Sebastiaan Janssen 355fb64d8b Merge pull request #1573 from drbldgtl/dev-v7-U4-6415
Renamed SerializeToCropDataSet to DeserializeToCropDataSet
2018-01-13 17:33:44 +01:00
Stephan 42959a1db5 U4-10822 - fix breaking change 2018-01-12 13:51:06 +01:00
Mads Rasmussen 5b754b3958 adding missing fieds to tour step model 2018-01-12 13:33:46 +01:00
Claus cba31986fe adding dynamic customProperties field to steps. 2018-01-12 11:46:13 +01:00
Claus 07b0267668 Merge pull request #2385 from umbraco/temp-U4-10804
Removed unused tour code from tour.service.js
2018-01-12 10:54:27 +01:00
Claus a83291cc6e tabs-spaces and stuff. 2018-01-12 10:54:10 +01:00
Stephan 988aa661ea DataType refactoring preparation - Entity refactoring 2018-01-12 10:48:36 +01:00
Kristoffer Tverå a1cd22208b Extra check before assigning value to currentColor
In version 7.7.7 with the latest version of LeBlender (1.0.9.2), colorpickers will throw a javascript error in console. Applying this small check will resolve that issue.
ref: https://our.umbraco.org/forum/contributing-to-umbraco-cms/88890-color-picker-cannot-read-property-hasownproperty-of-null
2018-01-12 10:45:59 +01:00
Claus 59d75277c2 fixing up helpers to match exact strings as this is what people will be using. If they need more advanced regex matches they should register by a regex instead. 2018-01-12 09:52:52 +01:00
Claus 69e193e887 U4-10824 Helper methods for adding filters to tours 2018-01-12 09:23:40 +01:00
Mads Rasmussen c3116d5df7 remove moment resolution for bower.json 2018-01-12 08:52:13 +01:00
Shannon Deminick b0b874212e Merge pull request #2381 from umbraco/temp-U4-10803
U4-10803: remove dependency on angular-moment
2018-01-12 14:43:06 +11:00
Shannon 19086ab3a1 Merge remote-tracking branch 'origin/dev-v7.8' into temp-U4-10803
# Conflicts:
#	src/Umbraco.Web.UI.Client/bower.json
2018-01-12 14:32:54 +11:00
Shannon Deminick 069594c3ac Merge pull request #2380 from umbraco/U4-10815
U4-10815 Make DisposableObjectSlim
2018-01-12 12:43:47 +11:00
Stephan 0bc4c7e2aa U4-10822 - refactor view models binding error handling 2018-01-11 16:42:20 +01:00
Stephan 7f12cff3bd Minor build cleanup 2018-01-11 16:25:18 +01:00
Robert 56adab43d6 Removed unused tour code from tour.service.js 2018-01-11 15:03:55 +01:00
Shannon 83294b6594 bump version 2018-01-12 00:32:00 +11:00
Shannon e0c89eb1ea Merge branch 'dev-v7.8' of https://github.com/umbraco/Umbraco-CMS into dev-v7.8 2018-01-12 00:20:21 +11:00
Shannon 9ad8e6a876 fixes nuspec for tour files 2018-01-12 00:20:06 +11:00
Mads Rasmussen 14b58386e5 fix tour backdropOpacity 2018-01-11 14:14:03 +01:00
Robert e26cbccfe0 Reverted DisposableObject.cs to its original state 2018-01-11 13:22:23 +01:00
Shannon 7dc06c1bea bumps version 2018-01-11 22:29:25 +11:00
Shannon Deminick effa984bdc Merge pull request #2371 from umbraco/temp-U4-10707
fixes: U4-10707 Config to order tour groups
2018-01-11 22:04:24 +11:00
Robert fa058f348d Forgot to removed TODO 2018-01-11 11:02:05 +01:00
Mads Rasmussen 62d9a1a132 Merge pull request #2379 from umbraco/mzajkowski-U4-4902
U4-4902 Enable 'discard changes' alert throughout the UI
2018-01-11 10:59:22 +01:00
Robert 9284269428 TODO's for DisposableObject and DisposableObjectSlim done 2018-01-11 10:53:45 +01:00
Mads Rasmussen f8c4481eb1 Merge branch 'dev-v7' into mzajkowski-U4-4902 2018-01-11 10:28:28 +01:00
Shannon d7f2041ee9 Makes the TourFilterResolver a real resolver 2018-01-11 18:00:42 +11:00
Mads Rasmussen 80c2cbdfe5 add umb-box to users 2018-01-10 22:23:54 +01:00
Mads Rasmussen e58b759d10 move user group back button to header 2018-01-10 22:11:35 +01:00
Mads Rasmussen d04d37ec90 move user back button to header 2018-01-10 22:09:43 +01:00
Mads Rasmussen b6528c533c add box to create/invite user 2018-01-10 22:06:10 +01:00
Mike 9f6e6e4701 Add tests to SimilarNodeNameTests to check for null and "" values. 2018-01-10 20:58:10 +00:00
Mike 34ba3f3351 Merge remote-tracking branch 'upstream/dev-v7' into U4-10727 2018-01-10 20:48:28 +00:00
Mike dcfb8b94d8 Refactor SimilarNodeName to account for null nodeName values. 2018-01-10 20:44:30 +00:00
Mads Rasmussen b56e4e8b40 add umb-box to user sidebar 2018-01-10 20:37:00 +01:00
Mads Rasmussen 3b9d56f557 Merge branch 'dev-v7.8' into temp-v8-UI 2018-01-10 20:08:50 +01:00
Mads Rasmussen 0876004d9a U4-10803: remove dependency on angular-moment 2018-01-10 16:00:32 +01:00
Stephan d3ad61835a Merge branch 'temp-U4-10789' into dev-v7.8 2018-01-10 15:59:07 +01:00
Stephan ad882ab5be Merge remote-tracking branch 'origin/dev-v7.8' into temp-U4-10789 2018-01-10 15:58:18 +01:00
Stephan 774f333c70 U4-10789 - cleanup + beta003 2018-01-10 15:24:58 +01:00
Ilham Boulghallat 700b71f9fb Merge pull request #2377 from abjerner/patch-32
A few fixes for the Danish translation
2018-01-10 15:14:27 +01:00
Robert bba58ea0c0 Replaced all usages of DisposableObject with DisposableObjectSlim 2018-01-10 13:48:55 +01:00
Robert d0d4885812 Created slim version of DisposableObject and fixed some code indentation
DisposableObjectSlim has no finalizer
2018-01-10 13:36:53 +01:00
Stephan b5856803e1 DataType refactoring preparation - Entity refactoring 2018-01-10 12:48:51 +01:00
Claus ce11a377e6 refactor 2018-01-10 11:37:37 +01:00
Claus c6443c477f no need to log when throwing - that gets logged. 2018-01-10 11:13:28 +01:00
Claus eb94572361 updating pr to fit with base. 2018-01-10 10:55:46 +01:00
Claus fd8317493e Merge branch 'dev-v7.8' into temp-U4-10707
# Conflicts:
#	src/Umbraco.Web/Editors/TourController.cs
#	src/Umbraco.Web/Umbraco.Web.csproj
2018-01-10 10:10:19 +01:00
Robert 3642ff72a4 Removed console.log 2018-01-10 10:03:26 +01:00
Robert 6e830c1171 Wrapping the watch in the elm.focus
Seems to bring the watch calls way down.
2018-01-10 10:03:02 +01:00
Claus 22ff1bcaa0 Merge pull request #2378 from umbraco/temp-U4-10811
U4-10811 Store custom tours as json and load from App_Plugins/{MyPlug…
2018-01-10 09:46:47 +01:00
Robert ab523baf4f Changed no-dirty-check directive to use scope.$watch to change $pristine to false 2018-01-10 09:24:42 +01:00
Claus 2dec03f441 Merge pull request #2374 from umbraco/temp-U4-10810
U4-10810 Update CDF to support storing TEMP files in environment %tem…
2018-01-10 09:04:58 +01:00
Claus 9ada0d9c97 reverting committed iis settings. 2018-01-10 09:03:35 +01:00
Shannon c3be9004f6 U4-10811 Store custom tours as json and load from App_Plugins/{MyPlugin}/backoffice/tours 2018-01-10 16:01:46 +11:00
Shannon 11fa015b64 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.8
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2018-01-10 15:08:10 +11:00
Shannon df553140e8 Updates to latest 1.9.4 of CDF and updates Nuspec 2018-01-10 12:25:24 +11:00
Anders Bjerner 0b898f2e32 A few fixes for the Danish translation 2018-01-09 22:54:48 +01:00
Mads Rasmussen 4c9be2cc49 Merge pull request #2376 from abjerner/patch-31
Start node -> Startnode
2018-01-09 21:32:53 +01:00
Anders Bjerner 1aad4e50d5 Start node -> Startnode 2018-01-09 21:25:36 +01:00
Ian Houghton f5f3676a56 U4-10762 Fix issue with empty name when registering new members from snippet 2018-01-09 15:51:32 +00:00
Mads Rasmussen f69f68e2b5 Merge branch 'temp-U4-10707' of https://github.com/umbraco/Umbraco-CMS into temp-U4-10707 2018-01-09 16:17:07 +01:00
Mads Rasmussen 3858656015 clear tours before registering new tours 2018-01-09 16:15:38 +01:00
Claus a5ec5f46ac filtering out tours. 2018-01-09 15:49:19 +01:00
Mads Rasmussen ea70e18a91 set "Getting Started"-tour group to order 100 so it is possible be add groups before and after 2018-01-09 14:13:27 +01:00
Mads Rasmussen 0cfd5773c3 set groupOrder on group so we don't order the tours in each group 2018-01-09 14:12:33 +01:00
Mads Rasmussen b15def99c7 format as json 2018-01-09 11:53:21 +01:00
Stephan 8c8b6984c2 Merge branch origin/dev-v7.8 into temp-U4-10789 2018-01-09 09:06:01 +01:00
Shannon bc828fc6f3 U4-10810 Update CDF to support storing TEMP files in environment %temp% location 2018-01-09 13:52:52 +11:00
Mike dc7b83ca6c Add initial test fix for SimilarNodeName when a node has no name. 2018-01-08 17:30:11 +00:00
Robert 8188e4ff55 Merge branch 'U4-4902' of git://github.com/mzajkowski/Umbraco-CMS into mzajkowski-U4-4902 2018-01-08 15:39:29 +01:00
Bjarne Fyrstenborg fcf9dcd803 Fix checkmark tree icon, when custom font icon is used for tree icon, e.g. in UCommerce 2018-01-08 14:40:31 +01:00
Mads Rasmussen 070fa11f8c fixes: U4-10707 Config to order tour groups 2018-01-08 14:11:53 +01:00
Claus f52a84937b Merge pull request #2332 from ruant/U4-10596
fix: add CultureInfo.InvariantCulture to int.Parse
2018-01-08 14:07:10 +01:00
Robert 7e9f55f517 Merge pull request #1760 from abjerner/patch-15
LinkPicker overlay: Added property for hiding the target option
2018-01-08 13:11:01 +01:00
Sebastiaan Jansssen 3556043b55 Update to latest modelsbuilder 2018-01-08 12:44:29 +01:00
Sebastiaan Jansssen 3e8fb11abd Update to latest modelsbuilder 2018-01-08 08:39:01 +01:00
Shannon 5181988a41 forgot to set the flag 2018-01-08 18:10:27 +11:00
Shannon 5169310258 Makes sure we check for index locking on both a normal boot with empty indexes and a cold boot when that is being forced 2018-01-08 17:57:15 +11:00
Shannon Deminick f987640462 Merge pull request #2370 from abjerner/patch-30
Fixed the xmldoc for UserService.Delete
2018-01-08 14:34:53 +11:00
Anders Bjerner 55e97dad74 Fixed the xmldoc for UserService.Delete 2018-01-06 20:24:02 +01:00
Mads Rasmussen 2fea966a49 decrease space between sidebar and main content on info tab 2018-01-05 20:41:08 +01:00
Mads Rasmussen f1f4d64e85 update data type editor to use umb-box directive 2018-01-05 20:40:29 +01:00
Mads Rasmussen 9260c04a08 update styling + wip node variant picker 2018-01-05 14:01:51 +01:00
Shannon 8c70578764 fix tests 2018-01-05 16:22:40 +11:00
Shannon 5cb2dd0036 Makes the features internal 2018-01-05 15:19:16 +11:00
Shannon a9713dc6fc Converts the xslt tree to a controller, ensures all config for trees is correct and transforms for upgrades applied 2018-01-05 13:44:57 +11:00
Shannon b32e7d4ccc running the build changed the bower.json file, i wonder if this will 'fix' vsts? 2018-01-05 10:45:06 +11:00
Shannon 8d4958e395 Changes the user controller saving extensions operation to use events instead 2018-01-05 10:22:46 +11:00
Sebastiaan Jansssen d2f3e162f1 Bump version to 7.7.8 2018-01-04 16:45:00 +01:00
Stephan 9883757704 U4-10739 - cosmetics 2018-01-04 15:34:22 +01:00
Claus 7404e20a19 Merge pull request #2331 from JackPenney/JackPenney-patch-1
Removed CMS Import keys from hebrew translation
2018-01-04 14:05:43 +01:00
Shannon 0310782d7d bumps version 2018-01-05 00:05:16 +11:00
Claus 744ff0cf33 Merge pull request #2328 from akierczynska/patch-3
Update pl.xml
2018-01-04 14:04:47 +01:00
Claus afd0018dd6 Merge pull request #2349 from dallastaylor/remove-console-writeline
Remove Console.Writeline() from IsPublishable().
2018-01-04 13:56:43 +01:00
Shannon Deminick c36aec624b Merge pull request #2367 from umbraco/temp-U4-10756-performance-fix
Doesn't fix the issue but improves performance by ~30%
2018-01-04 23:43:25 +11:00
Shannon c81e14758d make sure that the navigation index isn't reset 2018-01-04 22:57:38 +11:00
Claus 1ba86f361a Merge pull request #2368 from umbraco/temp-U4-9268
U4-9268 Hidden preview button reappears after 'save' or 'save and pub…
2018-01-04 12:29:00 +01:00
Shannon 9b33c94437 Merge remote-tracking branch 'origin/dev-v7.8' into temp-U4-10789 2018-01-04 22:23:48 +11:00
Shannon 2a30fd238e Merge branch 'dev-v7' into temp-U4-10789 2018-01-04 22:23:39 +11:00
Shannon 3cb4128c0f Merge branch 'temp-U4-10788' into temp-U4-10789 2018-01-04 22:08:03 +11:00
Claus 79958e0fe0 Merge pull request #2359 from umbraco/temp-u4-10739
U4-10739 - retry logic in physical filesystem
2018-01-04 11:57:36 +01:00
Claus f238f9fcea fixing bugs in retry stuff 2018-01-04 11:54:07 +01:00
Stephan 7c545410cc U4-10739 - retry logic in physical filesystem 2018-01-04 11:54:07 +01:00
Shannon e5a21625ea U4-9268 Hidden preview button reappears after 'save' or 'save and publish'. 2018-01-04 21:53:55 +11:00
Shannon dcf5fff3f0 Merge remote-tracking branch 'origin/dev-v7.8' into temp-U4-10789 2018-01-04 18:51:01 +11:00
Shannon 1dc88658e8 Updates how the user.controller saves a user and instead of using the contentEditingHelper we just call the code ourselves which is actually much simpler. Then once the user is saved we call any extendedSave methods that have been registered. 2018-01-04 18:32:25 +11:00
Sebastiaan Janssen efd3d6937a Merge pull request #2365 from umbraco/temp-U4-10701
U4-10701 Umbraco.MemberHasAccess generates slow query after upgrading…
2018-01-03 15:36:51 +01:00
Warren Buckley 3a4e5a2027 Update client build NPM dependancy for gulp-connect to use 5.0.0 as next/latest version required you to use CoffeeScript to compile their src code to use the module/component 2018-01-03 12:00:01 +00:00
Warren Buckley e17f75a18a Update client build NPM dependancy for gulp-connect to use 5.0.0 as next/latest version required you to use CoffeeScript to compile their src code to use the module/component 2018-01-03 11:56:39 +00:00
Niels Hartvig 6d46c2204d Doesn't fix the issue but improves performance by ~30% 2018-01-03 12:54:25 +01:00
Warren Buckley 27b9385df5 Update client build NPM dependancy for gulp-connect to use 5.0.0 as next/latest version required you to use CoffeeScript to compile their src code to use the module/component 2018-01-03 11:08:55 +00:00
Shannon 88c20c7c5f Allows for disabling of any umbraco based Controller on startup, this also takes into account disabled trees so if they are disabled, they will not be shown 2018-01-03 13:49:36 +11:00
Shannon bd9adffaa5 Converts macro tree to use a proper controller so we can disable it 2018-01-03 13:33:33 +11:00
Shannon ea6d81f7ac U4-10701 Umbraco.MemberHasAccess generates slow query after upgrading to 7.7.6 2018-01-03 11:47:26 +11:00
Shannon 0ce059d5bd U4-10789 Headless User Editor extensibility 2018-01-02 17:28:16 +11:00
Shannon 773ef1d168 Merge branch 'dev-v7' into dev-v7.8
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html
2018-01-02 15:28:30 +11:00
Shannon 1f7de81cd2 ignore file update 2018-01-02 15:25:42 +11:00
Bjarne Fyrstenborg fef9e3fde0 Ensure placeholder is same height as original rows 2017-12-29 22:49:06 +01:00
Bjarne Fyrstenborg e849d2d0d0 Add required ng-model to ui-sortable 2017-12-29 22:48:14 +01:00
Bjarne Fyrstenborg 9a6123579f Fix collapsed columns in row when sorting 2017-12-29 22:47:29 +01:00
Stephan 2cb6378c26 Reorg code, move stuff 2017-12-28 09:27:57 +01:00
Stephan edf7df043f Reorg code, move services 2017-12-28 09:18:09 +01:00
Stephan af43ea0beb Reorg code, move dtos 2017-12-28 09:06:33 +01:00
Stephan 3be8f9f645 Variants - invariant segments, property values 2017-12-27 15:11:29 +01:00
Mads Rasmussen f56bd731b7 Merge pull request #2227 from abryukhov/U4-10481
U4-10481 - v7.7.x - RU localization of the last added keys
2017-12-27 13:24:42 +01:00
Mads Rasmussen bee0642417 Merge pull request #2263 from krighi/U4-10323
U4-10323 - FIX - Grid stuck at 12 columns (percentage calculation incorrect)
2017-12-27 13:04:31 +01:00
Mads Rasmussen 43abb08e59 Merge pull request #2305 from marcemarc/temp-u4-10637
Fixes U4-10637 - textarea Macro Parameters hidden in niche circumstances
2017-12-27 11:05:12 +01:00
Mads Rasmussen 17db5709f1 Merge pull request #2339 from bjarnef/dev-v7-U4-10720
U4-10720 - Add documentation to umb-table component
2017-12-27 10:38:43 +01:00
Mads Rasmussen 2fc6d9b7df Merge pull request #2327 from bjarnef/dev-v7-U4-10703
Wrap text in umb-node-preview component
2017-12-27 10:19:23 +01:00
Stephan 26f02ea6f2 Migrations refactoring - kill migrations table 2017-12-26 19:58:06 +01:00
Stephan bd3e762d9b Migrations refactoring - WIP - namespaces 2017-12-26 19:01:22 +01:00
Stephan a9d9221548 Migrations refactoring - WIP - cleanup 2017-12-26 12:54:27 +01:00
Stephan 8c8fac5d52 Migrations refactoring - WIP - plan 2017-12-26 11:37:57 +01:00
Jan van Helvoort 591a881283 Filtering of Grid Editors
If there are more than 15 items, 5 rows of 3, then show the filter.
2017-12-24 15:48:16 +01:00
Stephan 16c919c1a5 Migrations refactoring - WIP - plan 2017-12-22 16:14:09 +01:00
Stephan 772c8ba242 Migrations refactoring, troubleshoot and fix, tests 2017-12-21 15:16:28 +01:00
Shannon e4561851a4 modifies some code changes to null check and not to use extension methods that require singleton access. 2017-12-21 17:30:37 +11:00
Shannon Deminick c6daf2e111 Merge pull request #2353 from mitutee/temp-U4-10770
U4-10770
2017-12-21 17:20:19 +11:00
Anders Bjerner 1554d52ea9 Triggers the save button to momentarily show an error icon 2017-12-20 21:51:59 +01:00
Sebastiaan Janssen 883366f741 Merge pull request #2295 from JacekJMMJ/temp-u4-10626
Temp u4 10626
2017-12-20 16:07:14 +01:00
Claus cac331adbc U4-10640 Multiple Media Picker duplicate image Angular issue in Umbraco 7.7.4 2017-12-20 13:38:07 +01:00
Stephan 8066b2d4ed Migrations refactoring - WIP - immediate 2017-12-20 11:18:17 +01:00
Shannon Deminick 18318ecabf Merge pull request #2354 from umbraco/temp-u4-10764
U4-10764 - workaround broken events
2017-12-20 17:27:42 +11:00
Shannon 6b9ef6df7a fix tests 2017-12-20 17:02:52 +11:00
Shannon Deminick fcaf78ef29 Merge pull request #2355 from umbraco/temp-u4-10774
U4-10774 - leak in CacheRefresherEventHandler
2017-12-20 16:06:41 +11:00
Stephan a47320301d Migrations refactoring - WIP - immediate 2017-12-19 19:13:53 +01:00
Sebastiaan Janssen 833b4c552c Merge pull request #2350 from umbraco/temp-U4-10686
U4-10686 TypedMediaAtRoot().Descendants() calls SQL
2017-12-19 18:25:23 +01:00
Mads Rasmussen 46b1781567 fix navigation resize 2017-12-19 15:58:10 +01:00
Mads Rasmussen 40b4976a22 add user avatar to header 2017-12-19 13:47:23 +01:00
Mads Rasmussen 760d7897d8 prototype apps for media section 2017-12-19 13:07:22 +01:00
Mads Rasmussen 62954b4d7d expand all content panels when node is loaded 2017-12-19 11:27:26 +01:00
Stephan 2182b0f18f Migrations refactoring - WIP - move code 2017-12-19 11:00:46 +01:00
Mads Rasmussen c678b7f6d9 Merge branch 'bjarnef-dev-v7-U4-10639' into dev-v7 2017-12-19 10:40:59 +01:00
Mads Rasmussen e320840a29 fix position of add button in media picker 2017-12-19 10:39:52 +01:00
Stephan b664fc5e94 U4-10774 - leak in CacheRefresherEventHandler 2017-12-19 10:04:33 +01:00
Stephan b87346bee5 U4-10764 - minor fix 2017-12-19 10:01:51 +01:00
Mads Rasmussen 6029306fe9 Merge branch 'dev-v7-U4-10639' of git://github.com/bjarnef/Umbraco-CMS into bjarnef-dev-v7-U4-10639 2017-12-19 09:53:52 +01:00
Stephan f6314e1361 Cleanup 2017-12-18 17:13:29 +01:00
Stephan bbff74fa51 UnitOfWork RIP, troubleshoot and fix, tests 2017-12-18 17:02:15 +01:00
Stephan f979792290 U4-10764 - workaround broken events 2017-12-18 16:53:58 +01:00
m.kilianovskyi 5f82fc6e20 Merge branch 'dev-v7' into HEAD 2017-12-18 17:51:27 +02:00
m.kilianovskyi b1a0ca98ea U4-10770 Get all permissions for entity instead of explicit only 2017-12-18 17:50:53 +02:00
Mads Rasmussen 46aee1d0af add back button to header 2017-12-18 15:44:42 +01:00
Mads Rasmussen aa975445f5 fix sections tray 2017-12-18 14:37:46 +01:00
Ilham Boulghallat f4f99c2922 Merge pull request #2336 from MrCosmo/temp-U4-10722
U4-10722 fix in Dutch localization
2017-12-18 10:32:33 +00:00
Mads Rasmussen ba120e9627 remove search from tree + add languages to dropdown 2017-12-18 09:53:14 +01:00
Shannon 6f55b84c65 removes this. convention 2017-12-18 15:34:15 +11:00
Shannon Deminick 43f369f96f Merge pull request #2306 from Sam7/dev-v7
U4-10453 - Ability to Sync after each external login (using OWIN)
2017-12-18 14:42:25 +11:00
Mads Rasmussen dcf64222da add shadow to header and footer 2017-12-15 18:29:02 +01:00
Mads Rasmussen 830ab2692f styling tweaks 2017-12-15 14:41:51 +01:00
Stephan 0ab2f6cc9f Faster variants in Property 2017-12-15 11:58:11 +01:00
Stephan e4b375f72d UnitOfWork RIP, build tests 2017-12-15 11:19:03 +01:00
Mads Rasmussen 7d080ff337 style umb-table 2017-12-15 10:51:42 +01:00
Mads Rasmussen 84a4b4007b add list view as an app 2017-12-15 10:22:49 +01:00
Shannon 60924d93fb U4-9291 TypedSearch should have an overload specifying pager values, page size, page index, and with an out param to return the total number of results 2017-12-15 17:24:54 +11:00
Shannon c1b3da869d U4-10686 TypedMediaAtRoot().Descendants() calls SQL 2017-12-15 16:01:20 +11:00
Dallas Taylor e39158d5e5 Remove Console.Writeline() from IsPublishable(). 2017-12-14 22:18:49 -05:00
Stephan 33b4af0340 UnitOfWork RIP, IScopeAccessor 2017-12-14 17:04:44 +01:00
Mads Rasmussen 7b13feb29b change tabs to groups and add apps + first round of styling 2017-12-14 15:21:01 +01:00
Mads Rasmussen b29f591084 start on moving sections to new top bar 2017-12-14 11:24:37 +01:00
Shannon aed476de0a Merge branch 'dev-v7' into dev-v7.8 2017-12-14 19:26:45 +11:00
Shannon ddd9c8ef7d Do a lock check on the index on startup and unlock it if it is, this is a safety check since we are now using the simplefs dir 2017-12-14 19:25:01 +11:00
Shannon 9e2c7d16a6 Merge branch 'dev-v7' into dev-v7.8 2017-12-14 18:35:34 +11:00
Shannon 44db4e7a48 updates nuspec and references to use latest Examine 2017-12-14 18:34:48 +11:00
Shannon 680d97c630 Make sure the back office tour files are included in the nuget release 2017-12-14 16:51:48 +11:00
Shannon 89347b359b fixes merge issues with DocumentBlueprint naming 2017-12-14 16:51:13 +11:00
Shannon 8053cea92d Merge branch 'dev-v7' into dev-v7.8
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Core/UdiEntityType.cs
#	src/Umbraco.Core/Umbraco.Core.csproj
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/umbraco.cms/umbraco.cms.csproj
2017-12-14 16:24:25 +11:00
Shannon f44b158c15 When we disable examine indexing on startup with MainDom, also suspend all indexing 2017-12-14 16:19:54 +11:00
Robert 1ff66d0c3a Merge pull request #2345 from umbraco/temp-U4-10735
U4-10735 Examine update to better manage appdomain shutdowns
2017-12-13 10:52:56 +01:00
Claus ae07f34215 seems this was missing from the merge commit? 2017-12-13 09:53:38 +01:00
Robert aba2c2a79e Merge pull request #2346 from umbraco/temp-U4-10738
U4-10738 Deleting a media type folder causes an exception
2017-12-12 16:02:21 +01:00
Stephan 6d4644c118 UnitOfWork RIP 2017-12-12 15:04:13 +01:00
Robert 9f62dfc087 Merge pull request #2348 from umbraco/temp-U4-10588
U4-10588 Indexed member data is missing fields
2017-12-12 13:40:48 +01:00
Shannon Deminick a21912dc41 Merge pull request #2337 from skttl/U4-10549-rte-memory-usage
Fix for U4-10549 RTE memory usage
2017-12-12 11:53:42 +01:00
Robert 733b4a770f Merge pull request #2347 from umbraco/temp-U4-10587
U4-10587 Email field in InternalMemberIndex seems to be attempted to …
2017-12-12 11:29:10 +01:00
Shannon 2e097b7e46 U4-10588 Indexed member data is missing fields 2017-12-12 11:25:53 +01:00
Shannon e1b6997ef7 U4-10587 Email field in InternalMemberIndex seems to be attempted to being added to the index twice 2017-12-11 15:50:27 +01:00
Sebastiaan Jansssen b6b7b9f433 Bump version to 7.7.7 2017-12-11 13:57:31 +01:00
Shannon 8181f88cb0 Do not keep looking up data to index if the app is shutting down 2017-12-08 09:09:14 +01:00
Stephan 84f9242aa0 Persistence Shakeup 2017-12-07 16:45:25 +01:00
Claus 3a4865ef7d U4-10738 Deleting a media type folder causes an exception 2017-12-07 13:45:49 +01:00
Stephan 269531c570 Published variants in NuCache 2017-12-07 13:22:32 +01:00
Shannon 37f6dbfa6b more logging 2017-12-06 15:46:35 +01:00
Shannon 131fea3ba4 updates some proj refs 2017-12-06 15:38:00 +01:00
Shannon b0661218a0 U4-10735 Examine update to better manage appdomain shutdowns 2017-12-06 15:21:38 +01:00
Stephan b392d72bc2 Published variants - WIP 2017-12-06 11:51:35 +01:00
Stephan 995f47e6d9 Add variants support to SetValue for files 2017-12-06 10:20:15 +01:00
Søren Gregersen 50335723b0 Fix for U4-10733 2017-12-06 10:09:40 +01:00
Stephan d48cb8a66d Fix content event tests 2017-12-06 09:58:50 +01:00
Mikkel Holck Madsen 6f1bd3fd71 Merge pull request #2341 from umbraco/temp-U4-10610-v78
U4-10610 Cannot restore content templates - v7.8
2017-12-05 13:48:16 +01:00
Mikkel Holck Madsen fb99b101d8 Merge pull request #2340 from umbraco/temp-U4-10610
U4-10610 Cannot restore content templates
2017-12-05 13:47:11 +01:00
Claus 91e658c41c U4-10610 Cannot restore content templates 2017-12-05 10:37:23 +01:00
Claus 0ce7efc978 U4-10610 Cannot restore content templates 2017-12-05 10:19:12 +01:00
Stephan 5ed82fe297 Fix content event tests 2017-12-02 16:14:21 +01:00
Stephan eb1b1f669c Remove rollback service method 2017-12-02 14:51:01 +01:00
Stephan eca51631b7 Refactor validation and publishing 2017-12-02 14:30:20 +01:00
Stephan eea1392ef4 Fix UI namespaces issues 2017-12-02 13:13:02 +01:00
Stephan aa25990681 Integer version ID, cleanup 2017-12-01 20:00:33 +01:00
Bjarne Fyrstenborg 3b8a2d7d65 Add basic documentation to umbPasswordToggle 2017-11-30 23:48:41 +01:00
Bjarne Fyrstenborg 61b9ab5c7b Fix typo 2017-11-30 23:47:55 +01:00
Bjarne Fyrstenborg cfda04b6ed Add documentation of umb-table component 2017-11-30 23:47:23 +01:00
Stephan 9b9c7c8e3a Refactor content service 2017-11-30 13:57:40 +01:00
Mikkel Holck Madsen 11bdfbba19 Merge pull request #2338 from umbraco/temp-u4-10715
U4-10715 - scheduled publishing and LB issue
2017-11-30 10:57:12 +01:00
Stephan 9694831638 U4-10715 - scheduled publishing and LB issue 2017-11-30 08:54:16 +01:00
Søren Kottal a20844b55b Destroy tineMceEditors on $destroy 2017-11-29 12:16:12 +01:00
Marco 158e40d7f6 U4-10722 fix in Dutch localization 2017-11-29 08:25:04 +01:00
Stephan 94127e9aa2 Implement content- and property-type variations 2017-11-27 19:17:50 +01:00
Warren Buckley 6939cc757e Merge pull request #2333 from umbraco/temp-U4-10670
fixes: U4-10670 7.8. Visual indication on the info-tab or page in whi…
2017-11-24 13:46:50 +00:00
Mads Rasmussen 2baec8a129 fixes: U4-10704 Restore Node - After restoring the restore button still stays 2017-11-24 13:26:54 +01:00
Mads Rasmussen 93a1fc1eba fixes: U4-10670 7.8. Visual indication on the info-tab or page in which state a page is 2017-11-24 11:32:34 +01:00
Stephan 62712cef3d More segment-only values 2017-11-23 16:30:04 +01:00
Rune Antonsen fe67a09ccb fix: add CultureInfo.InvariantCulture to int.Parse
Fix issue where different Culture some times makes int.Parse thrown an `System.FormatException: 'Input string was not in a correct format.' `

Closes: U4-10596
2017-11-23 15:12:01 +01:00
Jack Penney 1c4e1db054 Removed CMS Import keys from hebrew translation 2017-11-23 12:28:17 +00:00
Stephan 23c0687ae0 Minor variant fixes, support segment-only values 2017-11-22 18:48:43 +01:00
Stephan e843b2c7ea Troubleshoot variants migration 2017-11-22 12:45:09 +01:00
Mads Rasmussen 5d694a73a3 Merge pull request #2330 from umbraco/temp-U4-10312
Temp u4 10312
2017-11-22 12:42:06 +01:00
Stephan c6514a6ee1 Troubleshooting variants, running the back-office 2017-11-22 08:39:54 +01:00
Mads Rasmussen af369fa6c7 when scrolling position element in the center of the scroll container 2017-11-21 21:40:22 +01:00
Mads Rasmussen 901036535d fix scrolling in document type 2017-11-21 21:39:58 +01:00
Mads Rasmussen 5d6cbee196 rename data attribute for editor container 2017-11-21 21:39:34 +01:00
Mads Rasmussen 9e9ae09ec2 add data attributes 2017-11-21 21:38:48 +01:00
Karl Tynan 58697eaa04 Merge pull request #1 from karltynan/karltynan-patch-1
Added small to allowed TinyMCE valid elements
2017-11-21 15:20:06 +00:00
Karl Tynan ce58ad91b5 Added `small` to allowed TinyMCE valid elements
We use ``small`` a lot in the RTE, and ``small`` is now considered a really useful tag in HTML5. I would like to see this in the default valid elements list for people to use out-of-the box.
2017-11-21 15:18:42 +00:00
Warren Buckley e49d14d687 Merge pull request #2325 from umbraco/temp-U4-10666
fixes: U4-10666 Publish nodes in the recycle bin
2017-11-21 13:57:55 +00:00
Bjarne Fyrstenborg 3c98d9d2e1 Wrap text in umb-node-preview component 2017-11-20 19:18:57 +01:00
Mads Rasmussen e010ff2a8c fixes: U4-10663 7.8 - Save and Publish button styling - Firefox 2017-11-20 13:51:37 +01:00
bjarnef 8d14a3ef2c added number validation in embed overlay 2017-11-20 12:36:12 +01:00
bjarnef 2f3d9c9509 localize texts 2017-11-20 12:32:09 +01:00
Robert 6e8f3b6e13 Merge pull request #2324 from umbraco/temp-UAASSSCRUM-1254
Added custom RollingFileAppender and changed rollingStyle to "size"
2017-11-17 13:03:48 +01:00
mikkelhm b9cbdbd9a7 Add rename of Appender to csproj 2017-11-17 12:01:32 +01:00
mikkelhm ebf35356a8 Updates the CustomRollingFileAppender to read config settings to control it 2017-11-17 12:00:42 +01:00
Mads Rasmussen 00cec3267c Merge pull request #2318 from abjerner/patch-24
New Danish translation for "Dato for Fortryd udgivelse"
2017-11-16 12:07:01 +01:00
Mads Rasmussen 4bfb2d219b Merge branch 'dev-v7' into dev-v7.8
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2017-11-16 12:01:26 +01:00
Stephan 228c8e7935 PropertyData evo.2 (tests) 2017-11-15 19:44:32 +01:00
akierczynska f3ba1fa7ed Update pl.xml
Adding translations and adjusting pl.xml to en.xml format.
2017-11-15 18:07:31 +00:00
Sebastiaan Janssen 7eca99e249 Bump version to 7.7.6 2017-11-15 15:21:25 +01:00
Mads Rasmussen 80c61110df make sure you can't restore to items already in the recycle bin 2017-11-15 15:13:58 +01:00
Sebastiaan Janssen 837bb83d48 Merge remote-tracking branch 'origin/dev-v7.6' into dev-v7 2017-11-15 14:40:19 +01:00
Sebastiaan Janssen 054ac78970 Revert "Position changed from "target" to "center""
This reverts commit c1769aa299.
2017-11-15 14:39:09 +01:00
Mads Rasmussen 8e47f91ba5 show "restore"-button instead of "save and publish"-button for trashed items 2017-11-15 13:36:10 +01:00
Stephan ef11fda272 More content refactoring (tests) 2017-11-15 08:53:20 +01:00
Mads Rasmussen 31f6bd4c02 fixes: U4-10665 7.8 - Log info on two lines is a bit off 2017-11-14 15:57:13 +01:00
Mads Rasmussen 3e5744dbb7 fixes: U4-10663 7.8 - Save and Publish button styling - Firefox 2017-11-14 13:38:18 +01:00
Robert 5982a868ea Added custom RollingFileAppender and changed rollingStyle to "size"
OpenFile method has been overiden, this means that everytime a log will be opened, it will check the last access time of all existing logs, and delete the ones that haven't been accessed in more than 1 month.

Changing the rollingStyle to "size" will make sure that logs will roll once the maximumFileSize reaches its set limit.
2017-11-14 12:01:11 +01:00
Sebastiaan Janssen 69a42e26a9 Merge remote-tracking branch 'origin/dev-v7.6' into dev-v7 2017-11-14 11:42:00 +01:00
Sebastiaan Janssen d9ed420ed4 U4-10492 Users failing to list with MySQL 2017-11-14 11:38:45 +01:00
Sebastiaan Janssen 2b3397120f Disambiguate events by explicitly naming them 2017-11-14 11:23:48 +01:00
Mads Rasmussen cb0d8320e6 rename parameter 2017-11-14 10:47:34 +01:00
Mads Rasmussen 53d9b65e64 Merge branch 'dev-v7.8' into patch-27 2017-11-14 09:54:08 +01:00
Mads Rasmussen df0fe62fca Merge branch 'dev-v7.8' into patch-27 2017-11-14 09:50:05 +01:00
Sebastiaan Janssen 1f41aa7d81 Merge branch 'dev-v7.6' into dev-v7
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web.UI/packages.config
2017-11-14 07:19:08 +01:00
Sebastiaan Janssen dad77fc506 Bump version to 7.7.5 2017-11-14 07:17:19 +01:00
Sebastiaan Janssen 350f5c88c7 Bump version to 7.6.12 2017-11-14 07:16:14 +01:00
Stephan 928c0dc535 Merge pull request #2314 from umbraco/temp-U4-10646
U4-10646 Sorting nodes in edge cases can lead to blanking out of property data
2017-11-13 17:33:27 +01:00
Mads Rasmussen 483a2c7c02 Merge pull request #2320 from abjerner/patch-26
"by" in the new Info tab is now localized
2017-11-13 15:44:17 +01:00
Sebastiaan Janssen cc7a28db65 Update to latest ImageProcessor 2017-11-13 15:39:29 +01:00
Sebastiaan Janssen 065e764957 Update to latest Examine 2017-11-13 15:39:28 +01:00
Sebastiaan Janssen 000ba73887 Merge branch 'dev-v7.6' into dev-v7
# Conflicts:
#	build/NuSpecs/UmbracoCms.Core.nuspec
#	src/Umbraco.Tests/Umbraco.Tests.csproj
#	src/Umbraco.Tests/packages.config
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web.UI/packages.config
#	src/Umbraco.Web/Umbraco.Web.csproj
#	src/Umbraco.Web/packages.config
#	src/UmbracoExamine/UmbracoExamine.csproj
#	src/UmbracoExamine/packages.config
#	src/umbraco.MacroEngines/packages.config
#	src/umbraco.MacroEngines/umbraco.MacroEngines.csproj
2017-11-13 15:38:59 +01:00
Mads Rasmussen 084fde885a Merge pull request #2319 from abjerner/patch-25
"Set date" and "Clear date" in the new Info tab can now be localized
2017-11-13 15:34:30 +01:00
Sebastiaan Janssen 08b81d991b Update to latest ImageProcessor 2017-11-13 15:33:54 +01:00
Sebastiaan Janssen 4937f87c0d Update to latest Examine 2017-11-13 15:27:15 +01:00
Mads Rasmussen 50a5679b5c Merge pull request #2316 from abjerner/patch-22
Added Danish translations for the new "History" and "Scheduled Publishing" headers
2017-11-13 15:24:19 +01:00
Anders Bjerner 2c248791e1 Added Danish translation for "content_noChanges" 2017-11-13 15:05:20 +01:00
Mads Rasmussen 6b6a7fe231 Merge branch 'dev-v7' into dev-v7.8 2017-11-13 14:47:52 +01:00
Mads Rasmussen 6fd197d1bf fixes: U4-10667 7.8 Item not published is still a hyperlink 2017-11-13 13:32:03 +01:00
Anders Bjerner 00aa59c9c6 Dates in the "History" box is now also localized (1/2) 2017-11-11 20:15:27 +01:00
Anders Bjerner 06254ba462 Dates in the "History" box are now also localized (1/2) 2017-11-11 20:14:45 +01:00
Anders Bjerner 684cb19a7c Localized dates for the new "Info" tab 2017-11-11 19:57:11 +01:00
Anders Bjerner 9c5da12653 Updated the "umbContentNodeInfo" directive with localized dates 2017-11-11 19:53:48 +01:00
Anders Bjerner 83f229abc6 "by" in the new Info tab is now localized 2017-11-11 18:45:37 +01:00
Anders Bjerner 3405a1f600 Added Danish translation for "content_setDate" 2017-11-11 18:27:55 +01:00
Anders Bjerner 8be02ff7b0 Added English (US) translation for "content_setDate" 2017-11-11 18:26:41 +01:00
Anders Bjerner c371f00315 Added English translation for "content_setDate" 2017-11-11 18:25:57 +01:00
Anders Bjerner 0ccf798f14 "Set date" and "Clear date" in the new Info tab can now be localized 2017-11-11 18:23:47 +01:00
Anders Bjerner 6ca94074f3 And here as well 2017-11-11 17:40:49 +01:00
Anders Bjerner 8236eee7a6 And while we're at it... 2017-11-11 17:36:13 +01:00
Anders Bjerner 8bdeca6374 On second thought, this may be even better 2017-11-11 17:28:40 +01:00
Anders Bjerner e37bbdfcf4 New Danish translation for "Dato for Fortryd udgivelse" 2017-11-11 17:18:44 +01:00
Anders Bjerner dac882ce9f Added Danish translations for the new "History" and "Scheduled Publishing" headers 2017-11-11 17:10:25 +01:00
Stephan fcf2b27953 More content refactoring (tests) 2017-11-10 11:27:12 +01:00
Mario Lopez 5678be0db9 Merge remote-tracking branch 'Umbraco/dev-v7' into dev-v7 2017-11-10 09:37:00 +11:00
Shannon 2dc11f6fa1 Fixes new installation user login 2017-11-09 23:05:56 +11:00
Shannon fe2e689865 Merge branch 'dev-v7.8' of https://github.com/umbraco/Umbraco-CMS into dev-v7.8 2017-11-09 22:15:22 +11:00
Shannon ece5fecf12 fixes doc type conflict name so the tour uses "My Home Page" 2017-11-09 22:15:05 +11:00
Mads Rasmussen b21dea84d9 remove markup from tour step title 2017-11-08 15:38:15 +01:00
Shannon 492b0aadc8 ensure that the user login table is created 2017-11-09 01:14:00 +11:00
Shannon b399630202 bumps version 2017-11-09 01:02:09 +11:00
Shannon b9b1fc3a70 Adds a global config switch to enable/disable tours entirely 2017-11-09 00:57:05 +11:00
Shannon 1d52f59657 Puts tours on the file system and loads them from an api controller 2017-11-09 00:41:59 +11:00
Shannon 78f6b8d8bc Fixes up more the the session id validation, makes sure that the GetUserSecondsMiddleWare also validates the session since this is what keeps the user logged in if that option is being used. 2017-11-08 23:57:17 +11:00
Shannon 0afee71e9e Fixes locking issue with SessionIdValidator which was forcing a log out in some cases 2017-11-08 22:15:00 +11:00
Claus dc67d82671 adding trim. 2017-11-08 12:08:30 +01:00
Claus c7d9683fc4 Merge pull request #2277 from umbraco/temp-U4-10589
U4-10589 Login should be sanitized and/or cause validation errors if trying to save with
2017-11-08 12:07:34 +01:00
Mads Rasmussen ed7675bdcd Merge pull request #1584 from readingdancer/U4-9144
Style changes to the developer dashboard area.
2017-11-08 11:49:48 +01:00
Mads Rasmussen 3c7c6b4ad7 Update thumbnails.less
Use new color variables
2017-11-08 11:38:32 +01:00
Mads Rasmussen 838d7975c9 Update healthcheck.less
prevent UI from "jumping" on hover
2017-11-08 11:36:23 +01:00
Mads Rasmussen 5af9712d51 Merge branch 'dev-v7' into U4-9144 2017-11-08 10:43:58 +01:00
Shannon ffa7b922e8 Merge branch 'dev-v7' into dev-v7.8 2017-11-08 19:48:34 +11:00
Shannon e2c2b8534f Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2017-11-08 19:48:02 +11:00
Shannon cfd3cc5187 OK... maybe that is now required 2017-11-08 19:47:47 +11:00
Shannon e6de9e0004 Merge branch 'dev-v7' into dev-v7.8 2017-11-08 19:25:22 +11:00
Sebastiaan Janssen 1f29418ea5 Revert "Adds overloads so you can do paging with the TypedSearch methods."
This reverts commit 089f488c15.
2017-11-08 09:23:58 +01:00
Shannon 977b30c51a Revert "more test hacks" which in theory shouldn't be required for 7.7+ 2017-11-08 19:23:34 +11:00
Shannon 66a849dd12 Merge branch 'dev-v7.6' into dev-v7 2017-11-08 19:20:28 +11:00
Shannon 637abc384b more test hacks 2017-11-08 18:46:08 +11:00
Stephan 09f499d5d6 More content refactoring (WIP, barely builds) 2017-11-08 08:39:36 +01:00
Shannon 8959b81f6a another test fix attempt (this is only for 7.6, this is already fixed in 7.7) 2017-11-08 18:16:17 +11:00
Shannon 32bb8ac5a4 Merge branch 'dev-v7.6' of https://github.com/umbraco/Umbraco-CMS into dev-v7.6 2017-11-08 17:47:32 +11:00
Shannon 016caba35f attempt to fix tests 2017-11-08 17:47:18 +11:00
Shannon 9290f61f94 Merge branch 'dev-v7.6' into dev-v7
# Conflicts:
#	src/Umbraco.Core/Security/MembershipProviderExtensions.cs
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
2017-11-08 17:36:27 +11:00
Shannon Deminick d522dd7a31 Merge pull request #2313 from umbraco/temp-U4-10620
U4-10620 Umbraco 2FA implementation issues
2017-11-08 17:18:31 +11:00
Shannon 95f632e1ea Adds notes and overrides SendTwoFactorCodeAsync and checks for -1 instead of null 2017-11-08 17:16:11 +11:00
Shannon Deminick e72ec171f7 Merge pull request #2312 from umbraco/temp-U4-9857
Temp u4 9857
2017-11-08 16:06:53 +11:00
Shannon 2538e2e9c9 additional null check 2017-11-08 16:06:23 +11:00
Shannon 08aff2654a updates installer image 2017-11-08 15:51:14 +11:00
Shannon Deminick cd0fdae47b Merge pull request #2254 from umbraco/temp-U4-10305
U4-10305 Back office Tour
2017-11-08 14:52:55 +11:00
Shannon 0f3a76809b Merge branch 'dev-v7.8' into temp-U4-10305
# Conflicts:
#	src/Umbraco.Core/Umbraco.Core.csproj
#	src/Umbraco.Web.UI.Client/src/common/directives/components/tree/umbtreeitem.directive.js
2017-11-08 14:52:21 +11:00
Shannon 4f88da2c26 Merge branch 'dev-v7' into dev-v7.8
# Conflicts:
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web/Models/Mapping/TabsAndPropertiesResolver.cs
2017-11-08 14:51:27 +11:00
Marcin Zajkowski e14aba3875 More no-dirty-checks and code polishment 2017-11-07 23:21:50 +01:00
Daniël Knippers b1ceeb23b3 Only show characters left is a number of characters is configured on the datatype, hide otherwise 2017-11-07 23:13:59 +01:00
Sebastiaan Janssen 46d0807fa4 Merge pull request #2287 from PerplexDaniel/U4-6985
Switching between sections - select last node
2017-11-07 20:26:25 +01:00
Sebastiaan Janssen 579c572dd8 Oops, missed that I was passing a string array into the int array param 2017-11-07 18:36:37 +01:00
Sebastiaan Janssen bbf4c18825 U4-10646 Sorting nodes in edge cases can lead to blanking out of property data 2017-11-07 17:12:04 +01:00
Sebastiaan Janssen 9a94ac5317 Implement TwoFactorSignInAsync from Identity repo to make sure our custom GetVerifiedUserIdAsync fires
U4-10620 Umbraco 2FA implementation issues
2017-11-07 16:51:40 +01:00
Sebastiaan Janssen 0b904e82b5 Get user by id instead of loginname
U4-9857 Umbraco 7.6 - Exception after changing user login name
2017-11-07 16:36:15 +01:00
Claus c816558936 cleanup. 2017-11-07 15:14:45 +01:00
Mads Rasmussen 4ce0553630 add allowDisable flag on welcome tour 2017-11-07 14:53:44 +01:00
Mads Rasmussen b1b285b673 Merge pull request #2269 from umbraco/temp-tour-review-rune
Temp tour review rune - Introduction
2017-11-07 14:46:56 +01:00
Mads Rasmussen c773714e2d fix folder name validation 2017-11-07 14:11:57 +01:00
Sebastiaan Janssen 51fec0c7d3 Remove misleading text, nothing bad will happen when you close the sort panel, sorting is a background task. 2017-11-07 14:03:17 +01:00
Mads Rasmussen 2a90478ba7 fixing typos and the properties tab 2017-11-07 14:00:39 +01:00
Sebastiaan Janssen 87ace12a4f Prevent double clicks of the Save button
U4-10646 Sorting nodes in edge cases can lead to blanking out of property data
2017-11-07 13:49:02 +01:00
Matt Darby 77162e4b51 Move val-email attribute before required attribute 2017-11-07 19:17:42 +07:00
Rune Hem Strand 93756a62f4 Update popover width 2017-11-07 11:37:23 +01:00
Rune Hem Strand 2343004be1 Manual merge to init.js tour steps 2017-11-07 11:30:21 +01:00
Rune Hem Strand d6fe350a4a Merge branch temp-U4-10305 into temp-tour-review-rune 2017-11-07 11:28:26 +01:00
Warren Buckley 23321f8ac9 Merge pull request #2265 from umbraco/temp-U4-10544
fixes: U4-10544 SPIKE: Register tours
2017-11-07 10:23:58 +00:00
Rune Hem Strand 71902f3b9b Update Media library tour 2017-11-07 10:53:02 +01:00
Rune Hem Strand 13b544521d Update Media library tour 2017-11-07 10:52:39 +01:00
Rune Hem Strand 2cf8c1207d Update View Home Page step 2017-11-07 10:34:24 +01:00
Sebastiaan Janssen 632f84904f Merge branch 'dev-v7.6' into dev-v7 2017-11-07 10:32:12 +01:00
Daniël Knippers a1fd73cdb0 Feature Request: Double Click Content Node to Expand
Doube-clicking a tree item now expands or collapses a node. It basically does the exact same as clicking the triangle left of the node.

(cherry picked from commit bd2a794b59)
2017-11-07 10:30:08 +01:00
Sebastiaan Janssen a53866953e Merge pull request #2296 from PerplexDaniel/U4-6259
Feature Request: Double Click Content Node to Expand
2017-11-07 10:29:10 +01:00
Bjarne Fyrstenborg e72758e04a Ensure box is square when picker is multiple picker 2017-11-06 22:01:35 +01:00
Bjarne Fyrstenborg 9d373c194d Show thumbnails if any images/files has been selected 2017-11-06 21:42:01 +01:00
Bjarne Fyrstenborg 856e123ec2 Oops - remove duplicated disableFolderSelect 2017-11-06 19:23:41 +01:00
Bjarne Fyrstenborg 0b2af6b48f Fix square image in imagepicker prevalue editor. Cleanup and consistency 2017-11-06 19:12:27 +01:00
Sebastiaan Janssen ff996b05f0 Merge branch 'dev-v7.6' into dev-v7 2017-11-06 17:30:00 +01:00
Sebastiaan Janssen 403502ef1b Merge pull request #2294 from ja0b/U4-854
U4-854 Add MaxLength to Textstring fields --> Fixed

(cherry picked from commit ee4ad36e70)
2017-11-06 17:11:12 +01:00
Sebastiaan Janssen ee4ad36e70 Merge pull request #2294 from ja0b/U4-854
U4-854 Add MaxLength to Textstring fields --> Fixed
2017-11-06 17:08:46 +01:00
Sebastiaan Janssen 4f2650277a Don't need showcharacterslefttext if we're always showing number of chars left 2017-11-06 17:07:14 +01:00
Sebastiaan Janssen 0231a6037e Always show number of characters left
Makes it less magical as to why you can't type any more characters.
2017-11-06 17:03:23 +01:00
Sebastiaan Janssen db51a5bb44 Update TextboxPropertyEditor.cs 2017-11-06 17:02:34 +01:00
Sebastiaan Janssen d1b7063e44 Rename textstringnumber.html to textstringlimited.html 2017-11-06 17:02:08 +01:00
Sebastiaan Janssen 364d4b11e8 Merge branch 'dev-v7.6' into dev-v7 2017-11-06 15:00:05 +01:00
Craig c1769aa299 Position changed from "target" to "center"
Prevents modal jumping position on HIDPI screens

(cherry picked from commit 422be31c4e)
2017-11-06 14:58:31 +01:00
Sebastiaan Janssen a571eee945 Merge pull request #2292 from craigs100/U4-10628
U4-10628
2017-11-06 14:57:46 +01:00
Mads Rasmussen ab8653d3de manual merging 2017-11-06 14:26:55 +01:00
prjseal 143d127fb9 Format date in backoffice based on Users language
We have formatted the Created Date and Updated Date using the Current
Culture of the application.

(cherry picked from commit 10ca1239b6)
2017-11-06 14:03:54 +01:00
Mads Rasmussen 748a3c167e Merge branch 'temp-U4-10305' into temp-U4-10544
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/services/tour.service.js
#	src/Umbraco.Web.UI.Client/src/views/dashboard/dashboard.tabs.controller.js
2017-11-06 13:58:07 +01:00
Lewis Smith 01cf2e240a U4-10627 - Updated stats / facts when installing.
U4-10627 Update some of the Umbraco Installer facts. Updated the facts you get when installing umbraco. All facts that were changed were taken from the Umbraco page.

https://umbraco.com/blog/codegarden-2017-the-aftermath/
https://umbraco.com/blog/codegarden-2017/
(cherry picked from commit 69258fee7b)
2017-11-06 13:51:43 +01:00
Tim 49689d5057 Fixes missing content type check.
(cherry picked from commit 80d605beac)
2017-11-06 13:48:09 +01:00
Andy Felton f722d7731d Fixed URL Tracker button colour
(cherry picked from commit bb9a0258df)
2017-11-06 13:47:05 +01:00
Mads Rasmussen 5b93b35882 Show "Other" as group title instead of "undefined" 2017-11-06 13:17:31 +01:00
Mads Rasmussen b29ee4df60 don't render tour markup if no tours are registered 2017-11-06 13:16:53 +01:00
Mads Rasmussen d8fe3c6faf adds basic validation to registering and starting tours 2017-11-06 13:09:16 +01:00
Sebastiaan Janssen 74ba3261ff Merge branch 'dev-v7.6' into dev-v7 2017-11-06 12:33:48 +01:00
Sebastiaan Janssen ac42f335c2 Fix U4-4889 checkbox in template 2017-11-06 12:33:12 +01:00
Sebastiaan Janssen f0eefbd5af U4-10636 Removed '#' from 'value' when generating alias 2017-11-06 12:31:06 +01:00
Sebastiaan Janssen ed48f29e3a Merge pull request #2300 from dernafees/dev-v7
Fix U4-4889 checkbox in template.
2017-11-06 12:28:32 +01:00
Sebastiaan Janssen 03c5d5197b Updates a few more fields to make sure clicking on labels focuses the field 2017-11-06 12:28:14 +01:00
Sebastiaan Janssen 7f0921bd96 Delete web.config.temp-build.0 2017-11-06 12:09:15 +01:00
Sebastiaan Janssen c38b49b1cf Delete vwd.webinfo 2017-11-06 12:08:45 +01:00
Sebastiaan Janssen c4dfbd4a1c Merge pull request #2304 from pbres/dev-v7
U4-10636 Unable to generate alias for localized name
2017-11-06 12:04:16 +01:00
Sebastiaan Janssen 9b1e5d7649 Update entity.resource.js 2017-11-06 12:03:53 +01:00
Sam Sperling 9260f943ff Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into HEAD 2017-11-06 15:35:19 +11:00
Sam Sperling dcdaa8d62d U4-10453 - Ability to Sync after each external login (using OWIN)
Added a new function OnExternalLogin for the ExternalSignInAutoLinkOptions to enable full syncing capabilities for external logins
2017-11-06 15:31:36 +11:00
Marc Goodson 360665c082 Fixes accidental hiding of textarea parameters when inserting a Macro(with those parameters) via the Rich Text Editor Macro button within a grid cell - U4-10637 2017-11-05 10:36:14 +00:00
Pawel Bres c07b96ade7 Merge pull request #1 from pbres/pbres-patch-1
Removed '#' from 'value' when generating alias
2017-11-04 15:09:00 +01:00
Pawel Bres 576a790e2f Removed '#' from 'value' when generating alias
When '#' is presented in the 'value' everything in the GET URL after '#' gets removed because it's being treated as "hash" part of the URL and it's not being sent to the server at all.
2017-11-04 15:07:47 +01:00
Robert 9b7a9fc988 Merge remote-tracking branch 'origin/temp-U4-5896-2' into dev-v7.8 2017-11-03 15:38:08 +01:00
Claus 62485157ad Merge pull request #2270 from umbraco/temp-U4-10286
New cmsMedia database table to track media by media paths for fast lookups
2017-11-03 14:19:06 +01:00
Claus 4ce7b089ca cleanup... 2017-11-03 14:16:24 +01:00
Claus 9e91098ebd adding cmsMedia to the empty recyclebin query. 2017-11-03 14:15:54 +01:00
Claus 49356b31a1 Merge branch 'dev-v7.8' into temp-U4-10286
# Conflicts:
#	src/Umbraco.Core/Umbraco.Core.csproj
2017-11-03 14:08:46 +01:00
Alejandro Ocampo 29f93160b7 removing unnecessary if statement 2017-11-03 11:51:39 +01:00
Robert 507c2353e9 Merge pull request #2274 from umbraco/temp-U4-10150
U4-10150 Process load balancing instructions on a background thread i…
2017-11-03 11:43:02 +01:00
Warren Buckley 827e79c705 Merge pull request #2280 from umbraco/temp-U4-10625
U4-10625 HealthCheckController non-empty constructor fails to initial…
2017-11-03 09:29:14 +00:00
Robert d02139bbcd Merge pull request #2273 from umbraco/temp-U4-9120
U4-9120 Add instruction count column on the db instructions table
2017-11-03 10:20:57 +01:00
Shannon 8a19b97900 removes unneeded mapping 2017-11-03 18:23:56 +11:00
Shannon 981fad1ec8 fixes test 2017-11-03 18:20:41 +11:00
Shannon 019147c1a1 Moves the session generation to the BackOfficeCookieAuthenticationProvider which is where it should be, so it only gets generated before the cookie is written. Writes the checking cookie inside of a lock to prevent multiple db and cookie writes that are unecessary. 2017-11-03 18:07:17 +11:00
Shannon 782d6100f0 Gets user session management tracking via the database including detecting stale sessions, generating and removing them along with cleaning them up. This takes into account legacy code too. The session is revalidated on a one minute threshold per user so that it's not hammering the databse on every request. 2017-11-03 17:27:23 +11:00
Alexander Bryukhov ff98b5f321 U4-10481 - v7.7.x - RU localization of the last added keys (grid editor U4-5722) 2017-11-03 12:18:24 +07:00
Stephan f6ea317dd1 Merge pull request #2299 from PerplexDaniel/U4-10582
Make a shiny template for the emails that are sent from Umbraco
2017-11-02 18:19:32 +01:00
Stephan 68e8ca8d8e Merge pull request #2289 from LewisS303/U4-10627
U4-10627 - Updated stats / facts when installing.
2017-11-02 18:03:25 +01:00
Stephan bcae131545 Merge pull request #2067 from Xiaohao112/patch-1
Created a link to composition doctype
2017-11-02 17:55:30 +01:00
Haider Naji c6d686eabd Fix U4-4889 checkbox in template. 2017-11-02 16:50:19 +00:00
Sebastiaan Janssen a8b660bfbf Check for itemMinHeight on scope before trying to set it 2017-11-02 17:46:01 +01:00
Sebastiaan Janssen 1f60486df8 Merge pull request #2232 from marcemarc/temp-U4-10510
Check for itemMinHeight on scope before trying to set it
2017-11-02 16:45:23 +00:00
Daniël Knippers c066280990 Make a shiny template for the emails that are sent from Umbraco
Make a shiny template for the emails that are sent from Umbraco (only for EN and EN-US).
2017-11-02 16:44:08 +00:00
Sebastiaan Janssen ba747ea579 Merge pull request #2293 from LottePitcher/ReadmeUpdate
Update README.md with correct location of build.bat
2017-11-02 16:42:43 +00:00
Marcin Zajkowski 0df7767f4a Added no-dirty-check to search fields in all dialogs 2017-11-02 17:32:20 +01:00
Stephan 6f857b16ee Merge pull request #2286 from Attackmonkey/U4-9291
Adds overloads so you can do paging with the TypedSearch methods.
2017-11-02 17:25:26 +01:00
Alejandro Ocampo 27115e5794 U4-854 Add MaxLength to Textstring fields --> Fixed 2017-11-02 17:14:13 +01:00
Jacek Malinowski 92378095a2 U4 10-626. Detecting new Application Url and _umbracoApplicationUrl refresh. 2017-11-02 09:08:46 -07:00
Stephan 13e6a81bbe Merge pull request #2291 from Attackmonkey/U4-9613
Fixes missing content type check.
2017-11-02 17:03:58 +01:00
Daniël Knippers bd2a794b59 Feature Request: Double Click Content Node to Expand
Doube-clicking a tree item now expands or collapses a node. It basically does the exact same as clicking the triangle left of the node.
2017-11-02 16:01:24 +00:00
Stephan 576ffce9aa Merge pull request #2290 from AndyFelton/U4-9932
Fixed URL Tracker button colour
2017-11-02 16:56:57 +01:00
Lotte Pitcher 3bfdaa7e10 Update README.md with correct location of build.bat
With a link to the build markdown page
2017-11-02 15:39:57 +00:00
Sebastiaan Janssen dc7b5bae9b Fix U4-10618 - AbstractConfigCheck SuccessMessages are missing CurrentValue 2017-11-02 16:28:58 +01:00
Craig 422be31c4e Position changed from "target" to "center"
Prevents modal jumping position on HIDPI screens
2017-11-02 15:26:20 +00:00
Sebastiaan Janssen 8d8fb76694 Merge pull request #2279 from Jeavon/temp-U4-10618
Fix U4-10618 - AbstractConfigCheck
2017-11-02 15:25:24 +00:00
Tim 80d605beac Fixes missing content type check. 2017-11-02 15:17:35 +00:00
Andy Felton bb9a0258df Fixed URL Tracker button colour 2017-11-02 15:06:13 +00:00
Jacek Malinowski daa0741802 U4-10626 Detecting deplayoment Id change 2017-11-02 07:40:53 -07:00
Lewis Smith 69258fee7b U4-10627 - Updated stats / facts when installing.
U4-10627 Update some of the Umbraco Installer facts. Updated the facts you get when installing umbraco. All facts that were changed were taken from the Umbraco page.

https://umbraco.com/blog/codegarden-2017-the-aftermath/ 
https://umbraco.com/blog/codegarden-2017/
2017-11-02 14:31:19 +00:00
Stephan 1fd7569c6e Merge pull request #2285 from prjseal/U4-6152
Format date in backoffice based on Users language
2017-11-02 15:20:40 +01:00
Robert 3a1f19ee0a Merge pull request #2283 from jchurchley/U4-9142
U4-9142 - Multiple Related Links pickers on same Document Type not working
2017-11-02 15:09:50 +01:00
Daniël Knippers 90bc7f5829 Switching between sections - select last node
When returning to a previously visited section, will open the last selected node within that section immediately again, if any.
2017-11-02 15:06:35 +01:00
Claus 30b391f3fb Merge pull request #2281 from umbraco/temp-U4-10622
U4-10622 Corrupted id/key map
2017-11-02 14:56:35 +01:00
Tim 089f488c15 Adds overloads so you can do paging with the TypedSearch methods. 2017-11-02 13:55:19 +00:00
Stephan 99b99ce3cd Merge branch 'tompipe-U4-8982-AddIsPublishedtoExamine' into dev-v7 2017-11-02 14:44:39 +01:00
prjseal 10ca1239b6 Format date in backoffice based on Users language
We have formatted the Created Date and Updated Date using the Current
Culture of the application.
2017-11-02 13:44:05 +00:00
Stephan f4fc3c4db4 Merge branch 'U4-8982-AddIsPublishedtoExamine' of https://github.com/tompipe/Umbraco-CMS into tompipe-U4-8982-AddIsPublishedtoExamine 2017-11-02 14:44:03 +01:00
Robert e17690fbed Merge branch 'temp-U4-10601' into temp-U4-10305 2017-11-02 14:41:33 +01:00
Stephan eaa8ca5fdc U4-10626 - support resetting UmbracoApplicationUrl 2017-11-02 13:30:45 +01:00
DESKTOP-6DNOQH9\John 234c0680d8 Checking if $scope.model.value is an array on the add method. 2017-11-02 12:15:04 +00:00
Stephan ea8c6af028 Document common PowerShell issues when building 2017-11-02 13:07:45 +01:00
Rune Hem Strand d7d1b3f2a0 Update template tour 2017-11-02 12:06:42 +01:00
Shannon Deminick 5f31c70cbe stats 2017-11-02 18:39:47 +11:00
Shannon Deminick 579a04d179 updates stats 2017-11-02 18:37:56 +11:00
Shannon ff3b7963b1 U4-10622 Corrupted id/key map 2017-11-02 15:35:47 +11:00
Shannon e85d212891 U4-10625 HealthCheckController non-empty constructor fails to initialize the correct variables 2017-11-02 15:18:58 +11:00
Shannon 5b19d5e0d8 WIP on login ids 2017-11-02 15:04:54 +11:00
Claus 7c21889239 fixing comment causing confusion. 2017-11-01 19:41:50 +01:00
Rune Hem Strand 52d35c06eb Update tour validation to use valid JS 2017-11-01 17:36:49 +01:00
Rune Hem Strand 52c3ea24d5 Update validation in Create Content tour 2017-11-01 17:34:34 +01:00
Rune Hem Strand 03756ab894 Update Create Content Tour 2017-11-01 17:23:15 +01:00
Stephan 6ce23ee8fd Migrate documents (WIP) 2017-11-01 16:27:24 +01:00
Stephan b66412e2d6 Complete PropertyData table migration 2017-11-01 15:35:37 +01:00
Jeavon ef40ecfefd Fix U4-10618 - AbstractConfigCheck SuccessMessages are missing CurrentValue 2017-11-01 12:34:24 +00:00
Mads Rasmussen 8e35d904cb fixes: U4-10617 Update tour to work with new info tab 2017-11-01 13:28:44 +01:00
Robert 73b2d31298 Moved username trimming to service level, also added email trimming 2017-11-01 13:08:17 +01:00
Stephan 8157daaf23 Cleanup migrations, PropertyData table name 2017-11-01 11:32:48 +01:00
Rune Hem Strand 9808492509 Update validation on Create Content tour 2017-11-01 11:18:46 +01:00
Rune Hem Strand 81788338e3 Update Create content tour 2017-11-01 11:17:26 +01:00
Stephan e5b22bf731 Migrate PropertyData table 2017-11-01 10:42:46 +01:00
Mads Rasmussen 3ffe1517e0 Merge pull request #2268 from umbraco/temp-U4-10597
U4-10597 Add attention to clickable element If it isn't clicked
2017-11-01 10:30:11 +01:00
Mads Rasmussen 641e74b747 Lower highlight pulse timeout to 1 sec 2017-11-01 10:20:14 +01:00
Claus 49c316e13d Merge pull request #2066 from arknu/U4-10191-tinymce46
U4-10191: Update to TinyMCE 4.6.x
2017-11-01 09:42:33 +01:00
Claus 5235053523 updating to latest tinymce 2017-11-01 09:27:04 +01:00
Robert 8676a99b3a Trimming login input on the server-side as well 2017-11-01 09:00:05 +01:00
Shannon af6d2df823 Fixes % calc for tours since it now requires a promise 2017-11-01 15:54:47 +11:00
Shannon bbe80d882a Simplifies user tour models returned, fixes mapping so it's actually persisted. 2017-11-01 15:45:48 +11:00
Shannon 408ec17201 Merge branch 'temp-U4-10305' into temp-U4-10601 2017-11-01 15:25:50 +11:00
Shannon a4ef487fab Merge branch 'dev-v7.8' into temp-U4-10305
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/less/belle.less
#	src/Umbraco.Web.UI.Client/src/views/components/content/edit.html
#	src/Umbraco.Web.UI.Client/src/views/media/edit.html
2017-11-01 15:24:49 +11:00
Shannon 8208f8de51 Updates codebase to store tour data for a user in the user table, adds new column to store json and adds migration to create the column 2017-11-01 15:11:13 +11:00
Shannon Deminick e8ea7f9d29 Merge pull request #2264 from umbraco/temp-U4-10542
fixes: U4-10542 Fix SVG backdrop bugs in Firefox (maybe other browser…
2017-11-01 13:13:00 +11:00
Shannon Deminick e431a41fc1 Merge pull request #2276 from umbraco/temp-U4-10599
U4-10599 Move "End tour"-button to another position
2017-11-01 12:08:43 +11:00
Sebastiaan Janssen 84b380028c Fixes U4-9401 Double slashes in some Umbraco generated urls causes broken links 2017-10-31 23:21:41 +01:00
Stephan 472cb41190 Begin implementing Constants.DatabaseSchema 2017-10-31 18:03:40 +01:00
Robert 0b2cfe956d Triming login field to avoid validation errors 2017-10-31 15:19:06 +01:00
Mads Rasmussen 1f5c9d2e1b fixes: U4-10590 Saving a document with no tabs throws a javascript error 2017-10-31 14:12:40 +01:00
Stephan 829d995154 Simplicity 2017-10-31 12:50:30 +01:00
Stephan ec6ba01cbf So long Facade 2017-10-31 12:48:24 +01:00
Rune Hem Strand 372f981d33 Lower Case name validation 2017-10-31 12:05:49 +01:00
Rune Hem Strand 6f03e221c6 Update Create Document Type tour 2017-10-31 12:03:39 +01:00
Rune Hem Strand 90a5adec8f Update Add a property step 2017-10-31 11:45:55 +01:00
Rune Hem Strand 62939385a0 Update Name the tab step 2017-10-31 11:42:41 +01:00
Mads Rasmussen d4729e1483 set highlight pulse timeout to 2 seconds 2017-10-31 11:38:45 +01:00
Rune Hem Strand 9de35f0202 Updated Document Type name to Home Page 2017-10-31 11:35:38 +01:00
Mads Rasmussen 773d249d36 fixes: U4-10600 Add "Don't show this tour again" option 2017-10-31 10:59:13 +01:00
Rune Hem Strand d12a492cb6 Update Create Document Type step 2017-10-31 10:40:03 +01:00
Rune Hem Strand ef0b521083 Update Create document type step 2017-10-31 10:38:46 +01:00
Rune Hem Strand 6261447923 Update Create document type step 2017-10-31 10:34:50 +01:00
Rune Hem Strand d18881c8ad Update Navigate to the Settings sections step 2017-10-31 10:29:23 +01:00
Rune Hem Strand 89596dbe0b Update Create your first Document Type step 2017-10-31 10:27:59 +01:00
Mads Rasmussen 358536ffaa fixes: U4-10599 Move "End tour"-button to another position 2017-10-31 10:20:24 +01:00
Mads Rasmussen 4592f8e8d8 Send app.ready event after tour is ready 2017-10-31 10:03:11 +01:00
Shannon 0038d173a2 U4-10150 Process load balancing instructions on a background thread instead of a request thread 2017-10-31 15:11:45 +11:00
Shannon 68e6ad76fb Make sure the count of instructions takes into account individual ids when using RefreshByIds 2017-10-31 12:39:08 +11:00
Shannon 6462329494 U4-9120 Add instruction count column on the db instructions table 2017-10-31 11:54:08 +11:00
Shannon 2fdd1c0bd2 bump version 2017-10-31 11:52:43 +11:00
Shannon Deminick 006deb22db Merge pull request #2271 from richarth/patch-1
Updated grammar
2017-10-31 11:22:52 +11:00
Shannon Deminick 40624255ca Merge pull request #2272 from bjarnef/dev-v7-U4-10609
U4-10609 - Fix missing end closing <div> in login screen
2017-10-31 11:22:04 +11:00
Shannon 891bea81bf bumps version and updates DatabaseSchemaResult to check for cmsMedia table, fixes the bulk insert logic to ignore result columns 2017-10-31 11:20:01 +11:00
Shannon f71577f86e Adds data migrations for media path table 2017-10-31 11:20:01 +11:00
Shannon e3e88b3679 Gets the media path being stored in the db, the column is indexed and so is the property type alias, tests are passing for the lookup 2017-10-31 11:20:01 +11:00
Shannon 5dc993890d New cmsMedia database table to track media by media paths for fast lookups 2017-10-31 11:20:01 +11:00
Shannon a2025c14b1 Merge branch 'dev-v7' into dev-v7.8
# Conflicts:
#	src/Umbraco.Core/Umbraco.Core.csproj
2017-10-31 11:18:52 +11:00
Bjarne Fyrstenborg 24900fb9f8 Fix missing end closing <div> 2017-10-30 18:39:21 +01:00
Richard Thompson 594c473134 Updated grammar
Updated the grammar of the email validation messages
2017-10-30 15:00:08 +00:00
Zsolt 34f811c128 Small alignment bug fix 2017-10-30 11:20:37 +01:00
Mads Rasmussen 7e4c284abb U4-10597 Add attention to clickable element If it isn't clicked 2017-10-30 10:45:38 +01:00
Mads Rasmussen 664d0c5160 add folder name validation in media section tour 2017-10-27 15:14:09 +02:00
Rune Hem Strand eb26fb901f Update User profile step 2017-10-27 14:41:26 +02:00
Rune Hem Strand 3141b04376 Update User profile step 2017-10-27 14:39:30 +02:00
Rune Hem Strand 201fb5dc01 Update Tree step 2017-10-27 14:38:11 +02:00
Rune Hem Strand 15e668c056 Update Search step 2017-10-27 14:24:28 +02:00
Rune Hem Strand a42f425971 Update dashboard step 2017-10-27 14:23:29 +02:00
Rune Hem Strand 3f4774855e Update tree step 2017-10-27 14:21:46 +02:00
Rune Hem Strand 28f995cea6 Add main menu step 2017-10-27 14:06:48 +02:00
Rune Hem Strand cfb14d7089 Adds info on how to acces the help drawer. 2017-10-27 13:53:17 +02:00
Mads Rasmussen ef4d41c80a fix type 2017-10-27 10:12:48 +02:00
Mads Rasmussen 584e47f51f update docs 2017-10-27 10:10:34 +02:00
Mads Rasmussen 66e40fcbb0 Merge branch 'temp-U4-10305' into temp-U4-10544
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/services/tour.service.js
2017-10-27 10:08:04 +02:00
Shannon Deminick 49d54f8ca5 Merge pull request #2266 from ProNotion/issues/U4-9401
Fixes  U4-9401 Double slashes in some Umbraco generated urls causes broken links
2017-10-27 14:32:04 +11:00
Mads Rasmussen 4ed236249a Merge pull request #2267 from umbraco/temp-U4-10550
U4-10550 Finalise tour layout in the drawer
2017-10-26 21:28:01 +02:00
Mads Rasmussen 00a4287945 add back class 2017-10-26 21:24:16 +02:00
Mads Rasmussen 92d52bf99b clean up list + remove unused files 2017-10-26 21:14:22 +02:00
Mads Rasmussen 2e611c20d4 fix text positioning in Firefox 2017-10-26 20:35:04 +02:00
Mads Rasmussen ae10f3d21f calculate progress circle font size instead of manually setting it + align colors 2017-10-26 20:10:22 +02:00
Stephan ab758001ef Cleanup more build 2017-10-26 17:52:51 +02:00
Mads Rasmussen 7a9b392f69 add validation to document type tab name 2017-10-26 15:57:00 +02:00
Mads Rasmussen 493d71dba9 open matching tour group if a tour is running 2017-10-26 15:41:43 +02:00
Mads Rasmussen 55d4e4072a add steps for dashboard and tours 2017-10-26 15:39:56 +02:00
Mads Rasmussen f687b34c14 add data elements to editor content 2017-10-26 15:36:45 +02:00
Mads Rasmussen 507517c1ad add data-elements to help drawer 2017-10-26 15:36:18 +02:00
Mads Rasmussen ae8cfb2b23 add getCurrentTour to tour.service 2017-10-26 15:35:46 +02:00
Simon Dingley 731e380445 Fixes U4-9401 Double slashes in some Umbraco generated urls causes broken links 2017-10-26 14:27:23 +01:00
Mads Rasmussen 9048252826 make start tour button green 2017-10-26 14:20:11 +02:00
Zsolt e76819a570 Merge remote-tracking branch 'origin/temp-U4-10550' into temp-U4-10550 2017-10-26 12:58:50 +02:00
Zsolt 87c311d6e7 Fixing the hover on the groups 2017-10-26 12:58:36 +02:00
Mads Rasmussen 86d8eae984 remove unused code 2017-10-26 12:53:23 +02:00
Mads Rasmussen 6aac216763 update tour list when one is completed 2017-10-26 12:50:46 +02:00
Stephan 7463852202 Cleanup build 2017-10-26 12:49:49 +02:00
Mads Rasmussen b7c3fb7f30 set text position in progress circle with css instead of js 2017-10-26 12:49:36 +02:00
Zsolt a0a3b7e9c9 Changing the css of umbProgressCircle 2017-10-26 12:02:46 +02:00
Mads Rasmussen d98db5e6bc updates to tour layout in drawer 2017-10-26 11:39:49 +02:00
Stephan 2305426dda Version -alpha.30 with ModelsBuilder -alpha.13 2017-10-26 11:25:01 +02:00
Mads Rasmussen 48adc4c98d only load the getting started tours if the Get started dashboard is installed 2017-10-26 10:18:44 +02:00
Shannon Deminick bd0edb322d Merge pull request #2262 from umbraco/temp-U4-10564
U4-10564 - Update ImageProcessor dependencies
2017-10-26 15:06:36 +11:00
Mads Rasmussen 79d4562cb1 fixes: U4-10544 SPIKE: Register tours 2017-10-25 21:59:37 +02:00
Mads Rasmussen f48263e5a2 fixes: U4-10542 Fix SVG backdrop bugs in Firefox (maybe other browser too?) 2017-10-25 20:24:04 +02:00
Mads Rasmussen 63196d7e53 Merge branch 'temp-U4-10305' into temp-U4-10550
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/services/tour.service.js
2017-10-25 17:02:46 +02:00
Kaue Righi e0e9823a03 U4-10323 - Grid stuck at 12 columns (percentage calculation incorrect) - fix 2017-10-25 11:40:46 -02:00
Claus 72a0d614af Merge pull request #2261 from umbraco/temp-U4-10565
U4-10565 Add introduction tour to the overall Umbraco UI
2017-10-25 14:47:22 +02:00
Stephan edc5b398bd Version 8.0.0-alpha.29 2017-10-25 14:25:52 +02:00
Sebastiaan Janssen f766057e50 Merge branch 'dev-v7.6' into dev-v7
# Conflicts:
#	src/Umbraco.Core/PluginManager.cs
#	src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs
2017-10-25 14:13:38 +02:00
Sebastiaan Janssen f0b5c831f1 Manually applied all changes for U4-10503 Umbraco plugins cache files should be stored in the same local temp location as the umbraco xml cache file 2017-10-25 14:05:56 +02:00
Shannon d3232a09fb U4-10503 Umbraco plugins cache files should be stored in the same local temp location as the umbraco xml cache file
(cherry picked from commit 7b3f7f4ad4)
2017-10-25 13:42:10 +02:00
Stephan cf46a51866 Getting NestedContent and ModelsBuilder happy 2017-10-25 13:23:14 +02:00
Sebastiaan Janssen 586c59949a Merge branch 'dev-v7.6' into dev-v7
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2017-10-25 13:05:11 +02:00
Shannon 7cbaecc53a U4-10538 Disable Ping on front-end nodes when load balancing
(cherry picked from commit fd8daa398f)
2017-10-25 13:03:31 +02:00
Zsolt 4f8bb7fb51 Adding new components to the help drawer 2017-10-25 12:48:34 +02:00
Claus 1c883be16b Merge remote-tracking branch 'origin/temp-u4-8409' into dev-v7.8 2017-10-25 12:27:34 +02:00
Claus 73d681d674 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.8
# Conflicts:
#	src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs
2017-10-25 11:52:30 +02:00
Stephan e84a963d66 U4-10121 - Scheduled Publishing as background task
(cherry picked from commit 79df75c415)
2017-10-25 11:51:42 +02:00
Zsolt 8daa558997 Revert "adding components to the drawer"
This reverts commit b78fd0f6ac.
2017-10-25 11:46:52 +02:00
Zsolt b78fd0f6ac adding components to the drawer 2017-10-25 11:19:53 +02:00
Sebastiaan Janssen 58c180d6cc Merge pull request #2242 from umbraco/temp-U4-10538
U4-10538 Disable Ping on front-end nodes when load balancing
2017-10-24 17:21:13 +02:00
Mads Rasmussen 831eb3ef5e add icon for link to document for better clarification 2017-10-24 15:17:14 +02:00
Claus fa68bee762 removing left over using statements and references to SharpZipLib. 2017-10-24 15:16:12 +02:00
Mads Rasmussen 796700b4fe fix end tour in custom step 2017-10-24 15:05:20 +02:00
Mads Rasmussen ab09042fdc add options to prevent click in backdrop highlighted area 2017-10-24 15:00:14 +02:00
Mads Rasmussen 041d4a4a8b fix issue in create media dialog where it sometimes refreshes whole page 2017-10-24 13:54:36 +02:00
Mads Rasmussen ee79d7ecdc add custom backdrop opacity to tour steps 2017-10-24 13:35:26 +02:00
Sebastiaan Janssen 18e377f159 U4-10564 - Update ImageProcessor dependencies 2017-10-24 13:20:33 +02:00
Mads Rasmussen e33456d168 add alias to document type save button 2017-10-24 11:46:51 +02:00
Mads Rasmussen df2c104002 remove console.log 2017-10-23 20:15:48 +02:00
Mads Rasmussen f265fa683c don't use index in button group + update text in some tours 2017-10-23 19:58:44 +02:00
Sebastiaan Janssen 7e7f9902f6 Bumps version to 7.7.4 2017-10-23 14:18:00 +02:00
Sebastiaan Janssen a36184a261 Bump version to 7.6.11 2017-10-23 14:14:59 +02:00
Sebastiaan Janssen dcd2630d6b Merge branch 'dev-v7.6' into dev-v7 2017-10-23 14:10:04 +02:00
Sebastiaan Janssen b70f543790 Reverts wrongly committed files 2017-10-23 14:02:00 +02:00
Sebastiaan Janssen 24c1c15b66 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2017-10-23 13:59:30 +02:00
Sebastiaan Janssen 4a0cd7228b Revert "U4-10554 - warn if closing page with changes"
This reverts commit 24b147e2a6.
2017-10-23 13:59:06 +02:00
Mads Rasmussen 12093ae7ea fix tour steps with ng-if 2017-10-23 09:50:14 +02:00
pijemcolu 6a980e64eb zipPackage to disk 2017-10-23 09:02:28 +02:00
Stephan 0fe96a58c1 Migrate to Umbraco.Build 2017-10-20 17:53:41 +02:00
Stephan edfe212227 Fix login issue 2017-10-20 15:35:30 +02:00
Mads Rasmussen 37071ada78 restyle step loader, fade in steps, fix custom view step positionen 2017-10-19 21:17:26 +02:00
pijemcolu 3c7e820773 remove the directory check 2017-10-19 19:50:27 +02:00
Mads Rasmussen 203837aa84 start intro tour on load (if it hasn't been completed) 2017-10-19 16:01:20 +02:00
Sebastiaan Janssen e3bc98a155 Merge pull request #2257 from umbraco/temp-U4-10566
U4-10566 The legacy API Member.PopulateGroups throws an exception
2017-10-19 06:59:18 -07:00
Shannon f85532f15e U4-10566 The legacy API Member.PopulateGroups throws an exception 2017-10-20 00:56:34 +11:00
Mads Rasmussen 5fe63c2c1a fix lost element header 2017-10-19 14:27:00 +02:00
pijemcolu 2c1d85989f Extract the zip in UnPack(), remove check for directory exists as it should not and that's what the method did previously 2017-10-19 13:14:06 +02:00
Mads Rasmussen d518ab908e add intro/outro step logic, start on intro tour, testing intro steps 2017-10-19 13:11:10 +02:00
pijemcolu bc32ff31d4 remove last 3 dependencies 2017-10-19 12:11:07 +02:00
Stephan 14eb4fe6e0 Refactor PublishedContentTypes 2017-10-19 12:00:55 +02:00
Mads Rasmussen 7804677f2b use name instead of alias in editor picker element attribute because there can be many editors with the same alias 2017-10-19 11:41:12 +02:00
Sebastiaan Janssen b04d71ca5f Merge pull request #2256 from richarth/patch-1
Removed duplicate translations
2017-10-19 00:41:33 -07:00
Mads Rasmussen 27c884f4eb add more data elements for navigating the UI 2017-10-19 09:10:13 +02:00
Sebastiaan Janssen ab4de382f3 Merge pull request #2252 from umbraco/temp-u4-7317
U4-7317 - select default template
2017-10-18 12:38:53 -07:00
Sebastiaan Janssen a293c633fc Merge pull request #2249 from umbraco/temp-u4-8652
U4-8652 - accept exceptions when loading some assemblies
2017-10-18 11:00:45 -07:00
Richard Thompson 507e3ece98 Removed duplicate translations
Removed duplicate definition of English translations
2017-10-18 15:36:17 +01:00
Stephan b77826fd3d Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2017-10-18 12:18:59 +02:00
Stephan 4c7358d63b U4-8960 - minor fixes 2017-10-18 12:17:58 +02:00
Stephan 4814612102 Merge branch 'U4-8960' of https://github.com/lars-erik/Umbraco-CMS into temp-u4-8960 2017-10-18 11:56:00 +02:00
Robert 6dae4396bb Merge pull request #2250 from umbraco/temp-u4-10554
U4-10554 - warn if closing page with changes
2017-10-18 11:53:54 +02:00
Mads Rasmussen a966f63bbd Merge pull request #2244 from umbraco/temp-U4-10541
fixes: U4-10541 Use local storage to store completed tours
2017-10-18 11:25:51 +02:00
Mads Rasmussen 76f9e6baee fix bug in step validation 2017-10-18 10:26:50 +02:00
Stephan dd5560f00b U4-8616 - minor cleanup 2017-10-18 10:11:23 +02:00
Stephan b56575fc50 Merge branch 'dev-v7' of https://github.com/jhauge/Umbraco-CMS into temp-u4-8616 2017-10-18 09:49:05 +02:00
Stephan b06d30c0f9 U4-10554 - cross-browser 2017-10-18 09:29:50 +02:00
Mads Rasmussen 49f17be9df fixes: U4-10540 Make it possible to run custom logic for a tour step 2017-10-18 08:46:13 +02:00
Claus 9c50e1c48d fixing bug in U4-10524 Show warning in UI for the media/content picker that is referencing a trashed or deleted item 2017-10-17 23:52:34 +02:00
Claus 0688835ac0 fixing bug in U4-10524 Show warning in UI for the media/content picker that is referencing a trashed or deleted item 2017-10-17 23:44:03 +02:00
Stephan 353b8f21cd U4-7317 - select default template 2017-10-17 16:04:31 +02:00
Stephan 30a0d553d5 Merge pull request #1230 from bjarnef/dev-v7-U4-8319
U4-8319 - Sort data types array by name A-Z
2017-10-17 15:06:54 +02:00
Stephan d0fbc362b2 Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2017-10-17 15:00:13 +02:00
Stephan 39c534ef54 Merge branch 'temp-u4-7115' into dev-v7 2017-10-17 14:59:56 +02:00
Stephan 7f86166abf Merge branch 'dev-v7' of https://github.com/hfloyd/Umbraco-CMS into temp-u4-7115 2017-10-17 14:59:07 +02:00
Robert 838e86469a Merge pull request #2245 from umbraco/temp-u4-5322
U4-5322 - add labels to color picker
2017-10-17 14:47:36 +02:00
Stephan 24b147e2a6 U4-10554 - warn if closing page with changes 2017-10-17 14:39:47 +02:00
Stephan 11342ff1df U4-8652 - accept exceptions when loading some assemblies 2017-10-17 14:04:24 +02:00
Robert bf20af9345 Merge pull request #2247 from umbraco/temp-u4-5722b
Temp u4 5722b
2017-10-17 13:19:34 +02:00
Robert c69774e3f2 Merge pull request #2246 from umbraco/temp-u4-7360
U4-7360 - toggle password visibility
2017-10-17 12:30:37 +02:00
Robert 7de8f5a59a Added missing width and height to the "show password" icon
Not having the height and width on the icon, caused IE 11 to shrink the icon which looked a bit off.
2017-10-17 12:09:55 +02:00
Sebastiaan Janssen 6795afd5c2 Merge branch 'dev-v7.6' into dev-v7
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web/UmbracoDefaultOwinStartup.cs
2017-10-17 11:06:52 +02:00
Sebastiaan Janssen 9411a22a0d Don't forget to call the ConfigureUmbracoAuthentication method 2017-10-17 11:04:01 +02:00
Sebastiaan Janssen 461ce64feb Bump version to 7.6.10 2017-10-17 10:57:18 +02:00
Robert 53c251feb5 Merge pull request #2237 from umbraco/temp-U4-10504
U4-10504 Previewing content results in the same PrepareDocument (expe…
2017-10-17 10:20:21 +02:00
Sebastiaan Janssen c5a55b17e6 Manually applying U4-10369: Split out ConfigureUmbracoAuthentication method 2017-10-17 10:08:37 +02:00
Stephan cfe5350269 Refactor model type mapping in IPublishedModelFactory 2017-10-17 09:07:01 +02:00
Sebastiaan Janssen fd577afe2c Html encode nodenames to prevent XSS attacks. Fixes U4-10497 XSS Vulnerability in page name.
(cherry picked from commit fe2b86b681)
2017-10-16 20:32:56 +02:00
Sebastiaan Janssen f46ef0b006 U4-10506 Importing a specially crafted document type file can cause XXE attack
(cherry picked from commit 5dde2efe0d)
2017-10-16 20:32:04 +02:00
Stephan 8a114a105e U4-8409 - reduce sharpZipLib dependencies 2017-10-16 19:03:05 +02:00
Stephan c62513bd04 Remove ISharpZipLib dependencies where possible 2017-10-16 18:26:03 +02:00
Stephan 890b87a1cf More build fixing 2017-10-16 17:51:53 +02:00
Stephan 909e3788ea Merge branch 'U4-5722' of https://github.com/NikRimington/Umbraco-CMS into temp-u4-5722b 2017-10-16 17:20:19 +02:00
Stephan 09a92ef6ce U4-7360 - toggle password visibility 2017-10-16 16:58:15 +02:00
Stephan 7d9c2bcce9 Merge branch 'dev-v7' into temp-u4-5322 2017-10-16 16:32:43 +02:00
Stephan 529ae961ff U4-5322 - add labels to color picker 2017-10-16 16:16:43 +02:00
Sebastiaan Janssen 04f64cd804 Merge branch 'dev-v7.6' into dev-v7
# Conflicts:
#	src/Umbraco.Web/Editors/MediaController.cs
2017-10-16 16:14:54 +02:00
Sebastiaan Janssen dc937ec942 Fix the "Add media" box no longer being square 2017-10-16 16:13:47 +02:00
Warren Buckley 5f9865cc73 Merge pull request #2228 from umbraco/temp-U4-10309
fixes: MBOGA: Redesign the properties tab
2017-10-16 14:57:45 +01:00
Shannon cefd9e7323 Fixes PostAddFolder
(cherry picked from commit c5d874464a)

# Conflicts:
#	src/Umbraco.Web/Editors/MediaController.cs
2017-10-16 15:53:54 +02:00
Mads Rasmussen 315690e758 fixes breadcrumbs and search when start node is set
(cherry picked from commit 1ec07aa205)
2017-10-16 15:14:24 +02:00
Mads Rasmussen fb8c519f71 fixes: U4-10521 Creating new folders from the media picker no longer works
(cherry picked from commit 1cc3b39601)

# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/mediaPicker/mediapicker.html
2017-10-16 15:13:56 +02:00
Sebastiaan Janssen 80f172e3fb Bump version to 7.7.3 2017-10-16 14:56:43 +02:00
Sebastiaan Janssen 5eced19816 Merge branch 'dev-v7.6' into dev-v7
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/less/property-editors.less
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.controller.js
2017-10-16 14:24:18 +02:00
Warren Buckley 5df4d3509d Fix in PowerShell build - The 7Zip tool download was giving two paths & thus break the build script
(cherry picked from commit a2e6da2491)
2017-10-16 14:22:09 +02:00
Mads Rasmussen b891b18b20 fixes: U4-10541 Use local storage to store completed tours 2017-10-16 13:52:34 +02:00
Claus 4bd263e7bc U4-10524 Show warning in UI for the media/content picker that is referencing a trashed or deleted item
U4-10533 Show warning in UI for the link picker that is referencing a trashed or deleted item
cherrypicked from dev-v7.
2017-10-16 13:52:17 +02:00
Mads Rasmussen bc461b1646 change id's to custom attr 2017-10-16 13:46:03 +02:00
Mads Rasmussen b0eeaecf1c remove unused files 2017-10-16 13:41:02 +02:00
Claus b094bfad29 U4-10533 Show warning in UI for the link picker that is referencing a trashed or deleted item 2017-10-16 13:05:20 +02:00
Sebastiaan Janssen e333f6c628 Merge pull request #2236 from umbraco/temp-U4-10521
fixes: U4-10521 Creating new folders from the media picker no longer …
2017-10-16 12:44:32 +02:00
Mads Rasmussen 2708f11fcd fix path to angular moment 2017-10-16 12:01:19 +02:00
Shannon 916bc6badb U4-10539 - reverts merge issue that reverted the fix for U4-9262
(cherry picked from commit 2a0cc71d06)
2017-10-16 08:38:17 +02:00
Sebastiaan Janssen 76ee23b933 Merge pull request #2243 from umbraco/temp-U4-10539
U4-10539 - reverts merge issue that reverted the fix for U4-9262
2017-10-16 08:36:56 +02:00
Shannon 2a0cc71d06 U4-10539 - reverts merge issue that reverted the fix for U4-9262 2017-10-16 17:05:33 +11:00
Shannon fd8daa398f U4-10538 Disable Ping on front-end nodes when load balancing 2017-10-16 16:22:10 +11:00
Mads Rasmussen c59ac4ee0e moved tours from dashboard to service, option to group tours, added functions to get tours from service 2017-10-13 12:29:44 +02:00
Warren Buckley a03aa9cbab Fix in PowerShell build - The 7Zip tool download was giving two paths & thus break the build script 2017-10-13 11:20:45 +01:00
Warren Buckley a2e6da2491 Fix in PowerShell build - The 7Zip tool download was giving two paths & thus break the build script 2017-10-13 11:19:39 +01:00
Mads Rasmussen ba7d8b0955 Merge pull request #2240 from bjarnef/dev-v7-U4-10528
U4-10528 - Add better function to get initials from name
2017-10-13 10:13:00 +02:00
Shannon Deminick 7288bcf679 Merge pull request #2239 from umbraco/temp-U4-10524
U4-10524 Show warning in UI for any picker that is referencing a tras…
2017-10-13 17:08:16 +11:00
Shannon ca57b9c5e6 fixes issue with js exceptions 2017-10-13 16:50:39 +11:00
Shannon 62ce7f6132 U4-10519 Legacy create is broken 2017-10-13 16:33:49 +11:00
Bjarne Fyrstenborg b1f2c5d93a Add better function to get initials from name 2017-10-12 23:46:02 +02:00
Mads Rasmussen 1ec07aa205 fixes breadcrumbs and search when start node is set 2017-10-12 16:13:14 +02:00
Claus 13055ad1f2 U4-10524 Show warning in UI for any picker that is referencing a trashed or deleted item
fixing the trash flag not getting mapped via automapper.
fixing up the ui for mediapicker.
fixing a small ui issue with the contentpicker and trashed content.
2017-10-12 11:35:08 +02:00
Zsolt 89b714c960 Merge remote-tracking branch 'origin/dev-v7.8' into temp-U4-10305 2017-10-12 10:15:22 +02:00
Mads Rasmussen d9b0b0112e fix upload step in tour 2017-10-12 09:53:41 +02:00
Shannon d5447106a6 U4-10504 Previewing content results in the same PrepareDocument (expensive) procedure to be executed 3 times 2017-10-12 18:23:19 +11:00
Shannon c5d874464a Fixes PostAddFolder 2017-10-12 17:11:45 +11:00
Mads Rasmussen 6640039cdf clean up tours + small fixes 2017-10-11 19:37:14 +02:00
Warren Buckley 70deffd418 Merge pull request #2235 from umbraco/temp-U4-10051
U4-10051 - Help Drawer in prep for Lessons
2017-10-11 14:51:01 +01:00
Mads Rasmussen 1cc3b39601 fixes: U4-10521 Creating new folders from the media picker no longer works 2017-10-11 10:18:40 +02:00
Mads Rasmussen f31d5b12da add null check to back drop element - fix js errors 2017-10-10 21:09:08 +02:00
Warren Buckley 7fd6155807 Bit too aggressive with the C# cleanup - adds back in HelpController but just with the method that is needed to load the videos in the help section 2017-10-10 16:05:21 +01:00
Warren Buckley 043c677ddc Merge branch 'dev-v7.8' into temp-U4-10051
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/less/components/overlays/umb-overlay-backdrop.less
2017-10-10 13:09:06 +01:00
Warren Buckley f634d9f8b1 Remove the Help/Lessons Controller from the globaly Umbraco.Sys JS object 2017-10-10 12:53:15 +01:00
Warren Buckley db637d9c31 Remove HelpController for Lessons as we lift & shift it over to StarterKit 2017-10-10 12:20:11 +01:00
Mads Rasmussen 24b521881c also prevent clicks inside umb-tour component 2017-10-10 12:22:30 +02:00
Mads Rasmussen 0b3a38ec8f add option to disable all events on backdrop click to prevent dialogs, overlays, etc. form closing 2017-10-10 12:14:10 +02:00
Mads Rasmussen 330673bef9 Clear step custom view if none is set 2017-10-10 09:22:57 +02:00
Mads Rasmussen 661ff0e726 add drop shadow to popover 2017-10-09 21:42:06 +02:00
Mads Rasmussen e1c45fda9a compress the popover a bit more 2017-10-09 21:41:37 +02:00
Mads Rasmussen b45a4a18f2 make backdrop a little lighter 2017-10-09 21:41:14 +02:00
Warren Buckley c5f4793d11 Merge pull request #2233 from umbraco/temp-U4-10503-2
U4-10503 Umbraco plugins cache files should be stored in the same local temp location as the umbraco xml cache file
2017-10-09 14:04:16 +01:00
Shannon 4175c0530f Merge branch 'dev-v7' into temp-U4-10503-2 2017-10-09 23:05:17 +11:00
Zsolt 1456e7028a Merge remote-tracking branch 'origin/temp-U4-10305' into temp-U4-10305 2017-10-09 11:41:11 +02:00
Zsolt b38ee33e5a Fixing popover orientation so it is not off-screen 2017-10-09 11:40:57 +02:00
Mads Rasmussen 903a9f93c3 clean up backdrop component 2017-10-09 10:56:11 +02:00
Robert b08376651a Merge pull request #2225 from umbraco/temp-U4-10473
Moved documentType and mediaLink to root node for media section
2017-10-09 10:54:51 +02:00
Robert 75514c7c42 Changed angular to make sure the values are matching 2017-10-09 10:43:03 +02:00
Mads Rasmussen ea6f561c96 move backdrop to its own component 2017-10-09 10:19:49 +02:00
Shannon cf97926f26 trying another test fix 2017-10-09 19:00:00 +11:00
Shannon 4b08c3a5c3 Reset PluginManager on each tests, no reason not to, this should resolve the issue 2017-10-09 18:20:07 +11:00
Shannon fbda4fc8d1 Fixes part of the failing tests 2017-10-09 17:49:01 +11:00
Shannon 312b994537 Merge branch 'dev-v7' into temp-U4-10503-2 2017-10-09 16:42:21 +11:00
Shannon dd1bfe9cbf Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2017-10-09 16:08:14 +11:00
Shannon de17b69564 U4-10452 Unable to create new User Groups programmatically - publicizes UserGroup 2017-10-09 16:07:55 +11:00
Shannon 7f44f4a030 readonly field 2017-10-09 16:01:49 +11:00
Shannon 422219ab21 Updates the cache file paths to be resolved behind a lazy so that there's proper locking in place for accessing the value, this also makes the code a little nicer. 2017-10-09 16:01:22 +11:00
Shannon Deminick 9986a3c2c2 Merge pull request #2162 from Bitmapped/U4-9081-external
U4-10369: Split out ConfigureUmbracoAuthentication method
2017-10-09 15:50:45 +11:00
Shannon 053544a578 Changes the type of MediaItemDisplay.ContentType to be what it should be, removes non-required mapping 2017-10-09 15:02:27 +11:00
Shannon ce81416368 Ensures the DistCache file is stored in the same configured temp location as the plugin cache files 2017-10-09 14:50:34 +11:00
Shannon 04e04ae47a Ensures that the local folder does not also get created when using the env temp storage location, this is also a tiny bit better for perfs 2017-10-09 14:40:23 +11:00
Mario Lopez 464a227af1 Merge pull request #1 from umbraco/dev-v7
Update from  original
2017-10-08 15:45:13 +11:00
Marc Goodson 4e6d60b755 Check for itemMinHeight on scope before trying to set it - Issue U4-10510 2017-10-07 15:07:28 +01:00
Warren Buckley 0f6e7d26c9 Merge pull request #1596 from StefanoChiodino/U4-7721
U4-7721 install button miss aligned
2017-10-06 15:00:09 +01:00
Warren Buckley 51ceba6fea Merge pull request #1780 from bjarnef/dev-v7-U4-9599
U4-9599 - Fix caret in font size select
2017-10-06 14:25:55 +01:00
Sebastiaan Janssen 5dde2efe0d U4-10506 Importing a specially crafted document type file can cause XXE attack 2017-10-06 15:14:41 +02:00
Zsolt 4308718c88 adedd positioning to the popover div 2017-10-06 14:46:27 +02:00
Sebastiaan Janssen fe2b86b681 Html encode nodenames to prevent XSS attacks. Fixes U4-10497 XSS Vulnerability in page name. 2017-10-06 14:38:21 +02:00
Warren Buckley 368fec4ac1 Merge pull request #2231 from umbraco/temp-U4-10503
U4-10503 Umbraco plugins cache files should be stored in the same local temp location as the umbraco xml cache file
2017-10-06 13:27:22 +01:00
Mads Rasmussen 1b59ca0412 remove unused code 2017-10-06 11:11:52 +02:00
Mads Rasmussen 282cc0c722 testing scrolling, custom html in content and custom step views 2017-10-06 10:14:33 +02:00
Shannon 9016147118 Streamlines temp folder name so it's consistent, ensure the folder exists before writing to it 2017-10-06 12:11:20 +11:00
Shannon bee75803f7 Adds file exist checks 2017-10-06 11:51:27 +11:00
Shannon 7b3f7f4ad4 U4-10503 Umbraco plugins cache files should be stored in the same local temp location as the umbraco xml cache file 2017-10-06 11:47:25 +11:00
Shannon Deminick f6c25f29c0 Merge pull request #2229 from keroberts/dev-v7-U4-10496
Fix Typo in Email Property Editor
2017-10-06 01:01:48 +11:00
keroberts 6de3b920eb Fix Typo in Email Property Editor 2017-10-05 14:04:02 +01:00
Mads Rasmussen 4584abaa72 add a bunch of element navigation attributes 2017-10-05 13:42:51 +02:00
Zsolt c1ca0c9c2f Merge remote-tracking branch 'origin/temp-U4-10305' into temp-U4-10305 2017-10-04 15:20:15 +02:00
Zsolt 27c260cd03 Sticking the popoup to the highlight 2017-10-04 15:18:20 +02:00
Mads Rasmussen 73a5c55547 add data attribute to tree-item-options 2017-10-04 15:12:50 +02:00
Mads Rasmussen b8831c253e testing different tours 2017-10-04 15:09:26 +02:00
Zsolt b2d3e75566 rounding X and Y coordinate values for SVG 2017-10-04 13:12:53 +02:00
Zsolt cb526170e2 Merge remote-tracking branch 'origin/temp-U4-10305' into temp-U4-10305 2017-10-04 13:03:29 +02:00
Zsolt 93237bfdb8 Style of the Guided tour CSS + HTML 2017-10-04 13:03:24 +02:00
Mads Rasmussen 1c39c741b6 get outerWidth and outerHeight 2017-10-04 13:01:33 +02:00
Mads Rasmussen ec2589f517 add global data attribute to all main editors 2017-10-04 11:35:30 +02:00
Zsolt 2ca6e8be9a Implemented SVG backdrop 2017-10-04 11:17:44 +02:00
Mads Rasmussen b9d1a776cb init tour component 2017-10-04 09:19:33 +02:00
Robert 5eb609d8a0 Renamed a few properties and a class 2017-10-03 15:35:36 +02:00
Sebastiaan Janssen 76dc311586 Merge branch 'dev-v7.6' into dev-v7
# Conflicts:
#	src/Umbraco.Tests/Web/Mvc/HtmlStringUtilitiesTests.cs
#	src/Umbraco.Web/HtmlStringUtilities.cs
2017-10-02 13:51:21 +02:00
Sebastiaan Janssen 581f15b172 Manually applying change from U4-10478 7.7.1 HtmlStringUtilities Truncate throws an IndexOutOfRange when input word is shorter than "&hellip;" and crash the entire site to 7.6.9 too. 2017-10-01 12:05:40 +02:00
Robert daf01fb0fa Merge pull request #2226 from erikarenhill/U4-10478
U4-10478: Bugfix where it would throw an IndexOutOfBounds
2017-09-30 00:32:57 +02:00
Stephan 4a2ee801d4 Fix build 2017-09-29 22:07:48 +02:00
Stephan bcbd4289ea Facade cleanup and refactoring 2017-09-29 18:33:34 +02:00
Stephan ccd54392b7 More reflection utilities 2017-09-29 18:33:34 +02:00
Stephan d32f18f9e7 Relax versionning, version 8.0.0-alpha.26 2017-09-29 18:33:33 +02:00
Stephan 101ba8f620 Facade cleanup and refactoring 2017-09-29 18:33:16 +02:00
Mads Rasmussen 4d5069726b Update client side unit tests 2017-09-29 10:44:18 +02:00
Zsolt 588640037c Merge pull request #2054 from bjarnef/dev-v7-U4-7044
U4-7044 - Adjust icon and heading to fix issue with icon position in IE
2017-09-29 10:28:10 +02:00
Alexander Bryukhov 3a98d63bf1 U4-10481v7.7.2 - RU localization of the last added keys (user section filters & sort) 2017-09-29 15:15:28 +07:00
Zsolt 7b106caf95 Merge pull request #2214 from bjarnef/dev-v7-U4-10461
U4-10461 - Format dates using culture of current backoffice user
2017-09-29 10:14:27 +02:00
Mads Rasmussen 0da8644e77 Merge branch 'dev-v7' into temp-U4-10309 2017-09-29 09:55:32 +02:00
Zsolt 828a94bc4f Merge pull request #2213 from bjarnef/dev-v7-U4-10462
U4-10462 - Localize dropdown filters
2017-09-29 09:28:42 +02:00
Alexander Bryukhov ac65af772a U4-10481 - v7.7.2 - RU localization of the last added keys 2017-09-29 13:27:45 +07:00
Shannon efd1ea5b86 bumps version 2017-09-29 13:18:58 +10:00
Shannon 376d93de61 Merge remote-tracking branch 'origin/dev-v7.6' into dev-v7 2017-09-29 13:18:17 +10:00
Shannon 33d7598d3c Adding key fallback to list view select functions to fix issue when selecting multiple items with an ID of int.MaxValue 2017-09-29 13:16:53 +10:00
Shannon Deminick 6a74967a49 Merge pull request #2212 from callumbwhyte/U4-10464
U4-10464: Fixes selecting multiple list view items when item ID is int.MaxValue
2017-09-29 13:13:31 +10:00
Shannon 79351efd36 Fixes the JS errors with recent changes 2017-09-29 13:08:47 +10:00
Shannon Deminick 70c9da93e9 Merge pull request #2211 from callumbwhyte/U4-10463
U4-10463: Fixes Backoffice opening custom section on login instead of content section
2017-09-29 12:30:16 +10:00
Shannon Deminick 521acc0618 Merge pull request #2220 from umbraco/temp-U4-10437
U4-10437 Listview children not showing after upgrade to 7.7
2017-09-29 12:24:02 +10:00
Shannon 95c3a7386d simplifies logic 2017-09-29 12:21:48 +10:00
Sebastiaan Janssen 448a99d5a4 Fix "Item already exists in dictionary" when selecting items in the list view 2017-09-28 22:00:25 +02:00
Sebastiaan Janssen 83f705e19f Merge branch 'dev-v7' into temp-U4-10437 2017-09-28 20:07:27 +02:00
Sebastiaan Janssen 880ae5cb95 Merge remote-tracking branch 'origin/dev-v7.6' into dev-v7 2017-09-28 20:01:44 +02:00
Sebastiaan Janssen 476773fce5 Merge pull request #2224 from umbraco/temp-U4-5222
U4-5222 Rollback Feature fails to update the UI to show the rolled ba…
2017-09-28 20:00:13 +02:00
Sebastiaan Janssen 953355cddd Merge pull request #2222 from umbraco/temp-U4-10364-2
U4-10364 SQL error occurs when we attempt to sort media items by "Cre…
2017-09-28 19:39:19 +02:00
Zsolt e0801cd05a Merge branch 'dev-v7' into dev-v7-U4-10462 2017-09-28 16:33:25 +02:00
Robert e643189b10 Moved mediaLink mapping directly to autoMapper 2017-09-28 16:07:16 +02:00
erikarenhill b363a1711a U4-10478: Bugfix where it would throw an IndexOutOfBounds when passing a word shorter than &hellip; to Truncate. Now checks whether the input wanted an elipsis and also if it reached the end. 2017-09-28 15:52:13 +02:00
Robert 97716d5570 Merge pull request #2205 from umbraco/temp-U4-10420
added event to load audit trail on Properties tab only
2017-09-28 15:32:19 +02:00
Robert 5517252200 Moved documentType and mediaLink to root node for media section
Created Map in MediaModelMapper to cater for the new property (DocumentType)
Wired front-end to match the new properties
2017-09-28 15:21:04 +02:00
negyven6 45fca02dd1 Merge pull request #2210 from bjarnef/dev-v7-U4-10442
U4-10442 - Localization of users section
2017-09-28 15:18:15 +02:00
Mads Rasmussen 92a5c31ce6 remove publish date in footer 2017-09-28 13:55:11 +02:00
Sebastiaan Janssen b426f92e4f Update README.md 2017-09-28 13:53:18 +02:00
Sebastiaan Janssen 3e3372752a Update README.md 2017-09-28 13:52:16 +02:00
negyven6 4104ffc699 Merge pull request #2204 from bjarnef/dev-v7-fix-cropper-zindex
U4-10440 - Fix image cropper z-index with focal point behind sticky bar
2017-09-28 11:36:43 +02:00
Mads Rasmussen 345c038e8b make sure we don't have unwanted markup in the dom 2017-09-28 10:41:08 +02:00
negyven6 f63aa2e2ed Merge pull request #2207 from bjarnef/dev-v7-U4-10446
U4-10446 - Fix IE issues with action button in tree
2017-09-28 10:35:07 +02:00
negyven6 57553a5956 Merge pull request #2206 from bjarnef/dev-v7-U4-10445
U4-10445 - Fix IE issues with user boxes
2017-09-28 10:22:21 +02:00
Mads Rasmussen 59defa6b11 rename event to follow naming convention, fix missing tab id, change so the tab id matches the new "info"-tab 2017-09-28 10:12:01 +02:00
Mads Rasmussen 7e0d7ebbd4 Merge branch 'temp-U4-10309' into temp-U4-10420 2017-09-28 10:03:19 +02:00
Robert c13d4ed235 Merge pull request #2218 from umbraco/temp-U4-10421
fixes: U4-10421 Split up properties tab: One for umbraco properties a…
2017-09-28 09:55:55 +02:00
Robert a47b5035fe Merge pull request #2219 from umbraco/temp-U4-10311
U4-10311 Wire up angular with backend
2017-09-28 09:10:02 +02:00
Shannon f6be389f4f fixes tests 2017-09-28 16:13:50 +10:00
Shannon 252f0fe88e Fixes up the angular side of things to ensure the right property values are wired together correctly 2017-09-28 15:13:33 +10:00
Shannon 387faca71e Simplifies the model mapping, uses strongly typed values 2017-09-28 14:54:18 +10:00
Shannon d2d43255aa U4-5222 Rollback Feature fails to update the UI to show the rolled back content - requires refresh 2017-09-28 02:38:53 +10:00
Kevin Giszewski 6c172702be Fix for U4-6309 2017-09-27 11:32:36 -04:00
Stephan e7a0d79ea7 Bugfix, getting things to run 2017-09-27 16:14:11 +02:00
Robert 62cda02ded Some clean up in ContentModelMapper.cs 2017-09-27 16:02:32 +02:00
Shannon 9ad767a285 removes regex configuration bits 2017-09-27 23:13:02 +10:00
Shannon b39e218d51 U4-10364 SQL error occurs when we attempt to sort media items by "Created by" column 2017-09-27 23:04:53 +10:00
Shannon 22ff362521 Changes email validation in c# to use the email address attribute like we do elsewhere in the codebase, adds unit test assertions to verify it validates the new odd email addresses 2017-09-27 22:50:47 +10:00
Shannon Deminick 3bbeb6670b Merge pull request #2215 from umbraco/temp-U4-10439
U4-10439 Email validation in installer, User and Member editor need t…
2017-09-27 22:34:47 +10:00
Shannon Deminick 581b1b6fbf Merge pull request #2208 from Sam7/U4-10444
Fix for: U4-10444 - External Logins have stopped working since the 7.…
2017-09-27 22:27:35 +10:00
Shannon 4053c52dfb U4-10437 Listview children not showing after upgrade to 7.7 2017-09-27 22:17:50 +10:00
Mads Rasmussen 3e2a6424bd wire up audit trail log type colors 2017-09-27 14:08:29 +02:00
Mads Rasmussen c0f695bcf9 make grunt linter happy 2017-09-27 14:07:47 +02:00
Robert 2e1e2e4325 Properties tab will be removed if it has no properties 2017-09-27 13:58:33 +02:00
Sebastiaan Janssen 6a80cc5708 The order matters.. go figure! 2017-09-27 13:32:03 +02:00
Sebastiaan Janssen 01ba781e75 Make sure to expose the regex during install so the validation actually works 2017-09-27 13:06:43 +02:00
Mads Rasmussen 1316bb5d5b fixes: U4-10421 Split up properties tab: One for umbraco properties and one for user added properties 2017-09-27 12:56:43 +02:00
Sebastiaan Janssen b477ed726d Change input types to email instead of text 2017-09-27 12:45:44 +02:00
Sebastiaan Janssen 147d6aa638 Revert to the previous regex we had, which was actually working great 2017-09-27 12:36:43 +02:00
Sebastiaan Janssen efca0a904d Adds a test for gmail syntax email aliases 2017-09-27 12:11:47 +02:00
Stephan be00851b50 Installer image 2017-09-27 12:02:04 +02:00
Robert fe97860694 Changed dataFormatter to work with values from the root node instead of values from properties tab 2017-09-27 11:56:11 +02:00
Stephan 477acb4de3 Fix build, version 8.0.0-alpha024 2017-09-27 11:35:51 +02:00
Robert 98b4aa6bae Cleared more of the not needed code 2017-09-27 10:56:45 +02:00
Stephan 05cb03af11 Fix, now boots and runs 2017-09-27 10:26:37 +02:00
Stephan c24fdc0ddf Facade cleanup and refactoring 2017-09-27 10:26:36 +02:00
Stephan 91b8f073ad Reflection and model factory 2017-09-27 10:26:35 +02:00
Stephan d61ca898c4 PropertySet => PublishedElement 2017-09-27 10:26:34 +02:00
Sebastiaan Janssen 7e25501ac5 Merge remote-tracking branch 'origin/dev-v7.6' into dev-v7
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2017-09-27 10:08:44 +02:00
Sebastiaan Janssen 4b581a2182 Merge pull request #2217 from umbraco/temp-U4-10470
U4-10470 Missing transform for the scripts tree when upgrading
2017-09-27 10:06:08 +02:00
Claus 581eac5369 U4-10470 Missing transform for the scripts tree when upgrading 2017-09-27 10:04:07 +02:00
Robert eb7f4e74f2 Removed unused code as we dont have those properties in the properties tab anymore 2017-09-27 09:31:31 +02:00
Robert 4a9e326267 Remove the rest of umb properties 2017-09-27 09:28:51 +02:00
Shannon Deminick c941ff093c Merge pull request #2216 from rasmusjp/patch-1
Fix incorrect closed div
2017-09-27 08:30:07 +10:00
Rasmus 60f9490892 Fix incorrect closed div 2017-09-26 22:28:13 +02:00
Robert 67edc6cf9a Deleted updateDate, createDate and createdBy from properties tab 2017-09-26 15:57:50 +02:00
Robert e740838ef7 Moved template and docType from properties tab to root node and linked the values back together in front-end 2017-09-26 15:44:41 +02:00
Sebastiaan Janssen 7c864fe2e9 Whoops change hardcoded regex to one provided by the configuration 2017-09-26 15:27:35 +02:00
Sebastiaan Janssen 8a52865d22 U4-10439 Email validation in installer, User and Member editor need to be the same 2017-09-26 15:23:47 +02:00
Niels Hartvig 78e5d6d3ad Merge pull request #2203 from umbraco/temp-U4-10435
U4-10435 Unable to Change Username (Reverts After Save)
2017-09-26 11:15:39 +02:00
Robert dec44b1288 Moved templateConfig to root node 2017-09-26 09:20:38 +02:00
Sebastiaan Janssen 33cf983cae Bump version 2017-09-25 11:19:36 +02:00
Sebastiaan Janssen 98a0729549 Merge pull request #2202 from umbraco/temp-U4-10382
U4-10382 Add end point to get a paginated audit trail
2017-09-25 10:55:09 +02:00
Shannon 3ce6eb09aa Ensures HealthCheckController is authorized to user with developer access
(cherry picked from commit 7c4eb71f07)
2017-09-25 10:48:15 +02:00
Stephan 963015cf4a Fix LocalDb detection on 32/64 bits systems
(cherry picked from commit a239e92bc0)
2017-09-25 10:47:38 +02:00
Sebastiaan Janssen cc35af4eab Merge pull request #2209 from umbraco/temp-deploy-401
deploy-401 - fix id reservations
2017-09-25 10:46:05 +02:00
Shannon 7c4eb71f07 Ensures HealthCheckController is authorized to user with developer access 2017-09-25 14:49:59 +10:00
Bjarne Fyrstenborg 9282312305 Format dates using culture of current backoffice user 2017-09-24 23:02:45 +02:00
Bjarne Fyrstenborg fc46569cd9 Add comment 2017-09-24 22:11:12 +02:00
Stephan 057d1a3395 EditorConfig to CrLf 2017-09-24 22:10:19 +02:00
Bjarne Fyrstenborg 30f42f4ea8 Fix dropdown issue with checkbox because of long label text 2017-09-24 21:57:05 +02:00
Bjarne Fyrstenborg fa777c46b1 Localize user filters 2017-09-24 21:43:23 +02:00
Callum Whyte a01f69807c Adding key fallback to list view select functions to fix issue when selecting multiple items with an ID of int.MaxValue 2017-09-24 19:11:58 +01:00
Callum Whyte e12498ccae Moving default or empty check for section routeParam into routing resolve function so it's handled earlier in the pipeline 2017-09-24 18:34:16 +01:00
Stephan e71c9740cd More SqlTemplates 2017-09-24 18:54:31 +02:00
Stephan 5ba2ffcbf3 CrLfTab 2017-09-23 10:08:18 +02:00
Bjarne Fyrstenborg 4fc51e4a8b Translate last login 2017-09-23 02:19:55 +02:00
Bjarne Fyrstenborg 4c3e66e58d Ensure localization is used like in other tree controllers 2017-09-23 02:17:29 +02:00
Bjarne Fyrstenborg 17abd53b1b More localization of labels 2017-09-23 02:10:08 +02:00
Bjarne Fyrstenborg 202a3e10b5 Localize cancel link in dialog 2017-09-22 23:30:07 +02:00
Bjarne Fyrstenborg 925f64c79d Localize "select user group" dialog heading 2017-09-22 23:26:09 +02:00
Bjarne Fyrstenborg c28e5f4d55 Localize user group delete button 2017-09-22 23:25:19 +02:00
Bjarne Fyrstenborg 439c460220 Localize user management heading 2017-09-22 23:12:33 +02:00
Bjarne Fyrstenborg ae1702c62a Remove unused translation keys 2017-09-22 23:03:38 +02:00
Bjarne Fyrstenborg 1ed29fb8bb Add translations of new user management and fix other translations 2017-09-22 23:01:43 +02:00
Stephan c1e2625de0 Use ISqlContext 2017-09-22 19:19:28 +02:00
Stephan ee1941b9bf Refactor ISqlContext and SqlTemplates 2017-09-22 18:30:38 +02:00
Sebastiaan Janssen c9ea1a5504 Copy Azure Gallery script to output folder 2017-09-22 17:03:20 +02:00
Sebastiaan Janssen 10da318989 Get-FileHash is now unused 2017-09-22 16:54:34 +02:00
Sebastiaan Janssen 74e3308017 Adds Azure Gallery release script - no more need for WebPI builds 2017-09-22 16:52:04 +02:00
Stephan c43bf6c741 Get tests green 2017-09-22 15:23:46 +02:00
Stephan 349d89e4d7 deploy-401 - fix id reservations 2017-09-22 13:08:05 +02:00
Sam Sperling 201ac076c3 Fix for: U4-10444 - External Logins have stopped working since the 7.7.1 update when using auto linking 2017-09-22 13:55:15 +10:00
Bjarne Fyrstenborg bc2e9936d8 Fix issue in IE10 where width 100% pushed action button (dots) out of tree section 2017-09-22 00:01:34 +02:00
Bjarne Fyrstenborg e8e9f5ca49 Fix squeezed action button (dots) in IE 2017-09-22 00:00:39 +02:00
Bjarne Fyrstenborg b938685db0 Ensure longer text in user box is wrapped in IE, e.g. "Migrated Section Access Group 1" 2017-09-21 23:25:40 +02:00
Bjarne Fyrstenborg 39498ad362 Center avatar horizontally in IE 2017-09-21 23:24:10 +02:00
Robert 97868593f8 Tab check is now using id and hash instead of innerHtml 2017-09-21 15:50:22 +02:00
Robert dcdfb074af Forgot to clean after myself :) 2017-09-21 14:09:14 +02:00
Robert a36b1097c5 added event to load audit trail on Properties tab only 2017-09-21 13:56:03 +02:00
Mads Rasmussen e268a05f6e remove client side lesson functions from core - these will be moved to the starter-kit 2017-09-21 11:14:31 +02:00
Sebastiaan Janssen 92b6e276bf U4-10443 Remove xmlrpcnet from nuspec 2017-09-21 08:44:59 +02:00
Stephan a239e92bc0 Fix LocalDb detection on 32/64 bits systems 2017-09-21 08:32:49 +02:00
Sebastiaan Janssen e0025db56d Merge remote-tracking branch 'origin/dev-v7.7' into dev-v7 2017-09-21 08:26:59 +02:00
Mads Rasmussen fb7d22dca8 polish 2017-09-20 20:58:52 +02:00
Mads Rasmussen bac53bc241 rename dynamic user dashboards to "user-dialog" so they aren't confused with the user profiles in the new user section 2017-09-20 20:39:05 +02:00
Mads Rasmussen ce690acda0 move drawer width to less variable + fix backdrops when drawer is open 2017-09-20 20:30:44 +02:00
Stephan dca3b74542 Refactor and fix tests 2017-09-20 20:06:46 +02:00
Bjarne Fyrstenborg 1238c10b3d Ensure close button is behind sticky bar 2017-09-20 18:39:51 +02:00
Bjarne Fyrstenborg 35177eea9f Fix image cropper z-index with focal point behind sticky bar 2017-09-20 18:01:51 +02:00
Mads Rasmussen cb8157dfca Start on a fresh help drawer branch - the other branch was a mess of testing data and nested content merges 2017-09-20 15:46:33 +02:00
Sebastiaan Janssen 7cd632302b Only sync the email and username when UsernameIsEmail is true - U4-10435 Unable to Change Username (Reverts After Save) 2017-09-20 13:34:19 +02:00
Shannon Deminick 7142222234 Merge pull request #2201 from wanddy/dev-v7
Improve Chinese translation
2017-09-20 09:36:30 +10:00
Sebastiaan Janssen fd35d89949 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-19 18:51:23 +02:00
Stephan bcf3916e54 Refactor test options attribute 2017-09-19 18:47:07 +02:00
Sebastiaan Janssen 1b3fc9fb21 Oops! Add -docs for all the log file pipes 2017-09-19 18:37:00 +02:00
Stephan 1341a37f2b Cleanup Constants.ObjectTypes 2017-09-19 18:19:05 +02:00
Sebastiaan Janssen 2e98651d62 Create the out and tmp folders correctly 2017-09-19 18:16:19 +02:00
Sebastiaan Janssen 704e981284 Always do the node/bower/gulp build to get docs, start with node build first 2017-09-19 18:15:31 +02:00
Stephan 1308b4cc8b Import NPoco tests 2017-09-19 17:14:26 +02:00
Stephan 8721478fd3 Port 7.7 - WIP 2017-09-19 17:14:12 +02:00
Stephan ca0d5e365a Port 7.7 - WIP 2017-09-19 16:46:49 +02:00
Stephan 9ed6576908 Port 7.7 - WIP 2017-09-19 15:51:47 +02:00
Sebastiaan Janssen 0070d8b913 Bump version 2017-09-19 14:23:58 +02:00
Sebastiaan Janssen 9c0500325d Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2017-09-19 14:23:26 +02:00
Sebastiaan Janssen eda7f1e527 Bump version 2017-09-19 14:17:19 +02:00
Sebastiaan Janssen 018a066f86 U4-10428 Can't drag Image in Image Cropper (in Umbraco 7.6.7) 2017-09-19 14:10:20 +02:00
Robert 4c7c6e37d1 Forgot to clean after myself :) 2017-09-19 12:02:29 +02:00
Robert 116e53e07d Custom serialization attribute added to AuditType property 2017-09-19 11:49:32 +02:00
Sebastiaan Janssen e33a28ac19 Making sure we don't build Belle twice for the documentation 2017-09-19 11:38:20 +02:00
Robert a74c4433f7 Mapping the DateStamp and UserName to AuditLog
Refactored how the the Username is displayed due to some misunderstanding on my part.
2017-09-19 11:01:07 +02:00
Wanddy Huang(黄仁祥) 0f17a27d86 Improve Chinese translation
Improve Chinese translation.
2017-09-19 15:56:47 +08:00
Wanddy Huang(黄仁祥) 9c24dc71a4 Merge pull request #2 from umbraco/dev-v7
Merge from origin source
2017-09-19 15:49:16 +08:00
Robert 2ccf74a921 Adding the userName to the audit comment
Before the
2017-09-19 09:29:24 +02:00
Shannon 6205d8a9f9 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Web/Editors/AuthenticationController.cs
2017-09-19 13:34:08 +10:00
Shannon 0ef57d819c removes uneeded null checks from AuthenticationController for raising UserManager events 2017-09-19 13:31:43 +10:00
Sebastiaan Janssen 0dfbe4d4eb Bump version 2017-09-18 23:08:32 +02:00
Sebastiaan Janssen d0e99bf5d9 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-18 22:31:20 +02:00
Stephan d54658009c Port 7.7 - WIP 2017-09-18 15:33:13 +02:00
Sebastiaan Janssen 48f2aa4f15 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2017-09-18 14:19:47 +02:00
Robert f3a81d82be Merge pull request #2184 from umbraco/temp-U4-10405
fixes: U4-10405 When scheduled publishing it set, change the default …
2017-09-18 13:24:47 +02:00
Shannon 029ace796d Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Core/Security/BackOfficeUserManager.cs
#	src/Umbraco.Web/Security/Providers/UsersMembershipProvider.cs
2017-09-18 20:04:05 +10:00
Shannon a5581ba13e ensures the UsersController raises the appropriate event when an admin user changes another user's password 2017-09-18 19:42:49 +10:00
Shannon e8e0664129 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7, removes the UnlockUser method of BackOfficeUserManager since the membership provider is no longer used to perform any unlocking 2017-09-18 19:38:10 +10:00
Shannon 20290582d9 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-18 15:37:23 +10:00
Stephan 9a28250a8d Port 7.7 - WIP 2017-09-15 18:22:19 +02:00
Sebastiaan Janssen bb88eb155f Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Core/Security/BackOfficeSignInManager.cs
#	src/Umbraco.Core/Security/BackOfficeUserManager.cs
#	src/Umbraco.Web/Editors/AuthenticationController.cs
#	src/Umbraco.Web/Security/MembershipHelper.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/users/EditUser.aspx.cs
2017-09-15 16:34:51 +02:00
Sebastiaan Janssen 3803785569 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-15 13:51:23 +02:00
Sebastiaan Janssen 5451d28fe4 Update unit tests to account for the new AuditMapper 2017-09-14 21:29:24 +02:00
Mads Rasmussen db57268440 add prototype for media properties tab 2017-09-14 21:00:26 +02:00
Stephan d9aaba192c Port 7.7 - WIP 2017-09-14 19:29:12 +02:00
Sebastiaan Janssen 3f82781c0f Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-14 16:15:43 +02:00
Mads Rasmussen ac265067e8 move media node info component to media subfolder 2017-09-14 15:41:47 +02:00
Mads Rasmussen 5330830362 Merge branch 'dev-v7.7' into temp-U4-10309
# Conflicts:
#	src/Umbraco.Web.UI.Client/bower.json
#	src/Umbraco.Web.UI.Client/gruntFile.js
2017-09-14 15:28:21 +02:00
Sebastiaan Janssen 5ab364781b Sync en and en_us language 2017-09-14 14:29:53 +02:00
Sebastiaan Janssen c2d328685d Remove wrong and misleading translation key that's unused 2017-09-14 14:29:26 +02:00
Mads Rasmussen c013be4f36 add missing language keys for en_us.xml 2017-09-14 14:04:25 +02:00
Stephan 4634eb28e7 Port 7.7 - WIP 2017-09-14 11:41:46 +02:00
Shannon 703c3eefe8 Fixes issue with trying to log in as a user that is disabled. 2017-09-14 19:00:59 +10:00
Shannon 4ab67d8cff fix build 2017-09-14 18:28:02 +10:00
Shannon f8d165599d Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-14 18:10:59 +10:00
Shannon 3815a6c607 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-14 16:17:44 +10:00
Stephan 37171d96bc Port 7.7 - WIP 2017-09-13 17:35:20 +02:00
Sebastiaan Janssen 6cd2a15964 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Core/UdiEntityType.cs
2017-09-13 17:34:35 +02:00
Stephan e6de96cb90 Port 7.7 - WIP 2017-09-13 14:40:10 +02:00
Sebastiaan Janssen 8ebbfca17d Merge branch 'dev-v7.7' of https://github.com/umbraco/Umbraco-CMS into dev-v7.7 2017-09-13 13:15:28 +02:00
Sebastiaan Janssen 076a8e0e23 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/umbraco.sln
2017-09-13 13:09:20 +02:00
Stephan 44da6c9f97 Merge pull request #2188 from umbraco/temp-U4-10401
U4-10401 Being able to rename Data Type folders
2017-09-13 13:08:09 +02:00
Stephan 058ad9f99a Merge branch 'dev-v7.7' into temp-U4-10401 2017-09-13 12:12:10 +02:00
Sebastiaan Janssen dd440eb9d5 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Web/WebApi/UmbracoAuthorizedApiController.cs
2017-09-13 12:09:17 +02:00
Sebastiaan Janssen aafe0e1c6c Merge pull request #2189 from umbraco/temp-U4-10407
U4-10407 We should log unhandled exceptions that occur in webapi controllers and always have detailed errors returned to users even when not in debug mode
2017-09-13 12:04:29 +02:00
Shannon Deminick bbc625f65d Merge pull request #2190 from abryukhov/temp-U4-10404
U4-10404 - v7.7 - added & changed UI localization keys sync for RU language
2017-09-13 09:44:53 +10:00
Alexander Bryukhov 8b34ab24f4 v7.7 - added & changed UI localization keys sync for RU language 2017-09-12 23:54:17 +07:00
Stephan 96c08f24ee Port 7.7 - WIP 2017-09-12 16:22:16 +02:00
Stephan e8faf54edf Merge pull request #2187 from umbraco/temp-U4-10118
temp u4 10118
2017-09-12 16:05:55 +02:00
Stephan 8548ee7761 u4-10118 - don't create a FS provider manager just to reset it 2017-09-12 16:05:35 +02:00
Shannon 7a71f64978 U4-10407 We should log unhandled exceptions that occur in webapi controllers and always have detailed errors returned to users even when not in debug mode 2017-09-12 21:54:55 +10:00
Shannon 643d0012c6 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-12 20:22:21 +10:00
Sebastiaan Janssen 14ff7cbcc7 Comment out tests that are described in the file not to be working - so build server doesn't fail 2017-09-12 12:18:06 +02:00
Mads Rasmussen 4b6b24b2f5 add empty state to history 2017-09-12 11:56:39 +02:00
Mads Rasmussen 7d5d89e9cb reuse styles for schedule dates 2017-09-12 11:56:13 +02:00
Sebastiaan Janssen 4d7f66736d Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-12 11:41:37 +02:00
Mads Rasmussen ab85cbf599 remove unused code + clean up styles in general box 2017-09-12 10:24:44 +02:00
Robert 7aeed3ae2f Changed to dataType constant guid 2017-09-12 10:19:31 +02:00
Robert 8269203a47 Added missing "$" and missing rename icon to the DataTypeTreeController 2017-09-12 09:35:15 +02:00
Sebastiaan Janssen 1eea4867af Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-12 09:21:39 +02:00
Sebastiaan Janssen 63343d89de Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-12 09:05:28 +02:00
Sebastiaan Janssen 26cce02984 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Web.UI.Client/test/config/karma.conf.js
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2017-09-12 08:52:10 +02:00
Robert 9fd0e7771d Rename logic in place 2017-09-12 08:28:18 +02:00
Shannon 68a30c3906 fixes issue when referencing a key that doesn't exist 2017-09-12 16:25:12 +10:00
Shannon 81155c2ff8 collate is not supported in sqlce 2017-09-12 15:24:17 +10:00
Shannon 59afcd8be7 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-12 13:38:34 +10:00
Shannon 68f1120b4f U4-10118 Umbraco.Core.IO.FileSystemProviderManager is simply not testable and cannot be properly used or setup in tests 2017-09-12 13:18:34 +10:00
Shannon b884bed7cf updates db migrations to deal with very rare/old existing tables and indexes along with dealing with non standard collations 2017-09-12 12:43:21 +10:00
Shannon 1f083ca21c removes the Belle build stuff from the csproj 2017-09-12 12:41:39 +10:00
Shannon b9ecb7e1d8 updates the upgrade nuget readme 2017-09-12 11:43:54 +10:00
Mads Rasmussen c6937618c2 fixes: U4-10405 When scheduled publishing it set, change the default button to "Save and schedule" 2017-09-11 20:02:46 +02:00
Sebastiaan Janssen ad8ef56920 Update version 2017-09-11 16:27:43 +02:00
Sebastiaan Janssen 1ff352ddc4 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-11 16:24:44 +02:00
Sebastiaan Janssen 3275f03aff Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	.gitignore
#	build/UmbracoVersion.txt
#	src/Umbraco.Web.UI.Client/src/views/content/content.edit.controller.js
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2017-09-11 15:46:54 +02:00
Zsolt ef84d63982 Merge remote-tracking branch 'origin/temp-U4-10309' into temp-U4-10309 2017-09-11 13:06:49 +02:00
Zsolt 280a7445f4 media sections properties tab 2017-09-11 13:05:57 +02:00
Mads Rasmussen fb60647b5a fix failing unit test: fix karma syntax for spyOn 2017-09-11 12:55:46 +02:00
Shannon d808438288 moves the rename menu item above delete (shouldn't be last) 2017-09-11 20:03:50 +10:00
Shannon 909319184c adds null check during folder rename 2017-09-11 19:51:28 +10:00
Robert 026e46cec0 Merge pull request #2166 from umbraco/lars-erik-U4-7580-rename-containers
Make U4-7580 (DocTypes/MediaTypes folder re-nameable feature) work with Deploy
2017-09-11 11:19:30 +02:00
Shannon 7e794dd021 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-11 19:14:01 +10:00
Shannon 0b14f255d2 syncs more translation bits 2017-09-11 19:00:11 +10:00
Shannon e6edaf1c3a Merge branch 'dev-v7.7' of https://github.com/umbraco/Umbraco-CMS into dev-v7.7 2017-09-11 18:44:17 +10:00
Shannon c4810ba45a fixes quirk with change password directive and new members - fixes merge issue where the controller for the directive was cleared 2017-09-11 18:44:02 +10:00
Mads Rasmussen b669741adb fixes missing language keys in invite user 2017-09-11 10:26:44 +02:00
Shannon c232fa2add fixes tree header localization for the default (US) language, was missing partial views 2017-09-11 16:34:29 +10:00
Mads Rasmussen 5ae8a47f4b wire up audit trail 2017-09-10 22:58:45 +02:00
Mads Rasmussen 29f3acc23e Merge pull request #2163 from umbraco/temp-U4-10275
U4-10275 Render 'site' nodes for the content/media trees for users with non root access
2017-09-10 18:04:59 +02:00
Sebastiaan Janssen e6bf4e6c69 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-09 00:02:36 +02:00
Sebastiaan Janssen ac8a0ddc58 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-08 23:52:23 +02:00
Sebastiaan Janssen e7fc252f4c Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-08 23:29:58 +02:00
Stephan 1c96df83cd Port 7.7 - WIP 2017-09-08 19:39:13 +02:00
Sebastiaan Janssen c66a763406 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-08 18:58:48 +02:00
Stephan 00d2ea928d Port 7.7 - WIP 2017-09-08 12:35:34 +02:00
Shannon 5398d24f58 disables deleting translator group 2017-09-08 16:07:58 +10:00
Shannon d06c92d249 fixes send to translate to lookup the translate group by the correct alias 2017-09-08 16:00:04 +10:00
Shannon 719d520a82 null check for change password 2017-09-08 15:59:35 +10:00
Shannon 75ace2b162 Fixes deleting a template - uses the correct way to delete stuff with angular and not relying on legacy code 2017-09-08 15:45:10 +10:00
Shannon 7ae95e31a1 Ensures the root node is not shown in the copy/media dialogs for content/media when start ndoes are assigned, fixes entity searching since there was js errors (maybe from a bad merge) 2017-09-08 15:16:13 +10:00
Shannon 81ba2069af fixed media start node mapping for user 2017-09-08 15:11:39 +10:00
Shannon 858c21c79f Ensures Content header node isn't shown in copy/move dialogs when the user has a start node set that is not the root 2017-09-08 14:28:18 +10:00
Shannon 504f32f25b Merge branch 'dev-v7.7' into temp-U4-10275 2017-09-08 13:53:02 +10:00
Shannon 38c961209e Ensure the user's administratively reset password doesn't get re-shown in the UI - that was based on an actual password reset 2017-09-08 13:48:32 +10:00
Shannon c39e1175fd Fixes up some more password changing quirks 2017-09-08 13:43:38 +10:00
Shannon 1d5348763d Fixes up invite message, fixes reset password quirk, ensures password values are cleared after changing password, ensures that the confirm password value is not posted to the server 2017-09-08 13:15:03 +10:00
Shannon 3c6ab8d34f Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-09-08 12:49:36 +10:00
Shannon 8981fd23a8 makes new classes internal 2017-09-08 11:41:49 +10:00
Shannon ab3407a1aa Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Core/Umbraco.Core.csproj
#	src/Umbraco.Web.UI.Client/src/less/components/umb-packages.less
#	src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
#	src/Umbraco.Web/Umbraco.Web.csproj
2017-09-08 11:31:04 +10:00
Mads Rasmussen a5c78f6325 fix bower.json after merge - copy correct clipboard.js file 2017-09-07 20:27:52 +02:00
Shannon 6ea92daa70 fixes merge removes unused file 2017-09-07 23:03:01 +10:00
Shannon 65ece33ca9 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Core/Models/UmbracoObjectTypes.cs
#	src/Umbraco.Web.UI.Client/bower.json
#	src/Umbraco.Web.UI.Client/gruntFile.js
#	src/Umbraco.Web.UI.Client/src/installer/_module.js
#	src/Umbraco.Web.UI.Client/test/config/karma.conf.js
2017-09-07 22:43:03 +10:00
Shannon Deminick 85758011b5 Merge pull request #2140 from umbraco/temp-U4-10268_2
U4-10268 7.7 Beta - Changing password should be safe by default
2017-09-07 22:38:45 +10:00
Shannon bc148d08fa maps avatars in log 2017-09-07 22:24:18 +10:00
Shannon 57a1e73383 Updates endpoints for both c# and js 2017-09-07 22:03:49 +10:00
Shannon c7b9a57795 U4-10382 Add end point to get a paginated audit trail 2017-09-07 17:27:37 +10:00
Mads Rasmussen 12b4587828 null check for change password 2017-09-06 14:33:01 +02:00
Mads Rasmussen 77d240c69a don't show disallow cursor on the more button on a tree item (the three dots) 2017-09-06 13:31:13 +02:00
Mads Rasmussen 119dd5af29 auto expand tree to nodes with access 2017-09-06 13:11:58 +02:00
Claus e1de9452b2 Merge pull request #2170 from umbraco/temp-U4-10333
U4-10333 Invite user needs extensibility points to work with Umbraco Cloud when no SMTP is set
2017-09-06 11:29:05 +02:00
Claus 25cb76e842 Merge remote-tracking branch 'origin/dev-v7.7' into temp-U4-10333
# Conflicts:
#	src/Umbraco.Web/Editors/UsersController.cs
2017-09-06 11:25:11 +02:00
Mikkel Holck Madsen b9baeea1a1 Merge pull request #2171 from umbraco/temp-U4-10368
U4-10368 Need option to set username different than e-mail for AD compatibility
2017-09-06 10:59:23 +02:00
Mikkel Holck Madsen dfa1a098c8 Merge pull request #2172 from umbraco/temp-U4-10214
U4-10214 Disable ability to delete admin group
2017-09-06 09:39:25 +02:00
mikkelhm 3b741d3075 Disallow selection of the admin group, as it should never be allowed 2017-09-06 09:37:35 +02:00
Claus 5ac0841ee4 Merge pull request #2175 from umbraco/temp-U4-10325
U4-10325 Media insert in grid should use UDIs
2017-09-06 09:24:02 +02:00
Claus 63b2d10e86 Merge pull request #2164 from umbraco/temp-U4-10374
U4-10374 EntityService, ContentService and MediaService should use a …
2017-09-06 09:12:12 +02:00
Shannon eb1edf94d3 Merge branch 'dev-v7.7' into temp-U4-10309 2017-09-06 15:51:01 +10:00
Shannon 616b9b0e92 U4-10325 Media insert in grid should use UDIs 2017-09-06 14:50:44 +10:00
Bitmapped 606abd8ac7 Restructure per discussion in U4-10369 2017-09-06 00:43:27 -04:00
Shannon 2efe2cc88a Ensures that a user that has multiple start nodes cannot select the root start node in the tree dialogs 2017-09-06 12:54:32 +10:00
Shannon 8b17d69d32 Merge branch 'temp-U4-10389' into temp-U4-10275 2017-09-06 12:03:55 +10:00
Shannon 8ad1d247fa U4-10389 Some webforms editors do not authorize on the user's path access or permissions set for the editing node 2017-09-06 11:49:00 +10:00
Shannon 6cc4ab9348 Ensure the user can still refresh nodes they don't have access to when viewing 'site'/branch nodes with multiple start nodes 2017-09-06 10:45:38 +10:00
Shannon c860069215 Updates logic to ensure that if we are rendering site nodes that we don't render all of their children, we will filter out any nodes that do not belong to the user's start nodes' branches 2017-09-06 00:38:31 +10:00
Shannon 186fd1166a Merge branch 'dev-v7.7' into temp-U4-10275 2017-09-05 23:48:11 +10:00
Shannon d32093136f U4-10214 Disable ability to delete admin group 2017-09-05 23:41:58 +10:00
Shannon f3f31f2569 Gets invite and create user working with new setting and allowing specifying a separate username. 2017-09-05 23:31:26 +10:00
Zsolt c0b230a95e document type now openable + formatted the create date 2017-09-05 15:15:11 +02:00
Shannon 456b5fcee0 updates config template 2017-09-05 22:46:13 +10:00
Shannon 0dee1f0fac U4-10368 Need option to set username different than e-mail for AD compatibility 2017-09-05 22:35:40 +10:00
Zsolt 607c2cc8e7 used localization and language keys on properties tab 2017-09-05 13:38:34 +02:00
Zsolt 48d3a3defd Made timeline more responsive + restructured the date in the footer 2017-09-05 11:57:22 +02:00
Shannon 1f7a5ff90a bumping version 2017-09-05 19:28:18 +10:00
Shannon f209ad2019 Merge branch 'dev-v7.7' into temp-U4-10333 2017-09-05 19:23:45 +10:00
Shannon 66affa7f85 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	build/UmbracoVersion.txt
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2017-09-05 19:22:37 +10:00
Shannon 2590ee51ec cleans up event args and makes internal 2017-09-05 19:20:33 +10:00
Shannon 4b7bd6482e Creates new EmailSender which should take the place throughout the codebase for sending emails in the Core. Have replaced most places where SMTP is used directly (but not the notifications part since that is more complicated right now). Added the internal event and special usage so we can raise an event to send an email if smtp is not configured. 2017-09-05 18:52:03 +10:00
Shannon 8ff89c4f48 U4-10385 Examine indexing performance bottleneck: IUserService.GetProfileById which is not cached 2017-09-05 16:41:06 +10:00
Mads Rasmussen 8509285aae move properties/info tab to it's own component 2017-09-04 21:12:47 +02:00
Shannon af9441010c Merge branch 'dev-v7.7' of https://github.com/umbraco/Umbraco-CMS into dev-v7.7 2017-09-04 22:04:27 +10:00
Mads Rasmussen 2413e9951f load in moment with locales globally + remove lazy loading from date picker 2017-09-04 14:04:06 +02:00
Shannon 7926a0c676 Simplifies the change password logic with the back office so an admin user can easily change another user's password if they have access to the users section. Updates the controllers to populate the modelstate correctly, changes name of HasAppAccess to HasSectionAccess. Ensure we don't have duplicate ysod dialogs when there is an error. 2017-09-04 22:03:03 +10:00
Stephan 511e9bd3a4 Merge pull request #2160 from umbraco/temp-deploy-360
deploy-360 - add IUniqueIdentifyingServiceConnector
2017-09-04 13:52:49 +02:00
Mads Rasmussen 1a444fd703 add date pickers 2017-09-04 12:58:04 +02:00
Shannon a0306f9d55 Fixes ability to reset your own password in the user section 2017-09-04 20:15:46 +10:00
Shannon 0e0ab81155 Changes AllowManuallyChangingPassword by default to be false 2017-09-04 17:26:45 +10:00
Shannon a608577a4f Merge branch 'dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Core/Constants-Security.cs
#	src/Umbraco.Core/Security/BackOfficeUserStore.cs
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Core/Services/UserService.cs
#	src/Umbraco.Tests/App.config
#	src/Umbraco.Web/umbraco.presentation/umbraco/users/EditUser.aspx.cs
2017-09-04 16:51:20 +10:00
Zsolt bd68a140ba Merge remote-tracking branch 'origin/temp-U4-10309' into temp-U4-10309 2017-09-01 15:10:50 +02:00
Zsolt 7b34211bb1 bit more responsive + changed the colors to variables in less 2017-09-01 15:09:53 +02:00
Robert ccfcabc707 Event added to trigger deploy/courier 2017-09-01 11:07:09 +02:00
Shannon 6a95da31b0 U4-10374 EntityService, ContentService and MediaService should use a prefix query for GetDescendants instead of a Contains query 2017-09-01 00:55:30 +10:00
Shannon 66da774bf7 Revert "Change EntityService GetDescendents to lookup the item path to use in the LIKE query to be a 'prefix' query not a 'contains' query which will be much better for SQL"
This reverts commit ecc761a232.
2017-09-01 00:46:01 +10:00
Shannon 1cec38c679 Gets site nodes showing for users with multiple root nodes and updates UI to support showing them what they have and don't have access to, also updates the content/media tree controllers performance for when looking up entities and if the user has access to the path. 2017-09-01 00:32:01 +10:00
Shannon 51e9b98857 Updates Content and Media services GetAncestors to use a prefix query intead of contains, fixes tests 2017-08-31 22:54:30 +10:00
Shannon ecc761a232 Change EntityService GetDescendents to lookup the item path to use in the LIKE query to be a 'prefix' query not a 'contains' query which will be much better for SQL 2017-08-31 22:19:01 +10:00
Mads Rasmussen fa78223229 make doc type + go to doc type work 2017-08-31 14:00:20 +02:00
Zsolt 39c19dc1d4 Merge remote-tracking branch 'origin/temp-U4-10309' into temp-U4-10309 2017-08-31 12:52:30 +02:00
Zsolt 7b4b6357cb changed more <h> tags + realigned them 2017-08-31 12:47:01 +02:00
Mads Rasmussen 4454290820 make link to document block element, add hover state + open in new tab 2017-08-31 11:56:03 +02:00
Mads Rasmussen d94cd9dc8d Merge branch 'temp-U4-10309' of https://github.com/umbraco/Umbraco-CMS into temp-U4-10309
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/components/content/edit.html
2017-08-31 11:34:25 +02:00
Mads Rasmussen 8c07af9505 fake loading the auditTrail 2017-08-31 11:31:41 +02:00
Zsolt d32fb44187 Merge remote-tracking branch 'origin/temp-U4-10309' into temp-U4-10309 2017-08-31 11:29:08 +02:00
Zsolt dd38480ce2 changing <h> tags to span + adding extra description to timeline 2017-08-31 11:29:03 +02:00
Mads Rasmussen 08e8e3918e make template selector work 2017-08-31 11:23:10 +02:00
Zsolt 7a3591d1bd last line of the timeline is not there anymore 2017-08-31 10:20:49 +02:00
Zsolt 59ab7f5c8d Changed the order of meta data 2017-08-31 10:01:36 +02:00
Zsolt c2b2182182 Merge remote-tracking branch 'origin/temp-U4-10309' into temp-U4-10309 2017-08-31 09:51:54 +02:00
Zsolt 66b656f058 added the icon to the link, also the link functions as a link 2017-08-31 09:51:20 +02:00
Shannon 57a8df8309 fixes tests 2017-08-31 16:47:52 +10:00
Shannon 342ce7e507 updates user authz logic and adds more tests (and fixes test) 2017-08-31 15:53:15 +10:00
Shannon Deminick 7d227a8cd8 Merge pull request #2161 from umbraco/temp-U4-6929
U4-6929 User permissions security issue
2017-08-31 15:11:37 +10:00
Bitmapped 65db5396cf Spelling fix 2017-08-30 20:06:20 -04:00
Bitmapped 32d5a0a57c Add method for configuring external logins so things can be granularly overriden. 2017-08-30 20:04:30 -04:00
Mads Rasmussen c8f7ecabf4 add avatar + set correct color on badges for history 2017-08-30 20:32:40 +02:00
Zsolt 9137249510 properties tab UI prototype with dummy data 2017-08-30 16:42:20 +02:00
Robert 742c3236c7 Merge branch 'U4-7580-rename-containers' of git://github.com/lars-erik/Umbraco-CMS into lars-erik-U4-7580-rename-containers 2017-08-30 15:13:19 +02:00
Stephan e83d278b9a deploy-360 - missing file 2017-08-30 13:43:16 +02:00
Mads Rasmussen ede6664e7f allow admins to edit all groups 2017-08-30 13:27:52 +02:00
Stephan 54c4e3b422 deploy-360 - add IUniqueIdentifyingServiceConnector 2017-08-30 12:17:04 +02:00
Sebastiaan Janssen cf951e7055 Merge pull request #2107 from leekelleher/temp-U4-10260
U4-10260 - Umbraco.7.7 beta - NestedContent with ModelsBuilder disabled throws error
2017-08-30 10:04:24 +02:00
Shannon e18c91dedc fixing tests 2017-08-30 12:10:02 +10:00
Shannon Deminick e34e536dad Merge pull request #2156 from umbraco/temp-U4-10326
Creating a new content node using Content Templates (Blueprints) always places node at root.
2017-08-30 11:35:47 +10:00
Shannon 209273ba64 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Tests/Umbraco.Tests.csproj
#	src/Umbraco.Web.UI.Client/src/init.js
#	src/Umbraco.Web.UI/umbraco_client/Application/Extensions.js
2017-08-30 11:08:36 +10:00
Robert 67489d496a Creating a node using Blueprints now places the node under the parrent that was created 2017-08-29 09:30:22 +02:00
Shannon 7571dab4cc Updates the user auth helper and adds unit tests for it's scenarios 2017-08-29 15:13:07 +10:00
Shannon f37307d540 fixes path access checks to include root ... but now i need to figure out another problem. 2017-08-29 01:16:37 +10:00
Shannon 6995c184e3 Updates user editor, non-admins can see all user groups but cannot edit them, they can save user that contain groups that they don't have access to if they were already there but cannot add new ones they dont' have access to 2017-08-29 01:00:08 +10:00
Stephan cf450bebc3 Bugfix CombineStartNodes 2017-08-28 15:26:27 +02:00
Shannon 241fbb2144 combine start node tests 2017-08-28 23:06:31 +10:00
Shannon 513aa0b95d Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-08-28 22:41:14 +10:00
Robert 2ec91a075d Merge pull request #2150 from umbraco/temp-U4-10264
fixes: U4-10264 Umbraco 7.7 beta - UX - 'Set permission' above 'Close'
2017-08-28 11:21:16 +02:00
Stephan 4dedd52e37 Port 7.7 - WIP 2017-08-26 17:39:23 +02:00
Stephan ac1e4bdfe3 Port 7.7 - WIP 2017-08-25 17:55:26 +02:00
Sebastiaan Janssen 7197c9cbb4 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Core/Models/UserExtensions.cs
2017-08-25 16:39:06 +02:00
Sebastiaan Janssen b9614f9393 Merge branch 'dev-v7.7' of https://github.com/umbraco/Umbraco-CMS into dev-v7.7 2017-08-25 16:22:26 +02:00
Mads Rasmussen ea3f0d6157 fixing edge case model change 2017-08-25 09:31:13 +02:00
Shannon 9b327dd27e Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-08-25 09:54:36 +10:00
Shannon Deminick 21ed9989f3 Merge pull request #2139 from umbraco/temp-U4-2449
U4-2449 Feature request: Change the default admin users lang to en-us
2017-08-25 09:40:05 +10:00
Stephan 934d03e63f Port 7.7 - WIP 2017-08-24 21:24:14 +02:00
Sebastiaan Janssen 780776072d Update umbracoDefaultUILanguage to en-US 2017-08-24 21:03:31 +02:00
Sebastiaan Janssen 49bf7e43a4 Merge branch 'dev-v7.7' of https://github.com/umbraco/Umbraco-CMS into dev-v7.7 2017-08-24 20:58:56 +02:00
Sebastiaan Janssen db63e70a99 Merge pull request #2141 from umbraco/temp-U4-10258
U4-10258 Add documentation for umbUserGroupPreview component
2017-08-24 20:10:56 +02:00
Sebastiaan Janssen 5ed4d9ccae Merge pull request #2117 from umbraco/temp-U4-10201
U4-10201 Exception when deleting a user's start node - adds FKs, fixe…
2017-08-24 20:04:44 +02:00
Sebastiaan Janssen 6eb4c066c6 Merge pull request #2136 from umbraco/temp-U4-10249
U4-10249 FolderAndFilePermissions HealthCheck causes the application …
2017-08-24 18:49:29 +02:00
Mads Rasmussen ba8fe93693 localize discard changes notification 2017-08-24 15:10:42 +02:00
Mads Rasmussen cb4de2a6a1 Add discard changes notification to rights/permissions dialog 2017-08-24 15:00:11 +02:00
Mads Rasmussen e0b014afad fix styling on dialog footer so it looks like the editor footer and the right side overlay footer 2017-08-24 14:59:02 +02:00
Mads Rasmussen fcc0198910 make heading on alert form bold 2017-08-24 14:52:12 +02:00
Shannon Deminick 3c17e30133 Merge pull request #2144 from umbraco/temp-U4-10348
U4-10348 Show readonly user profile information on user editor
2017-08-24 20:03:01 +10:00
Shannon ee6dbcef17 minor copy updates, removes test json 2017-08-24 20:02:41 +10:00
Shannon 1b369b5ba9 Adds back a backwards compatibility API 2017-08-24 19:45:48 +10:00
Shannon 7636f54ffd Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Tests/Umbraco.Tests.csproj
2017-08-24 19:07:21 +10:00
Lars-Erik Aabech 0bfa90714c Removed clever comment 2017-08-23 18:23:18 +02:00
Lars-Erik Aabech c18c936820 Per-approved re-usability.
Only issue is controller being under documenttypes.
2017-08-23 18:19:31 +02:00
Lars-Erik Aabech c116da7545 Also solves U4-9143 2017-08-23 18:19:17 +02:00
Lars-Erik Aabech 00d00dac26 Localized for english 2017-08-23 18:19:03 +02:00
Lars-Erik Aabech 0a7bcbcc69 Getting localization fixed - trying to tokenize 2017-08-23 18:18:27 +02:00
Lars-Erik Aabech 2f088d0562 Renaming document type containers 2017-08-23 18:18:00 +02:00
Mads Rasmussen ff45f1f9cc show calculated start nodes on the user profile 2017-08-23 15:21:19 +02:00
Mads Rasmussen f50898ee6d add description to umb-box component 2017-08-23 15:20:23 +02:00
Mads Rasmussen 6796f4d4f5 U4-10348 Show readonly user profile information on user editor 2017-08-23 13:08:25 +02:00
Shannon Deminick 1abbc31348 Merge pull request #2145 from umbraco/temp-deploy-367
Improve EnsureUniqueNodeName perfs?
2017-08-23 16:18:47 +10:00
Shannon f48ffd28c0 reverts files that shouldn't have been committed 2017-08-23 15:59:47 +10:00
Shannon c5e1fc5a20 U4-10348 Show readonly user profile information on user editor 2017-08-23 15:45:42 +10:00
Shannon 04ac744277 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-08-23 15:23:04 +10:00
Shannon f457edfada fixes tests 2017-08-23 15:20:12 +10:00
Shannon 8982f7b933 U4-10346 Whenever you visit either the users or the groups section BOTH controllers: Users and Groups initialize 2017-08-23 15:10:10 +10:00
Shannon 9261f46ad1 fixes various report issues with new security policies 2017-08-23 14:56:42 +10:00
Shannon 3106c22287 UAASSCRUM-1045 Umbraco 7.7: New sites created have an "Administrator” user visible in the back office. 2017-08-22 17:55:28 +10:00
Shannon 98bd044823 Updates logic so that non-admins cannot see any admins in the user editor 2017-08-22 17:27:16 +10:00
Shannon 5afe16ae0e Updates user and user group editors security policies 2017-08-22 16:09:06 +10:00
Shannon 8033c6807f Ensures admin can access anything 2017-08-22 13:06:56 +10:00
Shannon 0059f703c5 Adds authorization so that a user cannot access a group it does not belong to 2017-08-22 13:03:59 +10:00
Shannon e802af109f Adds authorization for create/invite 2017-08-22 12:47:17 +10:00
Shannon 8d93485a08 Adds authorization logic for saving the user 2017-08-22 12:39:21 +10:00
Zsolt 9fabfa92ea changing back the previous test 2017-08-21 13:48:35 +02:00
Zsolt 48cff73537 testfzfzfg 2017-08-21 13:33:20 +02:00
Shannon 2d089033d0 U4-10268 7.7 Beta - Changing password should be safe by default 2017-08-21 17:01:18 +10:00
Shannon 83e7e198f8 WIP, adds notes, starts updating server side logic checks 2017-08-21 16:53:58 +10:00
Shannon e775c19e7c U4-2449 Feature request: Change the default admin users lang to en-us 2017-08-21 16:14:07 +10:00
Shannon 1fcc93ff7e Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-08-21 14:37:13 +10:00
Mads Rasmussen 955334fa0f add load indicator to user groups overview 2017-08-18 14:56:19 +02:00
Mads Rasmussen 45fbb531de Merge pull request #2137 from umbraco/temp-U4-10265
U4-10265 7.7 Beta - Tree keeps refreshing + saving fails
2017-08-18 14:05:30 +02:00
Zsolt 04d73eedfe documentation for umbUserGoupPreview directive 2017-08-18 10:56:38 +02:00
Shannon c5338da37d If the user does not have Update permissions, then the preview functionality cannot call save! 2017-08-18 16:45:23 +10:00
Shannon e4296f6ea4 U4-10265 7.7 Beta - Tree keeps refreshing + saving fails 2017-08-18 16:30:33 +10:00
Shannon 9ce87ea4e8 doh, fixes merge issue 2017-08-18 15:26:15 +10:00
Shannon bdb991f6dc U4-10249 FolderAndFilePermissions HealthCheck causes the application to restart 2017-08-18 14:50:20 +10:00
Shannon 4cebec0d39 U4-10279 User states filter in user overview is broken 2017-08-18 14:17:31 +10:00
Shannon 1fc49ccf59 Merge remote-tracking branch 'origin/temp-U4-10299' into dev-v7.7
# Conflicts:
#	src/Umbraco.Web/Trees/LegacyTreeParams.cs
2017-08-18 14:11:41 +10:00
Shannon 7184838546 U4-10278 Administrator user group is missing access to Forms section 2017-08-18 12:02:52 +10:00
Shannon 254d4e2067 updates to latest examine 2017-08-18 11:54:39 +10:00
Shannon 2817a77c5a Null check fix - required for old trees, fixes backwards compat shim for AddApplication 2017-08-18 11:15:23 +10:00
Shannon 7b61070f8e COU-610 addApplication method is no longer available - puts back some backward compat hacks 2017-08-18 10:13:23 +10:00
Stephan a157e1d596 Revert PublishedContentWrapped.Content rename 2017-08-17 20:40:32 +02:00
Claus f2ff1636ff ensuring query string is cleaned when switching sections with no custom routePath. 2017-08-17 11:23:08 +02:00
Claus 9169e64e39 cleanup and annoying line endings. 2017-08-17 11:22:05 +02:00
Mads Rasmussen 9b1fa2ee23 Merge pull request #2134 from umbraco/temp-U4-10256
U4-10256 Make umb-box component + add documentation
2017-08-17 09:20:04 +02:00
Mads Rasmussen f925309e1f Merge branch 'dev-v7.7' into temp-U4-10256
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/users/user.html
2017-08-17 09:07:29 +02:00
Shannon a50386aaf1 fixes test 2017-08-17 14:36:52 +10:00
Shannon 777d634fe2 Merge branch 'dev-v7.7' of https://github.com/umbraco/Umbraco-CMS into dev-v7.7 2017-08-17 12:18:23 +10:00
Shannon 049435a5e6 Puts back some APIs on the IUser interface to try to avoid more breaking changes. 2017-08-17 12:18:08 +10:00
Mads Rasmussen 87f4cd24a0 fix link 2017-08-16 21:40:35 +02:00
Zsolt 9e0d0de846 created documentation for the newly added directives + testing 2017-08-16 15:45:57 +02:00
Mads Rasmussen b5acd53889 Add a bit of text formatting to the content templates intro text + describe how to add content templates from the settings section 2017-08-16 13:59:35 +02:00
Claus ff29493203 missing null check causing legacy trees to break if theres no querystring data. 2017-08-16 13:43:48 +02:00
Claus 5fff884798 making sure title is added to trees.config - not sure if its needed but lets just do it. 2017-08-16 13:43:21 +02:00
Claus 3885454b26 updating name of usersResource for v. 7.7 2017-08-16 13:42:19 +02:00
Mads Rasmussen fec85491b6 Merge pull request #2129 from umbraco/temp-U4-10248
U4-10248 Change content and media start node pickers to use new picker layout
2017-08-16 09:27:20 +02:00
Mads Rasmussen 26e590a260 don't wait for node path to return before we show the picked node in the UI 2017-08-16 09:25:22 +02:00
Zsolt bf2fdc409b created umb-box components and changed all html tags for it in the users section 2017-08-15 16:32:30 +02:00
Zsolt bd0cceb517 Clean-up with Mads 2017-08-15 14:41:04 +02:00
Shannon Deminick b02b130793 Merge pull request #2125 from umbraco/temp-U4-10280
U4-10280 Add markers to required fields in user section
2017-08-15 12:36:07 +10:00
Shannon Deminick d3e73e9e30 Merge pull request #2122 from umbraco/temp-U4-10243
U4-10243 Umbraco 7.7.  Difference between "Enable/Disable" and "LockedOut"
2017-08-15 12:31:50 +10:00
Shannon 1de79cf473 updated to use ASPNET Identity APIs for managing lockouts 2017-08-15 12:31:32 +10:00
Shannon 42d65a36bc Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	build/UmbracoVersion.txt
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2017-08-15 11:55:17 +10:00
Stephan ab8fc33691 Port 7.7 - WIP 2017-08-14 18:21:48 +02:00
Zsolt 69c242074a In cms I changed the media picker to the new layout + deleting previously commented code 2017-08-14 13:08:01 +02:00
Mads Rasmussen f426e3c500 U4-10280 Add markers to required fields in user section 2017-08-11 12:14:10 +02:00
Claus 028576d93c Merge pull request #2120 from umbraco/temp-U4-10227
U4-10227 Users section should start in the user tree
2017-08-11 10:31:20 +02:00
Mads Rasmussen b607c9cd87 add documentation to users.resource 2017-08-10 16:14:11 +02:00
Claus 5cb766d387 Merge pull request #2115 from umbraco/temp-U4-10220
fixes: U4-10220 Missing the ability to create Content Templates (blue…
2017-08-10 15:57:46 +02:00
Claus 076ee7e3d8 Merge pull request #2110 from umbraco/temp-U4-10233
fixes: U4-10233 Umbraco 7.7 beta - format user last login date
2017-08-10 15:49:02 +02:00
Claus d149438e56 Merge pull request #2088 from umbraco/temp-snippets-update
Updates partial view snippets to not re-iterate all of the time and t…
2017-08-10 15:26:29 +02:00
Claus 90213ec90d no need to check twice if we just dont send any hidden children to the render method. 2017-08-10 15:26:03 +02:00
mikkelhm 0db4993900 Bump version to beta003 2017-08-10 13:53:26 +02:00
Mads Rasmussen 979a0c9e25 remove capitalise from badges 2017-08-10 13:40:56 +02:00
Mads Rasmussen 3104e6d11c fixes: U4-10243 Umbraco 7.7. Difference between "Enable/Disable" and "LockedOut" 2017-08-10 13:39:33 +02:00
Jeavon 850ec2d78f Merge branch 'dev-v7.7' of https://github.com/umbraco/Umbraco-CMS into dev-v7.7 2017-08-10 11:41:42 +01:00
Jeavon d1109fb9ad Fix CustomErrorsCheck so that success message can contain "On" as well as "RemoteOnly" as it's also a success value 2017-08-10 11:41:19 +01:00
mikkelhm 12eb496939 Adds the avatar column as a table to update in the 7.7.0 migration, and sets its length to 500 2017-08-10 12:37:11 +02:00
Claus 4578f097dc Merge branch 'dev-v7.7' of github.com:umbraco/Umbraco-CMS into dev-v7.7 2017-08-10 11:27:57 +02:00
Claus 5f0765a39a Merge branch 'temp-U4-10263' into dev-v7.7 2017-08-10 11:27:38 +02:00
Mikkel Holck Madsen 823e3d1b4e Merge pull request #2109 from umbraco/temp-U4-10244
U4-10244 Umbraco 7.7-beta - Migration fails when upgrading users
2017-08-10 10:43:36 +02:00
Shannon 97f2b40f4b fixes tests 2017-08-10 17:59:17 +10:00
Shannon 9be275cf40 Updates the routes to also redirect if there isn't any dashboard to view for the user 2017-08-10 17:49:21 +10:00
Shannon 72495b3eaf U4-10227 Users section should start in the user tree 2017-08-10 17:25:16 +10:00
Claus d7d6b7f128 Merge pull request #2116 from umbraco/temp-deploy-350
changes needed for blueprints to differentiate them from content items.
2017-08-10 08:37:26 +02:00
Shannon 62e467d860 Merge branch 'temp-U4-10272' into dev-v7.7 2017-08-10 14:27:47 +10:00
Shannon 021010d7ea Merge branch 'dev-v7.7' into temp-U4-10272
# Conflicts:
#	src/Umbraco.Web/HealthCheck/NotificationMethods/EmailNotificationMethod.cs
2017-08-10 14:27:37 +10:00
Shannon d756f884a7 fixes test 2017-08-10 12:02:23 +10:00
Shannon a97a5dc3fd Removes need for the IdkMap for content/media services since we have a wrapping repo now, adds tests to verify that caching is active for both INT and GUID 2017-08-10 10:52:31 +10:00
Shannon bdf621049f adds GetByIds for UDIs 2017-08-10 01:11:59 +10:00
Shannon 2c219576f6 update test 2017-08-10 01:08:29 +10:00
Shannon 8f121c4d93 update test 2017-08-10 01:01:34 +10:00
Shannon 558a284750 U4-10263 Missing UDI + GUID friendly MediaService.GetByIds, ContentService.GetByIds 2017-08-10 01:01:07 +10:00
Shannon 0bb27b8ebd U4-10263 Missing UDI + GUID friendly MediaService.GetByIds, ContentService.GetByIds 2017-08-10 00:22:15 +10:00
Shannon 3263e496aa U4-10201 Exception when deleting a user's start node - adds FKs, fixes delete scripts, adds migrations for FKs 2017-08-10 00:02:27 +10:00
Shannon 4a21675a0a removes null check on email since this will cause the log to fill up, we already check for null below anyways. 2017-08-09 23:42:31 +10:00
Claus 73bc5c6ec9 changes needed for blueprints to differentiate them from content items. 2017-08-09 15:29:12 +02:00
Shannon 98a545bdc6 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
2017-08-09 23:18:51 +10:00
Shannon c27e9e9c77 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-08-09 19:45:58 +10:00
Shannon Deminick cbf5e25e1f Merge pull request #2112 from umbraco/temp-U4-10271
U4-10271 Adds contextual err message for GetValue
2017-08-09 19:40:35 +10:00
Shannon Deminick 41e555881f Merge pull request #2100 from umbraco/temp-U4-10059
U4-10059 Localize users and user groups
2017-08-09 19:35:40 +10:00
Warren Buckley b60c700e05 Updated to return nulls as opposed to the ex being caught with a meaningful message 2017-08-09 10:23:55 +01:00
Stephan 1a40dd8d78 Build - remove Umbraco.MSBuild tasks 2017-08-09 11:19:11 +02:00
Mads Rasmussen 60ffd20e20 Merge branch 'dev-v7.7' into temp-U4-10059 2017-08-09 11:01:05 +02:00
Mads Rasmussen 2c2a9cc916 fixes: U4-10220 Missing the ability to create Content Templates (blueprints) from the blueprints tree directly when none exist 2017-08-09 10:47:41 +02:00
Stephan a851cef70f Improve EnsureUniqueNodeName perfs? 2017-08-08 18:54:15 +02:00
Jeavon fb4af74916 Fix so that health check notifications without config don't cause all notification methods to fail 2017-08-08 16:50:17 +01:00
Warren Buckley 8b962cff0c Catches a dictionary key not found exception & gives better error message with context 2017-08-08 16:07:16 +01:00
Mads Rasmussen 55a4214a5c fixes: U4-10233 Umbraco 7.7 beta - format user last login date 2017-08-08 13:05:46 +02:00
Mads Rasmussen fc8c750fb0 fixes permissions click area - only show pointer cursor where you can click 2017-08-08 10:22:44 +02:00
Shannon Deminick 4d7fa64a6c Merge pull request #2108 from umbraco/temp-U4-10257
U4-10257 Add "invite user" success state
2017-08-08 13:20:42 +10:00
Shannon bbe8271c35 Fixes invite user and setting the model correctly. Fixes server side validation to ensure any created user MUST have a group assigned. 2017-08-08 13:20:21 +10:00
Shannon 2d42a6ca16 Merge branch 'dev-v7.7' into temp-U4-10257
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/users/views/users/users.html
2017-08-08 13:02:57 +10:00
Shannon Deminick 4879215146 Merge pull request #2104 from umbraco/temp-U4-10236
fixes: U4-10236 Umbraco.7.7 beta - add larger click area of permissio…
2017-08-08 12:57:13 +10:00
Shannon Deminick 48a6929077 Merge pull request #2106 from umbraco/temp-U4-10235
fixes: U4-10235 Umbraco 7.7 beta - misleading placeholder text in pro…
2017-08-08 12:52:12 +10:00
Shannon Deminick efc52e26e5 Merge pull request #2105 from umbraco/temp-U4-10230
fixes: U4-10230 Umbraco 7.7 beta - hover on table row affect datepicker
2017-08-08 12:49:35 +10:00
Shannon 1258148e37 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Web.UI/umbraco/config/lang/pl.xml
2017-08-08 12:36:16 +10:00
Shannon 2c7f0c54bb Updates unit tests to show usages of UDIs for pickers instead of INT 2017-08-08 12:35:12 +10:00
Shannon 121b184941 U4-10244 Umbraco 7.7-beta - Migration fails when upgrading users 2017-08-08 11:01:45 +10:00
Mads Rasmussen 405d8e8253 fix line indention 2017-08-07 21:32:19 +02:00
Mads Rasmussen b335ca0a10 change input type to email 2017-08-07 21:19:30 +02:00
Mads Rasmussen 6658ecf6e3 add success state for "invite user" 2017-08-07 15:24:19 +02:00
leekelleher e5e174d334 Nested Content with ModelsBuilder disabled will throw a null-reference exception.
The fix is to check if the `Current` instance as a `Value`.
For more details, see ticket: http://issues.umbraco.org/issue/U4-10260
2017-08-07 14:06:03 +01:00
Mads Rasmussen cfee55d0db fix line indention 2017-08-07 14:35:54 +02:00
Mads Rasmussen 80d49f9bc8 fix line indention 2017-08-07 14:33:55 +02:00
Mads Rasmussen 6efc6dfe6a fixes: U4-10235 Umbraco 7.7 beta - misleading placeholder text in profile email 2017-08-07 13:45:42 +02:00
Mads Rasmussen 51624cee57 Merge pull request #2096 from skttl/patch-8
U4-10231 Avatar is slightly off center
2017-08-07 13:38:02 +02:00
Mads Rasmussen 701082a909 fixes: U4-10230 Umbraco 7.7 beta - hover on table row affect datepicker 2017-08-07 13:20:01 +02:00
Mads Rasmussen 81b2e4e050 fixes: U4-10236 Umbraco.7.7 beta - add larger click area of permission items 2017-08-07 12:27:21 +02:00
Mads Rasmussen be9fbf14f1 Merge pull request #2095 from skttl/patch-7
U4-10228: Overflowing text in group dropdown in permissions menu
2017-08-07 12:08:58 +02:00
Shannon f453ee2623 U4-10244 Umbraco 7.7-beta - Migration fails when upgrading users 2017-08-07 17:21:35 +10:00
Shannon e31ec37c9e Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-08-07 17:17:38 +10:00
Zsolt 5b00265394 Change content start node picker 2017-08-04 14:38:37 +02:00
Mads Rasmussen 3ba3d8977f don't show start node data in the content permission dialog 2017-08-04 11:23:36 +02:00
Mads Rasmussen 19af28dd93 localize content permissions dialog 2017-08-04 11:21:43 +02:00
Mads Rasmussen 91cda667a2 U4-10221 When creating content that has Content Templates (blueprints) created for it, we should distinguish between "Blank' and Blueprints - swap class to one with no padding 2017-08-03 14:56:11 +02:00
mikkelhm 1c59c0b164 Dont output the Healthcheck.Release.config file when publishing the webapp, i.e. for nu nuget package 2017-08-02 23:57:37 +02:00
Søren Kottal 9fc87a3986 Changes styling for avatar
A div has been introduced, and is aligning the avatar to the left of the 40x40 block.

This moves the sizing and border-radius to the surrounding div, and adds a margin to center it.
2017-08-02 20:31:35 +02:00
Søren Kottal 3a44f70cee Removes inline width on dropdown for groups 2017-08-02 19:55:05 +02:00
Stephan 74b9a43685 Blueprint fixes 2017-08-02 17:43:39 +02:00
Shannon 23e16a9182 Merge branch 'dev-v7.7' of https://github.com/umbraco/Umbraco-CMS into dev-v7.7 2017-08-03 01:27:38 +10:00
Shannon a3cf41284b fixes test 2017-08-03 01:27:13 +10:00
Stephan 2907b0dd1a Blueprint fixes 2017-08-02 17:14:45 +02:00
Sebastiaan Janssen c89f44bb3d Let's aim for only 1 beta ;) 2017-08-02 16:52:08 +02:00
Jeavon 3a13cd82ed Fix customerrorscheck success message as it expect only 1 token not 2 2017-08-02 15:35:53 +01:00
Stephan 90e6815164 Blueprint fixes 2017-08-02 16:11:54 +02:00
Shannon Deminick f59bd481f4 Merge pull request #1983 from umbraco/temp-U4-9984
U4-9984 - Adds option to run Health Checks on a schedule and provide options for notifications
2017-08-02 23:58:16 +10:00
Shannon d459246519 oops 2017-08-02 23:41:31 +10:00
Shannon efbfef74c2 localizes email, fixes issues with smtp and async 2017-08-02 23:39:31 +10:00
Stephan 1ee131db81 IContent.IsBlueprint required for blueprints 2017-08-02 15:02:34 +02:00
Shannon cb9e631d7b changes get/set to private set, should not be mutable 2017-08-02 22:38:55 +10:00
Shannon 9ced53c9a9 Merge branch 'temp-U4-9984' of https://github.com/umbraco/Umbraco-CMS into temp-U4-9984 2017-08-02 22:32:54 +10:00
Shannon df287f291e Updates health check config to work the Umbraco/Testable way 2017-08-02 22:32:28 +10:00
Jeavon fc861fecbc Make the setters in NotifcationMethodBase readonly and make AllChecksSuccessful public 2017-08-02 12:54:37 +01:00
Jeavon 6aeb1a8845 Adjust all HealthCheck constants to correct naming convention 2017-08-02 12:26:35 +01:00
Jeavon 8c493a1ff9 Adding interfaces for all HealthCheck configuration to allow for testing 2017-08-02 12:22:51 +01:00
Sebastiaan Janssen 9b7b0d8923 Merge pull request #2092 from umbraco/temp-machine-key-install
U4-10222 Install a custom machine key during umbraco installation
2017-08-02 12:32:12 +02:00
Jeavon 51f51c1762 Revert this csproj change, not sure when VS added it 2017-08-02 11:29:31 +01:00
Jeavon b6e377a560 Removing further NuGet packages that were added by the Slack package 2017-08-02 11:25:28 +01:00
Shannon Deminick 4534581b29 Merge pull request #2093 from umbraco/temp-U4-10119
fixes: U4-10119 ISearchableTree UI updates
2017-08-02 20:21:46 +10:00
Jeavon b915f723f5 Removing Slack Health Check notification 2017-08-02 11:20:00 +01:00
Mads Rasmussen 36768a19c1 fixes: U4-10119 ISearchableTree UI updates 2017-08-02 12:18:06 +02:00
Jeavon bf5a48c5f5 Merge branch 'dev-v7.7' into temp-U4-9984 2017-08-02 10:58:53 +01:00
Shannon 040aae2429 fixes upgrade script 2017-08-02 19:57:14 +10:00
Jeavon c7f6416a0b Fix the merge 2017-08-02 10:53:50 +01:00
Jeavon 8259024e20 Merge branch 'dev-v7.7' into temp-U4-9984
# Conflicts:
#	src/Umbraco.Web/HealthCheck/Checks/Security/HttpsCheck.cs
2017-08-02 10:48:43 +01:00
Shannon 31ea03a7cc adds notes 2017-08-02 17:06:57 +10:00
Shannon 150e2b12e8 adding back the functionality to install a machine key during installation 2017-08-02 16:16:59 +10:00
Shannon e29ac4d17c Fixes issue with the change made to WebSecurity.ValidateBackOfficeCredentials ... not sure what i was thinking 2017-08-02 16:04:37 +10:00
Shannon Deminick ae30245a9b Merge pull request #2089 from umbraco/temp-77-upgrade-sqlce
The try catch for getting a user when we are in Upgrading state also …
2017-08-02 15:31:36 +10:00
Shannon 595e26e41f U4-10221 When creating content that has Content Templates (blueprints) created for it, we should distinguish between "Blank' and Blueprints 2017-08-02 15:30:17 +10:00
Shannon dda19e292a U4-10217 Blueprints: When clicking "Create Blueprint", add explanation on what it is and what will happen 2017-08-02 13:28:50 +10:00
Shannon 08f07ff3b7 Moves blueprint localization copy into it's own section in the lang files 2017-08-02 12:58:31 +10:00
Shannon Deminick e9e8d0d4b1 Merge pull request #2090 from umbraco/temp-blueprint-rename
Implements U4-10219 and U4-10218
2017-08-02 12:30:12 +10:00
Shannon 9d3a1fe529 updates design so it works and some wording for blueprints intro 2017-08-02 12:26:33 +10:00
Shannon 4f396222dc Merge branch 'dev-v7.7' into temp-blueprint-rename 2017-08-02 12:13:04 +10:00
Shannon 68f5a141c5 ensure when the user upgrades that the admin and editor have blueprint permissions 2017-08-02 12:11:42 +10:00
Shannon Deminick 9c0ca85c41 Merge pull request #2091 from umbraco/temp-U4-10202
U4-10202 Make it more obvious when no content or media start nodes ar…
2017-08-02 12:10:09 +10:00
Shannon 5cd314335c formatting 2017-08-02 11:56:11 +10:00
Shannon 241d486e97 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Web/Security/Identity/FormsAuthenticationSecureDataFormat.cs
2017-08-02 11:55:15 +10:00
Mads Rasmussen b0f1b19385 allow current user to see but not edit its access rights 2017-08-01 20:06:19 +02:00
Mads Rasmussen b6de92167b remove "lorem ipsum" + fix title on node permissions overlay 2017-08-01 19:40:11 +02:00
Niels Hartvig 7e49cc0f25 Implements U4-10219 and U4-10218 2017-08-01 16:19:32 +02:00
Mads Rasmussen 1c5bcbc5bb U4-10202 Make it more obvious when no content or media start nodes are selected the user has access to the root node. 2017-08-01 16:18:57 +02:00
Stephan 5fab5102d9 Fix UmbracoObjectTypes enum bkwd compatibility issue 2017-08-01 15:51:23 +02:00
mikkelhm 6655be5f5e Updates the trees.config.install.xdt to update the tree.config with the new User section 2017-08-01 14:24:04 +02:00
Mads Rasmussen 60cd82884f add localizationService as dependency to userGroupPicker controller 2017-08-01 14:13:02 +02:00
mikkelhm eb93c0de11 Removes c#6 exception filter syntax 2017-08-01 12:33:57 +02:00
mikkelhm 8cb29182f4 The try catch for getting a user when we are in Upgrading state also needs to work for SqlCe 2017-08-01 12:19:26 +02:00
Mads Rasmussen 0786d0849c fix js errors in user controller after merge 2017-08-01 10:34:19 +02:00
mikkelhm 005bee7650 Updates web.config.install.xdt to have the latest assemblyBindings for the Katana libs(Owin), v 3.1.0.0 2017-08-01 10:29:22 +02:00
mikkelhm 39ce2067ef Removes references to deleted uninstall files, uninstall.core.ps1, uninstall.ps1 and web.config.uninstall.xdt 2017-08-01 10:22:17 +02:00
Shannon 98c1f9820f Updates partial view snippets to not re-iterate all of the time and to remove any non-required iterations, adds required namespace imports 2017-08-01 17:47:33 +10:00
Shannon 59db5b0081 Obsoletes more dynamic published content extension methods and models 2017-08-01 17:04:16 +10:00
Shannon 44b90e2ce6 removes old template editor webforms files 2017-08-01 17:03:33 +10:00
Shannon 6829660720 removes old scripting templates 2017-08-01 17:02:45 +10:00
Shannon 67a69d2e11 bumps version, fixes install with setting built in group start nodes 2017-08-01 16:21:11 +10:00
Shannon 80364fc4d2 Fixes last unit test ( i think ) 2017-08-01 12:58:18 +10:00
Shannon Deminick e02c6591d9 Merge pull request #2080 from umbraco/temp-U4-10202
fixes: U4-10202 Make it more obvious when no content or media start n…
2017-08-01 12:42:26 +10:00
Shannon 2e6fb8e3e5 Fixes merge issues, ensures "Content root" and "Media root" are localized 2017-08-01 12:41:22 +10:00
Shannon cee3f456d1 Merge branch 'dev-v7.7' into temp-U4-10202
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/components/users/umb-user-group-preview.html
#	src/Umbraco.Web.UI.Client/src/views/users/user.controller.js
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
2017-08-01 12:40:47 +10:00
Shannon Deminick 46bb0cca2d Merge pull request #2084 from umbraco/temp-U4-10059
U4-10059 Localize users and user groups
2017-08-01 12:09:32 +10:00
Shannon 2beba8067e updates the wording of a few items and updates the en.xml lang file too 2017-08-01 12:02:35 +10:00
Shannon 175da06d60 Merge branch 'dev-v7.7' into temp-U4-10059
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/users/group.html
#	src/Umbraco.Web.UI.Client/src/views/users/user.html
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
2017-08-01 11:31:52 +10:00
Shannon 7769a0ba42 Updates logic to show if the user or group has not start nodes defined (which does not anymore indicate root access) 2017-08-01 11:19:31 +10:00
Shannon fd65380367 Merge branch 'dev-v7.7' into temp-U4-10202
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/users/user.html
2017-08-01 10:35:37 +10:00
Shannon Deminick 9880e9b6a5 Merge pull request #2086 from umbraco/temp-U4-10212
fixes: U4-10212 Clean up test css classes
2017-08-01 10:32:53 +10:00
Shannon Deminick 134033bc3d Merge pull request #2085 from umbraco/temp-U4-10210
fixes: U4-10210 Add title and filter to user groups overview
2017-08-01 10:31:05 +10:00
Shannon Deminick 8bf3835212 Merge pull request #2070 from umbraco/temp-U4-10155
fixes: U4-10155 Prompt the user before deleting user groups in the us…
2017-08-01 10:16:02 +10:00
Shannon 6782e71841 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-08-01 09:41:21 +10:00
Shannon Deminick 7b449b4bad Merge pull request #2079 from umbraco/temp-U4-10095
U4-10095 Need to be able to remove a user's avatar
2017-08-01 09:40:47 +10:00
Mads Rasmussen c539db39ec fixes: U4-10212 Clean up test css classes 2017-07-31 14:58:17 +02:00
Mads Rasmussen 2cc881883b fixes: U4-10210 Add title and filter to user groups overview 2017-07-31 13:20:33 +02:00
Shannon bcf4a84725 fixes more tests, gotta be close now 2017-07-31 19:47:02 +10:00
Mads Rasmussen 164f1e253e only show "remove photo" button if the user has an avatar 2017-07-31 11:39:59 +02:00
Stephan 9029d8dbd9 PropertyValueConverter - cleanup WIP 2017-07-31 11:27:29 +02:00
Mads Rasmussen 5c0af42d00 add descriptions to permissions 2017-07-31 11:24:11 +02:00
Mads Rasmussen 38ae9d6d52 update lorem ipsum texts 2017-07-31 10:52:45 +02:00
Shannon b8971f0dd1 decouple user repo from the membershi providers, lets see what happens with unit tests on the server 2017-07-31 18:15:30 +10:00
Mads Rasmussen 939d429b8b localise user group picker and user group controller 2017-07-31 09:23:20 +02:00
Shannon d103151159 fixing tests 2017-07-31 17:11:12 +10:00
Shannon 796708075c Fixes JS errors when loading in a textbox editor when there is no config supplied (i.e. rendering a Forms Macro in the RTE) 2017-07-31 16:23:44 +10:00
Shannon cfd473bfe5 Fixing tests 2017-07-31 16:18:55 +10:00
Shannon b20e3c7435 ensure the user cannot access the media list dashboard if they don't have root access 2017-07-31 16:03:31 +10:00
Shannon 6de2cea9c5 U4-10023 - rte link picker disable media uploading if no start node access 2017-07-31 15:53:21 +10:00
Shannon 9db9112407 U4-10023 - rte media picker disable uploading if no start node access 2017-07-31 15:49:44 +10:00
Shannon cc8adae593 Updates ISearchableTree implementation so that a new instance is created per request 2017-07-31 15:07:09 +10:00
Nik 7367c8ef67 Re-do min max number of items in the grid after rebasing 2017-07-30 02:09:38 +01:00
Stephan 19d55c8df0 U4-2676 - fix 2017-07-28 14:49:11 +02:00
Mads Rasmussen 7707bfe700 more localisation of users and user groups 2017-07-28 14:12:35 +02:00
Mads Rasmussen 47290cd801 init localise on users and groups 2017-07-28 13:25:29 +02:00
Stephan b10d370b16 Merge branch dev-v7.7 into user-group-permissions 2017-07-28 12:54:13 +02:00
Stephan 71a640de74 Merge pull request #2063 from umbraco/temp-isearchabletree
U4-2676 implement ISearchableTree to abstract search for each tree into it's own logic
2017-07-28 12:48:22 +02:00
Stephan 9c27a6c69a Merge branch 'dev-v7.7' into temp-isearchabletree 2017-07-28 12:33:13 +02:00
Stephan adac29c655 Merge pull request #2059 from umbraco/temp-U4-8643
U4-8643 Usermanagement - Store password algorithm in Usertable
2017-07-28 12:26:41 +02:00
Stephan e52adfdd07 Merge branch user-group-permissions into temp-U4-8643 2017-07-28 10:38:43 +02:00
Mads Rasmussen 43bb9ab69b set default title on user picker overlay and section picker overlay 2017-07-28 10:37:30 +02:00
Stephan 239a7632b0 Merge pull request #2057 from umbraco/temp-U4-10138
U4-10138 Cannot upgrade to 7.7 due to user groups
2017-07-28 09:55:41 +02:00
Shannon Deminick 04a7e2e04e Merge pull request #2078 from umbraco/temp-U4-10107
fixes: U4-10107 Weird UI bugs with filter dropdowns
2017-07-28 16:43:21 +10:00
Shannon 27d7bc2ae1 Adds ability to remove gravatar 2017-07-28 16:02:46 +10:00
Shannon 5ba07d56e7 Fixes model mapping for calculated start nodes and how that data gets into the user ticket. 2017-07-28 14:27:32 +10:00
Shannon 0ffd02fc61 Merge branch 'temp-U4-10175' into temp-U4-10138 2017-07-28 14:02:16 +10:00
Shannon 2eabcef69b Revert "Fix back-office identity"
This reverts commit 2d5f56cbff.

# Conflicts:
#	src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
2017-07-28 14:01:45 +10:00
Shannon 960cc32da1 Ensures the user validator doesn't execute unless the username or email addres is changed (since that is all the validator validates) 2017-07-28 12:20:10 +10:00
Mads Rasmussen ef20deb9cb fixes: U4-10202 Make it more obvious when no content or media start nodes are selected the user has access to the root node. 2017-07-27 14:55:23 +02:00
Stephan fdf206038a Merge branch user-group-permissions into temp-U4-10138 2017-07-27 13:37:49 +02:00
Stephan 6faadce477 U4-10175 - fix 2017-07-27 12:46:02 +02:00
Stephan 2d5f56cbff Fix back-office identity 2017-07-27 12:37:21 +02:00
Stephan 4569a52806 U4-10175 - fix 'edit user' link 2017-07-27 12:37:09 +02:00
Stephan a0fe56ee7c Rename UmbracoExamine to Umbraco.Examine 2017-07-27 12:01:38 +02:00
Stephan 42a046b80c Cleanup AssemblyInfo 2017-07-27 11:18:41 +02:00
Stephan 4bfea6044a PropertyValueConverter - more WIP 2017-07-27 11:09:55 +02:00
Mads Rasmussen ca2896aaaa Didn't want to remove that 2017-07-27 11:03:03 +02:00
Mads Rasmussen 0b77e604f6 add button to remove avatar 2017-07-27 10:55:38 +02:00
Stephan 76569d58fe Cleanup DotSettings 2017-07-26 19:26:55 +02:00
Mads Rasmussen f50153728d manually show/hide filters 2017-07-26 15:21:30 +02:00
Stephan 52a46a2fe0 Merge branch 'user-group-permissions' into temp-U4-10175 2017-07-26 15:18:37 +02:00
Stephan da9fd1a9e8 Merge pull request #2061 from umbraco/temp-U4-10084
U4-10084 Cleanup all unused/legacy webforms editors, tinymce files and affiliated services
2017-07-26 14:49:05 +02:00
Mads Rasmussen 1692000117 umb-keyboard-list polish 2017-07-26 14:12:55 +02:00
Stephan 9972f95a10 Merge branch user-group-permissions into temp-U4-10084 2017-07-26 13:22:43 +02:00
Mads Rasmussen 964a8b400f close umb-dropdown on esc press 2017-07-26 12:16:54 +02:00
Stephan 0762bd7e76 U4-10023 - also in grid media picker 2017-07-26 11:31:19 +02:00
Stephan 15c5900a24 U4-10023 - virtual root start node in mediapicker 2017-07-26 10:44:42 +02:00
Mads Rasmussen 1ec63c3f85 add documentation to umbDropdown, umbDropdownItem and umbKeyboardList 2017-07-26 10:36:02 +02:00
Shannon fad090658f Fixes more tests 2017-07-26 18:33:09 +10:00
Shannon 61c3816bb9 Fixes a bunch of tests 2017-07-26 18:26:25 +10:00
Shannon b8e2e49a44 Updates to latest Katana libs 2017-07-26 17:50:58 +10:00
Shannon 6d9190bdb3 ensures all built in groups have -1 as start nodes for media, fixes automapper tests 2017-07-26 17:24:26 +10:00
Shannon 72998e1a6e Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-07-26 17:18:28 +10:00
Shannon ff87d8b414 Make sure the migration explicitly specifies that -1 is that start node for all built in groups 2017-07-26 17:18:05 +10:00
Stephan a8c29644d4 U4-10023 - multiple start nodes 2017-07-26 08:35:08 +02:00
Stephan bb9ec82060 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-07-25 18:39:47 +02:00
Stephan db9eccc220 Cleanup versions 2017-07-25 18:06:28 +02:00
Mads Rasmussen 6e055f0d03 allow outside click to run when you click links and buttons 2017-07-25 15:59:28 +02:00
Mads Rasmussen 9b1f2352bd update view to use the new dropdown component and the list navigation directive 2017-07-25 15:58:14 +02:00
Mads Rasmussen abbee60c9c add directive to navigate a list with arrow up and down 2017-07-25 15:56:51 +02:00
Mads Rasmussen 97ec0ecd08 add umb-dropdown component 2017-07-25 15:48:04 +02:00
Stephan af25d5b0d1 Version 8.0.0-alpha0024 2017-07-25 15:27:18 +02:00
Stephan 83f84f05b9 PropertyValueConverter - refactoring WIP 2017-07-25 13:57:42 +02:00
Stephan 0e832d195a Benchmark dynamic ctors 2017-07-25 13:57:38 +02:00
Shannon d232aa1f00 U4-10175 User avatar should refresh in top left corner when it's changed 2017-07-25 20:51:58 +10:00
Shannon Deminick 56b1e0902e Merge pull request #2068 from umbraco/temp-U4-10109
fixes: U4-10109 Need to indicate that granular permission entries can…
2017-07-25 18:54:25 +10:00
Shannon 17d17cfb82 Puts back in some old APIs that were removed to maintain some backwards compat with < 7.7 for users 2017-07-25 18:39:23 +10:00
Shannon fa89bef11a Merge branch 'dev-v7.7' into user-group-permissions 2017-07-25 15:16:37 +10:00
Shannon 39e4bf4579 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Web/PublishedContentExtensions.cs
2017-07-25 15:15:56 +10:00
Mads Rasmussen 5ade95d797 fixes: U4-10155 Prompt the user before deleting user groups in the user group list 2017-07-24 15:22:22 +02:00
Mads Rasmussen f043a2e4ee fixes: U4-10109 Need to indicate that granular permission entries can be edited 2017-07-24 14:18:36 +02:00
Xiaohao112 ed480e1e6e Created a link to composition doctype
Related to this issue; http://issues.umbraco.org/issue/U4-10192. Made a link to a composition from the current doctype.
2017-07-24 14:12:59 +02:00
Stephan c31cbf6b6d PropertySet - rename and refactor 2017-07-24 12:39:35 +02:00
Stephan 5d1c0d916c Build - remove Umbraco MSBuild tasks 2017-07-24 12:39:26 +02:00
Asbjørn Riis-Knudsen 841074fc27 U4-10191: Update to TinyMCE 4.6.x 2017-07-24 09:31:47 +02:00
Stephan 7dce104afb Build - fixes from v7 2017-07-21 10:08:06 +02:00
Stephan fedd9e2897 Fix User deep-cloning 2017-07-20 16:52:13 +02:00
Shannon c456c0a396 Changes the result of SearchableTreeResolver to be readonly 2017-07-20 23:02:58 +10:00
Shannon 525254efd4 Merge branch 'dev-v7.7' into temp-isearchabletree
# Conflicts:
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web/Trees/ContentTreeController.cs
2017-07-20 22:21:59 +10:00
Shannon a92288cd61 Fixes implementation of the role store on the BackOfficeUserStore 2017-07-20 22:12:13 +10:00
Shannon 97471f667d Updates the BackOfficeIdentityUser to property support ASP.NET Identity Roles 2017-07-20 22:02:32 +10:00
Shannon 7aca656919 Merge branch 'user-group-permissions' into temp-U4-10138
# Conflicts:
#	src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
#	src/Umbraco.Core/Models/Identity/IdentityModelMappings.cs
2017-07-20 20:00:05 +10:00
Shannon c309e5edaf Removes even more 2017-07-20 19:23:46 +10:00
Stephan c76403077f Normalize cr/lf/tab 2017-07-20 11:21:28 +02:00
Shannon e76ad837b9 Fixes script and partial views trees 2017-07-20 19:16:28 +10:00
Shannon 0b6ed42201 Removes a bunch more files 2017-07-20 19:15:45 +10:00
Shannon a875ede3da Removes a ton of old unused legacy files 2017-07-20 18:55:38 +10:00
Shannon 69fc7c4b7c reverts removing cook computing dll and ensures we still ship with it, removes publish.aspx 2017-07-20 16:44:28 +10:00
Shannon e9e2a86e2e U4-5546 Remove user 'channels', weblog api, and all code / db tables relevant to those 2017-07-20 15:47:26 +10:00
Shannon 540c338967 ensure the password config values are saved when the user is created/updated 2017-07-20 14:09:51 +10:00
Shannon b58799eb3d Gets everything implemented and it all works - still uses the old hashing mechanism but everything is ready to be plugged in to support any new types of hashing. 2017-07-20 13:58:42 +10:00
Shannon 85e5b023b7 Gets UserAwareMembershipProviderPasswordHasher there, updates defaults for MembershipProvider, updates default web.config so the new hashing can be used 2017-07-20 13:44:37 +10:00
Shannon 63befa55d5 Updates password changing for users to use ASP.NET Identity, there's still some more work here to do to implement the IUserAwarePasswordHashing and to result some of the TODOs. Also moved all password changing logic to PasswordChanger even for legacy membership providers. 2017-07-20 12:53:09 +10:00
Stephan fa6c147a65 NuCache+Scope - caches 2017-07-19 19:59:46 +02:00
Stephan 964f3bae60 Optimize start nodes calc 2017-07-19 19:26:25 +02:00
Stephan 2a9072609d Update AutoMapper to v6 2017-07-19 18:23:23 +02:00
Stephan 6098ba42a2 Update common dependencies 2017-07-19 18:23:14 +02:00
Stephan 1ff0338d35 NuCache+Scope - tests 2017-07-19 13:33:26 +02:00
Shannon 5c75285543 U4-8643 Usermanagement - Store password algorithm in Usertable 2017-07-19 20:05:47 +10:00
Shannon ee3f977565 Fixes issue that when we re-update the user ticket we also need to refresh the CSRF tokens 2017-07-19 19:42:12 +10:00
Shannon 8f984c8dc8 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions
# Conflicts:
#	src/Umbraco.Web/Models/Mapping/UserModelMapper.cs
2017-07-19 19:26:26 +10:00
Shannon 8df00d5525 Fixes U4-10111 Changing email on a user doesn't show the username field 2017-07-19 19:22:43 +10:00
Shannon Deminick 05d9eca904 Merge pull request #2056 from umbraco/temp-u4-10173
u4-10173
2017-07-19 19:11:12 +10:00
Stephan 2851216b88 U4-10173 - fix 2017-07-19 10:49:10 +02:00
Stephan 92dc70fc0c Merge branch temp-u4-10173 2017-07-19 10:47:05 +02:00
Shannon 38cd3dcf94 Removes the AllStartNodeIds properties from IUser, updates all unit tests to work with the new methods, ensures the calculation is cached to the user object 2017-07-19 16:15:16 +10:00
Shannon ba46430ad1 Adds notes for ActiveDirectoryBackOfficeUserPasswordChecker and throws an exception since it doesn't support auto-linking yet 2017-07-19 14:24:57 +10:00
Shannon db957c8eaa removes unused method 2017-07-19 14:15:30 +10:00
Shannon b32325bbaa Adds all change tracking to the BackOfficeIdentityUser ensures values are not persisted that are not changed, adds required null checks, removes internal method GetOrCreateBackOfficeUser 2017-07-19 14:13:42 +10:00
Stephan d24ea3c95b NuCache+Scope - tests 2017-07-18 19:57:45 +02:00
Stephan c8052def7a NuCache+Scope add scope lock to ContentStore 2017-07-18 19:57:45 +02:00
Stephan 6d02ad3ce8 Build - fixes from v7 2017-07-18 19:57:45 +02:00
Stephan ea72b0a7b6 NuCache+Scope - more SnapDictionary scoping 2017-07-18 19:57:44 +02:00
Stephan b0303ca753 NuCache+Scope - add scope lock to SnapDictionary 2017-07-18 19:57:44 +02:00
Stephan ab42f8d6e0 NuCache - code cleanup 2017-07-18 19:57:44 +02:00
Stephan f668c25346 Cleanup 2017-07-18 19:57:44 +02:00
Stephan 291b4364c3 Scope/UnitOfWork db context and locking 2017-07-18 19:57:43 +02:00
Stephan f28136de91 U4-10173 - fix 2017-07-18 15:54:22 +02:00
Stephan 8c3f6dfc25 U4-10173 - refactor start nodes 2017-07-18 15:09:34 +02:00
Shannon 73b107ee2a Fixing U4-10138 Cannot upgrade to 7.7 due to user groups and U4-7907 With non OAuth external login providers we should have an 'auto-link' / 'auto-create' callback option 2017-07-18 19:53:34 +10:00
Stephan 945050858e Cleanup 2017-07-18 09:11:12 +02:00
Shannon 32dc9bd275 wires up the skip button 2017-07-18 14:48:19 +10:00
Shannon f87245f73d Fixes UI for U4-9914 UserController method to upload an avatar and set password when receiving invite 2017-07-18 14:45:09 +10:00
Shannon 0008afb455 Merge branch 'dev-v7.7' into user-group-permissions
# Conflicts:
#	src/Umbraco.Core/Umbraco.Core.csproj
#	src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
2017-07-18 13:31:04 +10:00
Shannon 6f74fcf24a Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	build/UmbracoVersion.txt
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web/Umbraco.Web.csproj
2017-07-18 13:27:03 +10:00
Shannon a0d3c18acc Fixes build script to work with VS 2017 (only) and fixes BuildBelle since it didn't work and is missing tools 2017-07-18 13:10:17 +10:00
Shannon Deminick bd848b00ff Merge pull request #2046 from umbraco/temp-U4-10075
U4-10075 Inherited permissions for content nodes
2017-07-18 11:56:08 +10:00
Bjarne Fyrstenborg bfb5dd91cc Adjust icon and heading to fix issue with icon position in IE 2017-07-18 01:17:47 +02:00
Stephan 3ac64f18d2 Bugfix UserModelMapper 2017-07-17 15:08:45 +02:00
Shannon 193682cd4c Ability to select the root node for the users start node 2017-07-17 20:09:00 +10:00
Shannon d99f7b6ff6 Ability to select the root node for the users start node 2017-07-17 19:51:51 +10:00
Shannon d1d74203ea Ability to select root node in user group picker so the user group can explicitly allow root access or not. 2017-07-17 19:40:45 +10:00
Shannon e135291980 Fixes issue with user group start nodes, they are allowed to have null and by default this will be the case but we couldn't remove them and the ROOT node wasn't being mapped. 2017-07-17 18:23:20 +10:00
Stephan 04daaef7b7 Merge branch 'user-group-permissions' into temp-U4-10075 2017-07-14 20:15:51 +02:00
Stephan 29aaa26022 U4-10023 - fix media picker for multiple start nodes 2017-07-14 20:13:57 +02:00
Shannon Deminick 3f6ec6e36f Merge pull request #2045 from umbraco/temp-U4-10106
U4-10106 Cannot delete user groups
2017-07-14 10:53:27 +10:00
Shannon 8347d8f23b Merge remote-tracking branch 'origin/user-group-permissions' into temp-U4-10106
# Conflicts:
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
2017-07-14 10:53:07 +10:00
Shannon db863a4592 update sln to stop building the damn UI project 2017-07-14 10:49:10 +10:00
Shannon ca104347b3 Merge branch 'user-group-permissions' into temp-U4-10106 2017-07-14 10:43:45 +10:00
Shannon 9fbf1aedac adds both post and delete verbs 2017-07-14 10:43:12 +10:00
Shannon Deminick dfbd064de6 Merge pull request #2044 from umbraco/temp-U4-10096
U4-10096 Ability to bulk assign users to groups in the user list
2017-07-14 10:35:49 +10:00
Stephan 2bff1bfbb6 U4-10121 - properly dispose context 2017-07-13 14:20:29 +02:00
Stephan ab1dade468 U4-10121 - properly dispose context 2017-07-13 13:11:46 +02:00
Shannon 1643eec62c Fixes cache refreshing for user groups since user cache need to be cleared for that too. Updates cache refreshers to use json.net for serializing which is way faster. adds better support for querying multiple user groups and entity ids for permissions, updates tests 2017-07-13 18:47:10 +10:00
Claus 6a48c1646d checking for uses of userType. 2017-07-13 09:26:48 +02:00
Shannon 6e89202002 Fixes usages of IUserService.GetPermission since before it was doing a FirstOrDefault() since that's just how the old APIs worked, now we need to get all permissions based on groups. Also updated the usages of ToString for char for the permissions to be culture invariant everywhere. 2017-07-13 14:32:43 +10:00
Shannon 69a6a80ffd Updates logic and test for getting all node permissions for a user that have explicit permissions defined 2017-07-13 14:16:13 +10:00
Shannon c472463f37 Removes all user permissions cache refreshing and events and obsoletes assocated clsses 2017-07-13 11:02:34 +10:00
Shannon 76f9e2c22a Updates user permissions lookup to do one query instead of one query per user group 2017-07-13 10:43:42 +10:00
Shannon df18cdc7f7 Merge remote-tracking branch 'origin/user-group-permissions' into temp-U4-10075 2017-07-13 01:58:18 +10:00
Shannon 87dcdc596e Gets last unit tests written for returning all permissions for either user or group when not specifying Ids 2017-07-13 01:56:22 +10:00
Shannon 044120ffd2 Gets inherited permissions working, adds lots of unit tests, few more tests to write now. 2017-07-13 00:07:51 +10:00
Claus 0acb0d48a1 Merge pull request #1858 from Jeavon/RelatedLinks-Tweaks
Tweaks to RelatedLinks
2017-07-12 15:26:53 +02:00
Claus c8828b968c found an extension method :) 2017-07-12 13:56:18 +02:00
Claus 2e28ff3ccf U4-10106 Cannot delete user groups 2017-07-12 13:43:00 +02:00
Stephan f18b7110c9 Minor fix in DataTypeValidateAttribute 2017-07-12 12:26:51 +02:00
Claus 44bb7e84db U4-10142 Adding a user - does not show up until refresh 2017-07-12 11:52:08 +02:00
Claus 06f68b1417 U4-10096 Ability to bulk assign users to groups in the user list 2017-07-12 11:31:34 +02:00
Shannon 7115d85440 Removes unused and unneeded APIs on IUserService, updates code comments to describe implicit vs explicit permissions 2017-07-12 14:06:30 +10:00
Shannon d9937fb276 Stop trying to build the UI.Client project as part of the sln build 2017-07-12 14:01:36 +10:00
Stephan 5897881ca8 CacheRefresherBase.This not .Instance 2017-07-11 19:21:13 +02:00
Stephan 41cc622260 Current.DistributedCache 2017-07-11 19:13:45 +02:00
Stephan 9619066a50 Persistence - cleanup 2017-07-11 16:29:44 +02:00
Claus 7f98f99eaa Merge pull request #2039 from umbraco/temp-u4-10121
U4-10121 - Scheduled Publishing as background task
2017-07-11 11:37:46 +02:00
Shannon 53bce239c3 Gets implicit/inherited permissions 'working', well at least with one test, now need to test the rest. 2017-07-11 19:19:38 +10:00
Shannon 50a896a6cc Doesn't send async if not using a network based SMTP server 2017-07-11 15:06:18 +10:00
Shannon 3c31e33000 Fixes U4-10133 Investigate issues with SMTP Invite and async 2017-07-11 14:46:51 +10:00
Shannon 9462f8ad85 Fixes password reset when there is invalid other password properties 2017-07-11 13:57:33 +10:00
Shannon cb4e1d324d Removes the NoCredentials enum (we don't use it or need it) 2017-07-11 12:18:12 +10:00
Stephan 13d26eb435 Merge branch dev-v7.7 into user-group-permissions 2017-07-10 17:48:51 +02:00
Stephan 5fe38d6aaf Build - Verify NuGet 2017-07-10 17:42:44 +02:00
Claus 6a06a9e400 small tweak to skip a check if not needed. 2017-07-10 15:27:15 +02:00
Claus 1149129c6f U4-10104 Dashboards are not showing up in backoffice 2017-07-10 15:21:24 +02:00
Claus ad886efa62 cleanup and lineendings. 2017-07-10 15:20:17 +02:00
Stephan 79df75c415 U4-10121 - Scheduled Publishing as background task 2017-07-10 13:39:40 +02:00
Claus c0a6c58a07 U4-10134 Disabled doesn't override Invited 2017-07-10 13:38:39 +02:00
Claus deaece7cfc more clauses. 2017-07-10 13:37:57 +02:00
Claus a3bb11e4b0 I got a feeling you did this on purpose :P 2017-07-10 13:05:33 +02:00
Stephan 5c136483cc Fix NuSpec consistency 2017-07-10 12:30:53 +02:00
Claus f2b52585e1 U4-10111 Changing email on a user doesn't show the username field 2017-07-10 12:22:35 +02:00
Claus 8b308fa1ea hide the count until the property is set. 2017-07-10 12:22:12 +02:00
Stephan 35c979e33e Build - fix build.ps1, build docs 2017-07-09 18:46:10 +02:00
Stephan 59f4fd9713 Build - import build.ps1 2017-07-07 16:42:27 +02:00
Sebastiaan Janssen e9072aa6c9 Merge pull request #2031 from umbraco/temp-U4-10117
Adds a missing index to the cmsDictionary.key column with migrations since the column size needs to be reduced.
2017-07-06 15:31:05 +02:00
Claus 779306d90f typos. 2017-07-06 15:08:01 +02:00
Claus 7540f49a5e fixing a bunch of mismatching mappings.
aligning property names with what they actually are.
2017-07-06 14:41:05 +02:00
Claus 2e29d112e5 reformatting. 2017-07-06 13:14:24 +02:00
Claus fe451154d1 fixing some markup errors 2017-07-06 13:14:17 +02:00
Claus 271056f997 mapping media start nodes instead of mapping content twice. 2017-07-06 12:48:47 +02:00
Shannon 9b0f2145d0 Fixes user state filtering to do an OR 2017-07-06 19:51:59 +10:00
Shannon f355b27d1f Merge branch 'dev-v7.7' into user-group-permissions 2017-07-06 12:56:17 +10:00
Shannon 8e861eab43 Adds a missing index to the cmsDictionary.key column with migrations since the column size needs to be reduced. 2017-07-06 12:45:58 +10:00
Shannon 7e9afe7720 bumps version 2017-07-06 12:31:26 +10:00
Shannon a050a73c31 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-07-06 12:28:51 +10:00
Shannon 403a210c1c Fixes issue with assigning default permissions for a new user group 2017-07-05 19:25:48 +10:00
Shannon 03c7429653 FIxes SQL statement when upgrading with SQLCE and fixes GetAll when passing in an array of ints to ensure that we check if the int array is empty or not 2017-07-05 18:23:51 +10:00
Shannon bba7b15125 Fixes installer angular module loading - this would have never worked without errors, not sure how we've missed this. 2017-07-05 18:22:45 +10:00
Shannon 1d9e33dadf Granular permissions in group editor are all working, we could do with an edit button but for now it's ok, selecting the same node will perform an 'edit' 2017-07-04 15:40:33 +10:00
Shannon 316ec5d20f gets granular permissions showing correctly in group editor 2017-07-04 15:07:11 +10:00
Shannon 82bd11e66d Gets filtering on user state working 2017-07-03 19:27:48 +10:00
Shannon 94b0cb04da fix tests 2017-07-03 17:58:04 +10:00
Shannon ff02b28d26 Fixes tree for single tree sections, fixes creating a user group so you can select default permissions 2017-07-03 16:31:47 +10:00
Shannon 247ca906aa Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-07-03 15:10:10 +10:00
Stephan 32d4d36847 Upgrade more dependencies 2017-06-30 21:39:26 +02:00
Stephan 534e11ae1e Upgrade ModelsBuilder 2017-06-30 21:29:30 +02:00
Mads Rasmussen bcffc37287 revert this for now 2017-06-30 21:29:24 +02:00
Stephan cf011a8366 Fix NuSpec 2017-06-30 21:29:14 +02:00
Mads Rasmussen 8d2a9d1d81 fixes: U4-10060 Make UI for user groups overview 2017-06-30 13:33:59 +02:00
Mads Rasmussen 2aaf104856 change text on cancel button to close 2017-06-30 10:51:23 +02:00
Shannon 224d1bcf6e U4-10053 Review anywhere else in the codebase that may reference User Type
and removes all old editors, trees, etc...
2017-06-30 18:38:02 +10:00
Mads Rasmussen 6ebacf118e fix grunt build 2017-06-30 10:36:55 +02:00
Shannon e4edd8f692 U4-10053 Review anywhere else in the codebase that may reference User Type
This also removes some totally unused and ancient code
2017-06-30 18:14:44 +10:00
Shannon 8fe904cea7 changing spaces back to 4, finally in sync with mads 2017-06-30 17:24:48 +10:00
Shannon 3a17002ec4 fixes build after merge 2017-06-30 17:21:40 +10:00
Shannon 804c60653e Merge branch 'dev-v7.7' into user-group-permissions
# Conflicts:
#	src/Umbraco.Core/Services/UserService.cs
#	src/Umbraco.Tests/Services/ContentServiceTests.cs
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI/umbraco/config/lang/nl.xml
2017-06-30 16:57:22 +10:00
Shannon 29c6d547db Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7 2017-06-30 16:55:04 +10:00
Shannon 546999e470 U4-9946 Update the ExternalSignInAutoLinkOptions to support groups - currently still using UserType 2017-06-30 16:50:44 +10:00
Shannon 0da75f4e78 Updates content permissions dialog to show the explicit permissions assigned and removing them will reset them. 2017-06-30 16:32:01 +10:00
Shannon e69957e580 Merge remote-tracking branch 'origin/user-group-permissions' into user-group-permissions 2017-06-30 14:45:07 +10:00
Shannon a072d4edb3 adds security to changing premissions in the content dialog 2017-06-30 14:42:08 +10:00
Stephan 410f3a32cc Fix build 2017-06-29 20:24:20 +02:00
Stephan 1cc6c91c52 Build Compat7 2017-06-29 19:31:26 +02:00
Stephan b120bb929a Fix dependencies 2017-06-29 19:23:14 +02:00
Stephan f6f00a2cda Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8 2017-06-29 17:26:38 +02:00
Stephan 10a7e4b5cf Fix tests 2017-06-29 17:22:28 +02:00
Mads Rasmussen 968f93f769 stop toggles from closing the dialogs 2017-06-29 15:28:38 +02:00
Mads Rasmussen 0c6c3f6d51 add notifications to content permissions dialog 2017-06-29 15:12:12 +02:00
Claus f8274e4e99 Merge pull request #1439 from Mantus667/U4-7542
U4 7542
2017-06-29 14:28:04 +02:00
Mads Rasmussen a082b72f50 set change password button size to the same as the other buttons 2017-06-29 12:30:50 +02:00
Mads Rasmussen 69791a3616 use userGroups resource in userGroups picker 2017-06-29 12:25:28 +02:00
Shannon 72bdc0f070 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-29 19:15:22 +10:00
Shannon 4f28cb1917 Gets content permissions saving per user group 2017-06-29 19:15:04 +10:00
Claus 6cb104cd4f Merge pull request #2023 from umbraco/drbldgtl-dev-v7-U4-5804
U4-5804 Remove all the old images that are no longer used in the umbraco and umbraco_client folders
2017-06-29 10:50:09 +02:00
Claus af3665c0f9 Merge branch 'dev-v7-U4-5804' of git://github.com/drbldgtl/Umbraco-CMS into drbldgtl-dev-v7-U4-5804
# Conflicts:
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2017-06-29 10:48:04 +02:00
Mads Rasmussen ed78082693 aligning UI for pickers 2017-06-29 10:15:10 +02:00
Mads Rasmussen 91e15d4b64 use userGroupsResource in users and groups overview 2017-06-29 09:57:24 +02:00
Stephan fc8bba188c Include NUnit3 Test Adapter 2017-06-29 08:21:00 +02:00
Stephan 9dee84a21d Fix build 2017-06-29 08:11:07 +02:00
Shannon 5dec4a4a94 Moves logic to separate UserGroupsController from the user controller, refactors a few model mappings to reduce a few lines of code, default permissions on user groups now save 2017-06-29 14:39:11 +10:00
Shannon 5d5b852e5a moves the change password part of the user to where the design had it 2017-06-29 13:17:19 +10:00
Shannon 454684e108 updates user models to not return so much info when not needed 2017-06-29 13:13:32 +10:00
Shannon 4fc5279a78 ok, tests fixed now? 2017-06-29 12:38:33 +10:00
Shannon abb393c335 fixes tests 2017-06-29 12:31:23 +10:00
Mads Rasmussen 225cf8f8f5 fix content permissions dialog 2017-06-28 22:11:02 +02:00
Mads Rasmussen 0bc2e93230 fix grunt build 2017-06-28 21:52:33 +02:00
Stephan 95bfc89ec0 Fix build 2017-06-28 21:27:56 +02:00
Stephan 7126234e80 Fix build 2017-06-28 21:11:02 +02:00
Stephan 777175c3fe v8-alpha0021 + migrations (wip) 2017-06-28 20:57:23 +02:00
Stephan 6c710dac93 Log4Net fixing 2017-06-28 20:57:23 +02:00
Stephan 8397fc8e1b Build with PS - fix 2017-06-28 20:57:22 +02:00
Shannon 7ca7b6f922 Allows for the mini profiler in the back office (again) 2017-06-29 01:04:20 +10:00
Shannon 923ceadd02 fixes new permissions model mapping on dialog 2017-06-29 01:03:27 +10:00
Shannon c5111f9ba8 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/content/rights.html
2017-06-29 01:01:54 +10:00
Shannon 85d988e75e Adds GetDetailedPermissions to the content controller which is used in the permissions dialog 2017-06-29 01:00:52 +10:00
Mads Rasmussen 49f2892ff1 group.controller.js: a bit of clean up 2017-06-28 16:12:58 +02:00
Mads Rasmussen c7c0793a0a fix line indention 2017-06-28 16:06:54 +02:00
Mads Rasmussen 3d847b0ea9 fixes: U4-10054 Prototype granular permissions on user group 2017-06-28 16:03:33 +02:00
Shannon 3cd39fee94 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-28 23:38:51 +10:00
Shannon 8023a89b10 Returns the default permissions as a model as part of the UserGroupDisplay and wires this up in the user group editor 2017-06-28 23:38:42 +10:00
Claus 4f6ecf5e91 Merge branch 'temp-old-client-files-clean-up-2' into dev-v7.7 2017-06-28 15:27:34 +02:00
Claus eb4588780e Hartvig removing a lot of old client files used only in v6.
Reverted on dev-v7 and cherrypicked onto dev-v7.7.
2017-06-28 15:01:56 +02:00
Stephan d37100e2d8 Build with PS 2017-06-28 13:38:06 +02:00
Stephan f85a688a0b Remove unwanted dependencies 2017-06-28 12:41:47 +02:00
Stephan 64b2a094f3 Fix WebProfiler for back-office 2017-06-28 12:33:48 +02:00
Stephan 45438c032e Upgrade to NUnit 3 2017-06-28 12:33:48 +02:00
Stephan a243af8a06 Consolidate and Update NuGet dependencies 2017-06-28 12:33:46 +02:00
Stephan 9e7b9ea5b5 From umbraco.dll to Umbraco.Web.dll 2017-06-28 12:33:45 +02:00
Mads Rasmussen de00b2ef00 fixes: U4-10061 Add functionality for show/hide/copy password when creating new user 2017-06-28 10:29:16 +02:00
Stephan 687ccee100 Fix assembly version 2017-06-27 16:35:06 +02:00
Stephan faec8f7d94 Fixing tests - all green or ignored 2017-06-27 16:09:33 +02:00
Mads Rasmussen 2294940038 bring back the avatar in the edit user editor 2017-06-27 12:53:41 +02:00
Shannon e8e2e2c91d Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-27 19:55:21 +10:00
Shannon d78dcb51c0 Gets the invite fully working along with choosing an avatar, adds more security so that the link can't be used again, 2017-06-27 19:55:03 +10:00
Mads Rasmussen 8eb4d2ed20 fixes: U4-10062 Restrict current user permissions 2017-06-27 11:40:04 +02:00
Mads Rasmussen bc19c8358d update to edit user to support state key instead of state alias 2017-06-27 11:31:41 +02:00
Jeavon ce38320c6a Tidy up usings 2017-06-27 09:58:12 +01:00
Mads Rasmussen 439df3b52c user group preview - only show edit button if edit is allowed 2017-06-27 10:07:16 +02:00
Shannon ab71fa3101 adds the IsCurrentUser flag to the UserDisplay model 2017-06-27 15:44:55 +10:00
Shannon 8e21bc3c74 Create user now generates a password 2017-06-27 15:30:32 +10:00
Jeavon 3083f185d0 Merge branch 'dev-v7.7' into temp-U4-9984 2017-06-26 18:01:57 +01:00
Jeavon 07356db30e Adding MachineName to Slack Notification username so you tell where it came from in different environments 2017-06-26 16:34:38 +01:00
Jeavon f615125c24 Remove Slack options from HealthCheckResults as it now looks after itself 2017-06-26 16:28:44 +01:00
Jeavon 29da5ed843 Fix HttpsCheck to use HealthCheckContext instead of HttpContext so it works with scheduled checks 2017-06-26 16:26:18 +01:00
Jeavon 587ce8fc4f My "and" as in the wrong place 2017-06-26 16:05:15 +01:00
Jeavon 833c787414 Adding message text with totals 2017-06-26 15:53:15 +01:00
Jeavon 1f2e1e4e93 Warnings are success with Warning so should be counted as success 2017-06-26 15:48:44 +01:00
Jeavon d7bd711d9a Switch Health Check Slack notification to use Slack Attachments 2017-06-26 15:25:11 +01:00
Mads Rasmussen f309e3587b fix user group filter + add UI for user states filter 2017-06-26 15:00:32 +02:00
Mads Rasmussen 493873a8d0 permissions dialog: add edit button to selected user group 2017-06-25 22:48:49 +02:00
Mads Rasmussen 7beec02a3f permissions dialog: fix save button text 2017-06-25 21:54:32 +02:00
Mads Rasmussen 86cb750ca1 permissions dialog: filter out selected groups from dropdown 2017-06-25 21:51:17 +02:00
Mads Rasmussen f92e119060 hardcode group names 2017-06-25 20:27:14 +02:00
Mads Rasmussen 13a0621f89 localize strings 2017-06-25 20:26:44 +02:00
Stephan e87be7ad9d Fixing tests - and all sorts of issues 2017-06-23 18:58:08 +02:00
Shannon 0cd871241f Gets password reset working, gets more server side validation wired up 2017-06-23 16:38:39 +10:00
Shannon 3eba5e5c19 Merge branch 'dev-v7.7' into user-group-permissions
# Conflicts:
#	src/Umbraco.Core/Persistence/Migrations/Initial/BaseDataCreation.cs
#	src/Umbraco.Tests/Services/UserServiceTests.cs
#	src/Umbraco.Web.UI.Client/src/common/services/util.service.js
#	src/Umbraco.Web.UI/config/trees.config
#	src/Umbraco.Web/Umbraco.Web.csproj
2017-06-23 16:37:56 +10:00
Shannon 754dbc9621 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
2017-06-23 15:15:55 +10:00
Shannon d936105cfe Gets the user states set correctly 2017-06-23 15:14:46 +10:00
Shannon ea2f808c1e fixes tests 2017-06-23 14:58:00 +10:00
Shannon 3ece9175a0 Moves the enable/disable user notifications and localization alerts to server side, adds server side validation so that the current user cannot disable themsevlves. 2017-06-23 14:49:04 +10:00
Shannon 692dc66684 You can now change the user password in the user editor 2017-06-23 14:08:58 +10:00
Shannon 25a79bc2fa fixing tests 2017-06-23 11:43:58 +10:00
Shannon 8cd413ba8f ensures group start nodes are set to null on install 2017-06-23 11:24:06 +10:00
Shannon 1eeae770b4 Fixes issue with calculating all user start nodes, improves perf too 2017-06-23 11:23:40 +10:00
Mads Rasmussen 0e2c94c079 fix remove user from user group 2017-06-22 14:59:03 +02:00
Mads Rasmussen 99da2e923d move toggle to the left of the permission text 2017-06-22 13:30:36 +02:00
Mads Rasmussen c9200d54b5 update umb-toggle to show icons as default instead of labels 2017-06-22 13:28:01 +02:00
Shannon 8f51f574ae fixing build 2017-06-22 17:02:46 +10:00
Shannon 90d4153e87 updates some of the sub view routing with users/groups so the routing is always there 2017-06-22 16:47:45 +10:00
Shannon 6380d1d538 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-22 16:33:00 +10:00
Shannon b43ca64ac7 Ensures that the auth cookie data contains all of the user's start nodes, fixes persisting the user group icon 2017-06-22 16:32:44 +10:00
Mads Rasmussen 7825040e4d sync tree 2017-06-21 15:55:57 +02:00
Mads Rasmussen f27b456eb4 users overview tlc + cleanup. Changed click to open instead of select 2017-06-21 15:40:52 +02:00
Mads Rasmussen bd7aba5ea2 fix umb-toggle labels + add documentation 2017-06-21 11:35:53 +02:00
Mads Rasmussen 9786ae8428 wip content permissions dialog 2017-06-20 15:35:02 +02:00
Mads Rasmussen f28c4cdaa5 load new permissions dialog 2017-06-20 15:19:42 +02:00
Mads Rasmussen cc41447ff7 prototype default permissions on edit user group 2017-06-20 15:19:06 +02:00
Mads Rasmussen 2e239939fc add umb-toggle component 2017-06-20 14:52:32 +02:00
Stephan 4cdb30fed0 Merge branch dev-v7 into dev-v7.7 2017-06-20 14:27:25 +02:00
Stephan 08ce8bc4dc Remove legacy projects 2017-06-20 12:12:29 +02:00
Stephan ddd89fa6e8 Remove legacy refs from Umbraco.Web 2017-06-20 11:00:09 +02:00
Shannon 9dc34f0c98 Updating a bunch of start node checking logic to ensure that it takes the user and user group start nodes into account 2017-06-20 18:38:31 +10:00
Shannon cec829774e Merge remote-tracking branch 'origin/dev-v7' into user-group-permissions
# Conflicts:
#	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
#	src/Umbraco.Web/Cache/DataTypeCacheRefresher.cs
2017-06-20 17:09:52 +10:00
Shannon 94e958bd7a Ensures the user's combined start nodes are used when checking path access 2017-06-20 17:04:00 +10:00
Shannon 957c8e917f fixes tests 2017-06-20 16:49:24 +10:00
Shannon d7e65dd088 User groups can now be created/saved 2017-06-20 15:10:42 +10:00
Shannon 4e1e2c5332 fix unit tests 2017-06-20 14:37:49 +10:00
Shannon 7689ee73d4 Wires up saving the user group 2017-06-20 14:33:24 +10:00
Shannon af7a5187f2 Adds the user count to IUserGroup 2017-06-20 13:19:14 +10:00
Shannon e276c7a1bf Wires up getUserGroupScaffold 2017-06-20 12:34:33 +10:00
Shannon 7797ad4130 localizes invite email 2017-06-20 12:25:27 +10:00
Shannon 78bfc087fb Fixes up all of the user sorting to work properly 2017-06-20 11:55:21 +10:00
Shannon 146a865882 fixes UserState values to be what they were before 2017-06-20 11:21:31 +10:00
Jeavon b0827b75b2 Rename Results to GetResultsForStatus and only calculate the result set required 2017-06-19 13:03:29 +01:00
Jeavon 824eee80b3 Adding a Results method to the HealthCheckResults so that Notification Methods can construct specific messages with different result sets 2017-06-19 12:18:47 +01:00
Jeavon 0638786075 A Resultype of info only isn't considered a failure 2017-06-19 12:16:01 +01:00
Mads Rasmussen 79e9394b62 wire up enable users and disable users bulk actions 2017-06-19 11:51:38 +02:00
Jeavon ebef6b5d42 A few tweaks to the HealthChecks.Release.config to show different options 2017-06-19 10:11:57 +01:00
Shannon 054fd46555 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-19 18:45:53 +10:00
Shannon 9ab9007821 SQL fix for SQLCE for user states 2017-06-19 18:45:38 +10:00
Mads Rasmussen a7a7909a25 fix header icon width 2017-06-19 10:21:21 +02:00
Jeavon ac1aa719b6 Updating HealthChecks.Release.config to new format 2017-06-19 09:18:00 +01:00
Stephan 3bf232ec3c Remove legacy refs from Umbraco.Web.UI 2017-06-19 09:41:58 +02:00
Stephan c369c93710 Remove legacy refs from UmbracoExamine 2017-06-19 09:25:23 +02:00
AndyButland 9f68bd4e52 Amended registration of health check scheduled notifiers (email and Slack) to use a resolver method and allow others to be added without modifying core 2017-06-18 16:41:46 +02:00
Mads Rasmussen 41ee187637 increase font small for small buttons 2017-06-16 14:14:05 +02:00
Mads Rasmussen 3ec9c9a348 fix animation on block buttons 2017-06-16 14:13:44 +02:00
Mads Rasmussen efaa24fb51 add UI feedback when enabling/disabling user 2017-06-16 14:03:06 +02:00
Mads Rasmussen 00659711d9 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-15 20:28:39 +02:00
Shannon 021e083b75 Fixes issue with email confirmation date, adds invite date, adds user state counts 2017-06-15 16:47:51 +02:00
Shannon 0f89b1dea7 Fixes up how formctrl are required for various directives, adds validation to invite/create user, fixes up back end and is all now working 2017-06-15 15:59:29 +02:00
Shannon 5b8d314a29 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-15 12:47:40 +02:00
Shannon f33d21b8f6 Gets all the localization for the invite setup and error checking based on the password provider information 2017-06-15 12:45:53 +02:00
Mads Rasmussen 2361d7878e add word-wrap to user-card name 2017-06-15 11:27:01 +02:00
Mads Rasmussen 613a9de858 show user state after save 2017-06-15 11:20:19 +02:00
Mads Rasmussen 9f234f1669 start on create user group 2017-06-15 11:07:57 +02:00
Mads Rasmussen 7353591f4c in sections panel: show avatar initials if no avatar 2017-06-15 11:06:10 +02:00
Shannon 439c30e2fd changes name from versionHash to cacheBuster 2017-06-15 09:20:46 +02:00
Shannon 0858e04345 tidy up how a user is created when invited, ensure the special empty password is used. 2017-06-15 00:46:23 +02:00
Shannon 6d22f7f86f Getting the invite password setting done with validation, almost there 2017-06-15 00:05:12 +02:00
Shannon c13b2fae4b Fixes issue of rendering the umb version in the html markup 2017-06-15 00:04:42 +02:00
Shannon 51b19bedc8 Merge remote-tracking branch 'origin/dev-v7' into user-group-permissions
# Conflicts:
#	build/UmbracoVersion.txt
#	src/SolutionInfo.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web/Editors/GravatarController.cs
#	src/Umbraco.Web/Models/Mapping/UserModelMapper.cs
2017-06-14 22:30:36 +02:00
Shannon 582e36c517 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-14 21:30:08 +02:00
Shannon a62426a763 Gets email sending ensures user is logged in with verifying but is only partially logged in and cannot access the back office, they can only access the verification screen 2017-06-14 16:21:56 +02:00
Mads Rasmussen 898f00cbf1 fix avatar sizes 2017-06-14 14:07:07 +02:00
Mads Rasmussen 12de575dfb update user picker to match new data model 2017-06-14 13:12:49 +02:00
Mads Rasmussen cd8418a8c0 remove fake loading of user groups 2017-06-14 12:52:12 +02:00
Mads Rasmussen 89dcb6a0e2 fix start node pickers 2017-06-14 12:51:41 +02:00
Shannon cd1e88d151 Gets email sending using razor view 2017-06-14 11:29:15 +02:00
Stephan f62121d880 Move some tests 2017-06-14 09:56:14 +02:00
Shannon e757868d09 Moves logic back to user service for inviting a user since its much simpler. 2017-06-13 18:47:20 +02:00
Shannon f09f17e496 getting email invite working and with identity apis 2017-06-13 18:38:16 +02:00
Shannon 3fac1b05ae Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-13 15:48:04 +02:00
Shannon 716629235e issue with mapping ysod 2017-06-13 15:47:39 +02:00
Mads Rasmussen e40a904896 clean up groups overview controller 2017-06-13 15:39:14 +02:00
Mads Rasmussen 5aeb8ed74d get all sections in section picker 2017-06-13 15:27:58 +02:00
Mads Rasmussen 5273644a7e split up groups and status filter + add additional filter options to order by 2017-06-13 15:12:54 +02:00
Mads Rasmussen 56e6722880 fix user group load spinner 2017-06-13 11:47:35 +02:00
Mads Rasmussen fb3ac86d8c add section picker 2017-06-13 11:30:48 +02:00
Jeavon Leopold 01a2ba8ad6 Added failureOnly setting to both email and Slack health check notifications - thanks to feedback at #cg17! 2017-06-10 09:59:37 +02:00
Jeavon Leopold 36a659f3da Incorrect class for logging within the HealthCheckNotifier 2017-06-10 09:34:35 +02:00
Jeavon Leopold f6cc06356c Adding new verbosity attribute to transform for health check config 2017-06-06 12:24:16 +02:00
AndyButland 7929b460c3 Added option for summary or detailed results in health check notifications 2017-06-06 10:32:26 +02:00
Mads Rasmussen 379b8c3719 fix render in users list view 2017-06-06 02:16:21 +02:00
Shannon 174e336512 fixes sections 2017-06-06 02:13:14 +02:00
Shannon 9bf61bb487 real data for user group 2017-06-06 02:05:17 +02:00
Shannon 5a5bdb6328 user doesn't need to be not approved for invite 2017-06-06 01:29:01 +02:00
Shannon 7f03a97a78 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-06 01:21:17 +02:00
Shannon 7533b0e704 ensures icons, ensures saving info for creating users 2017-06-06 01:21:03 +02:00
Mads Rasmussen d72af87790 rename content picker to media picker 2017-06-06 01:11:40 +02:00
Mads Rasmussen 1eba16579a remove search on user groups 2017-06-06 01:10:55 +02:00
Mads Rasmussen 1c373ca771 fix render in user group picker 2017-06-06 01:10:36 +02:00
Shannon f907385ac8 fix mapping issue 2017-06-06 01:06:19 +02:00
Shannon fbda8fe4a3 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-06 00:50:56 +02:00
Mads Rasmussen e8ceb2756d wire up start node preview 2017-06-06 00:49:48 +02:00
Shannon cfe90999d3 Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-06 00:49:43 +02:00
Shannon bbda93a06b updates mapping for start nodes 2017-06-06 00:49:36 +02:00
Mads Rasmussen a041fc47e0 view for user group preview 2017-06-06 00:49:07 +02:00
Mads Rasmussen 6da5fe6b3a fix sections, content and media start node in umbUserGroupPreview 2017-06-06 00:35:31 +02:00
Shannon 869f75af4a Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-06-06 00:14:26 +02:00
Shannon 76032cf5f7 maps name and icon for user groups 2017-06-06 00:13:46 +02:00
Mads Rasmussen c03e1420e0 fix user group name 2017-06-06 00:11:59 +02:00
Shannon 64975166e7 updates user models 2017-06-06 00:02:23 +02:00
Shannon 2ee34d5c48 updates user models 2017-06-05 23:25:33 +02:00
Lee Kelleher 44018b976a Merge pull request #1980 from leekelleher/temp-cgrt17-nc-tweaks-1
Nested Content amends + localization
2017-06-05 21:40:51 +02:00
leekelleher 1293730dd3 Merge remote-tracking branch 'upstream/dev-v7.7' into temp-cgrt17-nc-tweaks-1
# Conflicts:
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
2017-06-05 21:35:16 +02:00
Shannon Deminick fc30cdee31 Merge pull request #1984 from umbraco/temp-content-blueprints
Content blueprints
2017-06-05 21:26:35 +02:00
Shannon ca8e25f465 Merge remote-tracking branch 'origin/dev-v7.7' into temp-content-blueprints 2017-06-05 21:17:53 +02:00
Shannon f55d1328d0 Merge tag 'release-7.6.4' into temp-content-blueprints 2017-06-05 21:17:41 +02:00
leekelleher 685f7bcde8 Correct the Nested Content Editor directive name,
as it conflicted with the package version - which override the core version (wasn't good).
2017-06-05 21:08:43 +02:00
Lars-Erik Aabech 6c78b8b60a Prevents saving blueprint with same name as other existing 2017-06-05 16:56:29 +02:00
Lars-Erik Aabech 8602aab6f7 Merge remote-tracking branch 'origin/temp-content-blueprints' into temp-content-blueprints 2017-06-05 16:47:40 +02:00
Lars-Erik Aabech 88702f7e18 Can create blueprints from the tree 2017-06-05 16:46:30 +02:00
Jeavon Leopold 57bb47a78b Add xdt transforms for adding the HealthChecks config to Web.Config 2017-06-05 15:31:21 +02:00
leekelleher 57b037fda0 Switched to a better GUID generation method
Fixed issue with keys being generated on every publish rather than being remembered
2017-06-05 15:26:02 +02:00
leekelleher 7aad660ebf Renamed selectedDocTypeTabs to be docTypeTabs,
as it contains the tab names for all the doctypes. It was a misnomer.
2017-06-05 15:25:34 +02:00
leekelleher 181a5b847c Removed redundant reference from the Nested Content editor controller
`ncResources` wasn't being used in the `PropertyEditorController`
2017-06-05 15:24:37 +02:00
leekelleher 7a7f24ed78 Localized Nested Content's labels 2017-06-05 15:23:27 +02:00
leekelleher 0c8e5a2cc2 Added dictionary keys for Nested Content 2017-06-05 15:21:43 +02:00
leekelleher c43dda468c Renamed "nestedcontent.resources.js" to be singular "resource".
Aligns with the rest of the resource files
2017-06-05 15:21:21 +02:00
Jeavon Leopold 9edc20b1b1 Merge branch 'dev-v7.7' into temp-U4-9984 2017-06-05 15:00:42 +02:00
AndyButland 28247add3c Created unit tests for health check results 2017-06-05 14:37:50 +02:00
Shannon e4d96997d5 Merge remote-tracking branch 'lars/temp-content-blueprints' into temp-content-blueprints 2017-06-05 14:35:07 +02:00
Jeavon Leopold dd84164ac5 Fix email subject to come from config for Health Check Notifier 2017-06-05 14:08:52 +02:00
Shannon 8bc033efde Merge remote-tracking branch 'lars/temp-content-blueprints' into temp-content-blueprints 2017-06-05 14:02:23 +02:00
Jeavon Leopold a407f9aa19 Merge branch 'feature/health-check-scheduler' of https://github.com/AndyButland/Umbraco-CMS into temp-U4-9984
# Conflicts:
#	src/Umbraco.Web/HealthCheck/HealthCheckResults.cs
#	src/Umbraco.Web/Scheduling/HealthCheckNotifier.cs
2017-06-05 14:02:12 +02:00
Shannon 1e90015253 updates to name ModelState and ensures tokenized localization 2017-06-05 14:02:11 +02:00
Lars-Erik Aabech 7f63919ba6 Merge branch 'temp-content-blueprints' of https://github.com/umbraco/Umbraco-CMS into temp-content-blueprints 2017-06-05 13:52:57 +02:00
Jeavon Leopold 57ce6d7f64 Break up the list of Health Checks to be more readable and change the Slack icons 2017-06-05 13:52:48 +02:00
Lars-Erik Aabech 0fff051cf6 Tests for the create content controller 2017-06-05 13:52:07 +02:00
AndyButland 0a997ae04e Switched health check resolver to use application scope 2017-06-05 13:40:38 +02:00
AndyButland bf194a819a Added try/catch around scheduled checks so one failure doesn't block the rest. Applied some formatting to email HTML notification. 2017-06-05 13:35:08 +02:00
Jeavon Leopold a102a7c094 Adding Slack.Webhooks to nuspec 2017-06-05 13:30:26 +02:00
Lars-Erik Aabech 346b29b827 Couple of unit tests for the create content dialog 2017-06-05 12:12:25 +02:00
Shannon 1bedc6a444 Wires up server side validation for name 2017-06-05 12:11:20 +02:00
Jeavon Leopold 826f916960 Health Check notifier now has different icons depending on if all checks are good or not 2017-06-05 12:10:19 +02:00
Jeavon Leopold d30b70ea12 Refactoring the HealthChecks Configuration to make it cleaner & easier to add futher notification providers 2017-06-05 11:57:03 +02:00
AndyButland 0f7165dada Retrieved HTML fragment for health check notification email from results, minor reformatting 2017-06-05 11:45:42 +02:00
Stephan 31f8213460 Amazingly improve NestedContent non-support of some editors 2017-06-05 11:33:05 +02:00
Jeavon Leopold 6b419f4260 Adding check for server role to the HealthCheckNotifier so it only runs on the Master 2017-06-05 11:26:33 +02:00
Jeavon Leopold ddd693e120 Merge branch 'feature/health-check-scheduler' of https://github.com/AndyButland/Umbraco-CMS into temp-U4-9984 2017-06-05 11:17:01 +02:00
Jeavon Leopold 7047d3ebaa Adding support for Slack Markdown "light" 2017-06-05 11:16:03 +02:00
AndyButland 84d131e7f7 Removed disabled healthchecks from dashboard 2017-06-05 11:07:12 +02:00
AndyButland f75b66dda8 Send scheduled health checks results as email to configured address 2017-06-05 10:52:17 +02:00
Lars-Erik Aabech 1abec65f03 Saving blueprints keeps only save button 2017-06-05 10:47:52 +02:00
Shannon ac0a5bfe5d fixes cancel button 2017-06-05 10:46:37 +02:00
Jeavon Leopold 6e4ffcc068 Adding method to HealthCheckResults to return the results as Markdown 2017-06-05 10:40:20 +02:00
Shannon 121036ebb9 Merge branch 'dev-v7.7' into user-group-permissions
# Conflicts:
#	build/UmbracoVersion.txt
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI.Client/src/less/belle.less
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web/Umbraco.Web.csproj
2017-06-05 10:35:23 +02:00
Shannon e2f9c90dc6 Merge branch 'dev-v7.7' into temp-content-blueprints 2017-06-05 10:23:10 +02:00
Jeavon Leopold 439d52e358 Merge branch 'feature/health-check-scheduler' of https://github.com/AndyButland/Umbraco-CMS into temp-U4-9984 2017-06-05 10:18:26 +02:00
Shannon 7d1aedc0d3 fixes unit tests 2017-06-05 10:17:18 +02:00
Jeavon Leopold 48864e3fa4 Initial addition of Slack Webhook Notifications for Health Check notifications 2017-06-05 10:15:26 +02:00
AndyButland 474dcf0779 Improved layout of scheduled healthcheck result logging 2017-06-05 10:14:47 +02:00
AndyButland 0366fa73c3 Remove requirement for configuring start time for scheduled health checks; if not provided, start with short delay after application start 2017-06-05 10:14:17 +02:00
AndyButland 9b6cad7d82 Fixed health check configuration following namespace refactor 2017-06-05 10:08:57 +02:00
Shannon 3a990d9cf0 Merge remote-tracking branch 'origin/temp-u4-8604-1' into dev-v7.7 2017-06-05 09:50:17 +02:00
Stephan 832ee47564 Fix nested content prevalue cache of all things 2017-06-05 09:28:52 +02:00
leekelleher dc3f96a292 Included a pull-request from NestedContent package
Fixes the prevalue-editor's doctype tabs dropdownlist from reverting to default post-save.

https://github.com/umco/umbraco-nested-content/pull/131
2017-06-05 09:28:52 +02:00
leekelleher 7806246a52 Added NestedContent to "lists" datatype group.
Set the icon to "icon-thumbnail-list".
2017-06-05 09:28:52 +02:00
leekelleher e136780947 Fixed JSLint warnings
Renamed "nestedcontent.filters.js" filename to be singular.
2017-06-05 09:28:52 +02:00
Stephan b9ac5a365a Sanitize editors names 2017-06-05 09:28:52 +02:00
Stephan 942d010264 Retreat Amazing Nested Content Work 2017-06-05 09:28:52 +02:00
Jeavon Leopold 643dab0238 Merge branch 'feature/health-check-scheduler' of https://github.com/AndyButland/Umbraco-CMS into temp-U4-9984 2017-06-05 09:26:39 +02:00
AndyButland 1445ff7a83 Implemented scheduled task for notification on status of health checks 2017-06-05 09:21:35 +02:00
Lars-Erik Aabech b70241e807 Allowing blank documents configurable 2017-06-05 00:49:06 +02:00
Lars-Erik Aabech 10761a2211 Selecting blueprints made configurable 2017-06-05 00:39:16 +02:00
Lars-Erik Aabech f392c32d63 More localization and validation of blueprints 2017-06-05 00:20:02 +02:00
Lars-Erik Aabech 95cfb6c56b More localization of blueprint actions 2017-06-04 23:44:12 +02:00
Shannon d59e3d34f9 fix double submit 2017-06-04 23:42:33 +02:00
Shannon 1a03c7f068 Merge remote-tracking branch 'lars/temp-content-blueprints' into temp-content-blueprints
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/content/content.createblueprint.controller.js
#	src/Umbraco.Web.UI.Client/src/views/content/createblueprint.html
2017-06-04 23:40:39 +02:00
Shannon f52e82296f required validation and styling working 2017-06-04 23:35:53 +02:00
Lars-Erik Aabech 16868d7b51 Colors and cancelling 2017-06-04 23:04:10 +02:00
Lars-Erik Aabech 59df08f956 Merge remote-tracking branch 'origin/temp-content-blueprints' into temp-content-blueprints 2017-06-04 22:58:13 +02:00
Shannon 3c9041b00e adds refresh to content type node 2017-06-04 22:57:49 +02:00
Lars-Erik Aabech 09a39c1fe4 Right icon for "blueprint from content" action 2017-06-04 22:57:11 +02:00
Shannon 7377b7614e Renders blueprints underneath their associated document types, removes preview button 2017-06-04 22:52:18 +02:00
Shannon e2137c9a43 Gets updating blueprints working 2017-06-04 22:07:58 +02:00
Shannon f2b9963385 Merge remote-tracking branch 'lars/temp-content-blueprints' into temp-content-blueprints 2017-06-04 21:21:30 +02:00
Shannon f5ad4a35cd blueprint scaffolding working 2017-06-04 21:21:16 +02:00
Lars-Erik Aabech b55aa7c16d Filtering out properties 2017-06-04 21:20:42 +02:00
Lars-Erik Aabech ee577da48e Merge remote-tracking branch 'origin/temp-content-blueprints' into temp-content-blueprints 2017-06-04 21:01:31 +02:00
Lars-Erik Aabech affe3d688b English language elements for blueprints 2017-06-04 21:00:08 +02:00
Shannon addd8946e8 Merge remote-tracking branch 'lars/temp-content-blueprints' into temp-content-blueprints 2017-06-04 20:59:13 +02:00
Shannon d2fe3e7406 editing blueprints now working 2017-06-04 20:58:56 +02:00
Lars-Erik Aabech 6b0ef0e289 Disabling content editor tests to not "break the build" 2017-06-04 18:32:34 +02:00
Lars-Erik Aabech 7c0acff9f8 Naming and correct name in notification 2017-06-04 18:29:10 +02:00
Lars-Erik Aabech b2279a30f7 Can create docs without blueprint 2017-06-04 18:15:31 +02:00
Lars-Erik Aabech 22758c6e12 Merge remote-tracking branch 'origin/temp-content-blueprints' into temp-content-blueprints 2017-06-04 18:03:36 +02:00
Lars-Erik Aabech f8ed2a3db4 Blueprint dialogs done(ish) 2017-06-04 18:03:07 +02:00
Shannon c9f6778e31 Merge remote-tracking branch 'origin/dev-v7' into temp-content-blueprints 2017-06-04 17:57:15 +02:00
Shannon 494a7d54b8 Deleting works, wired up some validation for duplicate names 2017-06-04 17:57:06 +02:00
Lars-Erik Aabech 6dd9fc2780 Create dialog shows available blueprints and passes id to create page. 2017-06-04 17:49:21 +02:00
Shannon b99b9b7a6b adds blueprints dictionary to ContentTypeBasic result 2017-06-04 17:31:31 +02:00
Lars-Erik Aabech c06ac51b48 temp adding stubbed blueprints 2017-06-04 17:18:43 +02:00
Shannon abcd6e69f0 Merge remote-tracking branch 'lars/temp-content-blueprints' into temp-content-blueprints 2017-06-04 17:17:46 +02:00
Lars-Erik Aabech 5fe22a2231 Create blueprint from content integrated & working. 2017-06-04 17:14:12 +02:00
Shannon Deminick 03cb5bf9e5 Merge pull request #1979 from lars-erik/temp-content-blueprints
Temp content blueprints
2017-06-04 16:51:54 +02:00
Lars-Erik Aabech 79fa7db631 Merge remote-tracking branch 'origin/temp-content-blueprints' into temp-content-blueprints 2017-06-04 16:44:53 +02:00
Lars-Erik Aabech 4574bf2de2 Reverting inadvertent file changes 2017-06-04 16:37:33 +02:00
Shannon 3351a3e112 Merge remote-tracking branch 'origin/temp-content-blueprints' into temp-content-blueprints 2017-06-04 16:29:53 +02:00
Shannon 584c3e4c19 adds parameters to the content editor directive 2017-06-04 16:27:59 +02:00
Shannon Deminick 479f6a1525 Merge pull request #1977 from lars-erik/temp-content-blueprints
Temp content blueprints
2017-06-04 16:14:29 +02:00
Lars-Erik Aabech 6f55515f11 Merge branch 'temp-content-blueprints' of https://github.com/umbraco/Umbraco-CMS into temp-content-blueprints 2017-06-04 16:07:51 +02:00
Lars-Erik Aabech 9f0639ba24 Create blueprint from content action
In process of adding blueprints to create content dialog
2017-06-04 16:07:11 +02:00
Shannon 028903c306 Creates endpoint to create a blueprint 2017-06-04 16:00:25 +02:00
Shannon adb02c96a7 Gets blueprint tree controller working, makes the content editor a directive :O 2017-06-04 15:54:51 +02:00
Shannon f4d0de6665 get services/repos working for blueprints along with tests 2017-06-04 14:43:28 +02:00
AndyButland 6861453166 Added localised texts and renamed some to less specific names when used across checks 2017-06-04 14:35:37 +02:00
AndyButland 5f263ad851 Added check for X-Content-Type-Options and refactored existing HTTP header check to use common base class. 2017-06-04 14:34:37 +02:00
Stephan e11b267ef4 Bugfix FileSystems vs Scopes 2017-06-02 14:00:09 +02:00
Shannon 618c50f9da Ability to add/remove/replace an ISearchableTree 2017-05-31 22:52:16 +02:00
Stephan d0abbf0664 Better boot fail error reporting 2017-05-31 15:25:07 +02:00
Shannon 106a06be2a Gets templates working 2017-05-31 13:09:26 +02:00
Shannon a70c9226fc Updates lots of trees for searching and gets results grouped 2017-05-31 12:25:05 +02:00
Stephan e17417c49f Get rid of IScopeInternal, add IScopeContext 2017-05-31 10:57:22 +02:00
Stephan d3133abcab Get rid of Mandate 2017-05-31 10:10:47 +02:00
Stephan 1e62ea8b16 Get rid of IScopeProviderInternal 2017-05-30 19:41:37 +02:00
Stephan 2435449854 Break ScopeProvider vs FileSystems circular dependency 2017-05-30 18:59:15 +02:00
Stephan 7ea9c9c8e2 Move Web.Current to Composing 2017-05-30 18:13:11 +02:00
Mads Rasmussen f3763dffe5 prototype user picker 2017-05-30 17:04:41 +02:00
Stephan 1f5c47f029 Move Plugins to Composing 2017-05-30 15:56:30 +02:00
Stephan 81234cd702 Rename DI to Composing 2017-05-30 15:46:25 +02:00
Stephan b251d23a57 Refactor DI and type loading 2017-05-30 15:33:57 +02:00
Stephan d34a425dd1 porting 7.6@5c5baca into 8 2017-05-30 12:54:22 +02:00
Mads Rasmussen be939b48f9 wire up users pagination 2017-05-30 11:57:41 +02:00
Mads Rasmussen b678eff484 wire up user state badges + create user confirmation 2017-05-30 11:31:43 +02:00
Mads Rasmussen 01ff16d00d add border to sidebar group 2017-05-30 10:12:44 +02:00
Mads Rasmussen a50f1e22c0 add progress bar to user avatar upload 2017-05-30 10:12:16 +02:00
Shannon 3ae16e717c Merge branch 'dev-v7-pluggable-ISearchableTree' of https://github.com/efabioli/Umbraco-CMS into efabioli-dev-v7-pluggable-ISearchableTree
# Conflicts:
#	src/Umbraco.Web/Editors/EntityController.cs
#	src/Umbraco.Web/Models/ContentEditing/EntityBasic.cs
2017-05-30 00:48:41 +02:00
Shannon 06aaa9718f fixes test 2017-05-29 17:25:44 +02:00
Shannon d3eeb45651 ensures the message is added to the email 2017-05-29 15:57:59 +02:00
Shannon 6cd52bbc3c Gets user invite generating the token, sending the email and then verifying the token 2017-05-29 15:55:36 +02:00
Shannon 273c934e26 wires up the invite user to the rest endpoint 2017-05-29 15:13:04 +02:00
Shannon 2087125d95 Fixes an issue with model mappings and group assignments 2017-05-29 14:16:48 +02:00
Shannon 7f27745d27 starting to get the invite email with token working 2017-05-29 09:36:07 +02:00
Shannon f493c254e8 Fixes up the users login date on the user list view, fixes tests 2017-05-26 12:47:31 +10:00
Shannon 362b98509b Updates path check to use all assigned user start nodes that are combined by their groups and directly assigned values 2017-05-26 12:09:06 +10:00
Shannon 4337036358 refactor users and how groups are added to them so we can know dynamically start nodes, etc... fixes tests 2017-05-26 11:17:06 +10:00
Shannon 271c771f1c fixing tests 2017-05-26 09:50:51 +10:00
Mads Rasmussen 7934ea14a3 wire up enable and disable user 2017-05-25 22:09:52 +02:00
Shannon 8aabb3e3d0 wires up custom user avatars 2017-05-26 02:15:37 +10:00
Shannon 528be48437 Adds UsersController.SetAvatar and ClearAvatar 2017-05-26 00:02:32 +10:00
Shannon a8220e0f62 gets user saving working 2017-05-25 12:17:32 +10:00
Mads Rasmussen cb097f11a1 add save user and create user 2017-05-25 00:13:11 +02:00
Mads Rasmussen 911fdf20a4 add watcher to avatar name 2017-05-24 22:53:25 +02:00
Mads Rasmussen 939d128662 fix load indicator on user 2017-05-24 22:43:51 +02:00
Mads Rasmussen b95ba2e9a7 wire up user group picker 2017-05-24 22:36:44 +02:00
Mads Rasmussen e9c917e60b add resource for getUserGroups 2017-05-24 22:35:47 +02:00
Shannon 2cd23cb24f Updates business logic to persist the start nodes for users 2017-05-25 02:46:21 +10:00
Shannon 59872b0e17 fixes ability to create new users with the legacy editor 2017-05-25 02:11:38 +10:00
Shannon 6e9ae485ea Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-05-25 02:03:58 +10:00
Shannon dec9422531 Updated DB and business logic to support multiple starts nodes for a user and for user groups to have start nodes - U4-9915 User Groups will have a start node assigned and Users can have multiple start nodes assigned 2017-05-25 02:03:41 +10:00
Stephan 13ec3db2d3 fix 7.6-rc1 port 2017-05-24 12:25:59 +02:00
Stephan 9c58410d6c vs2017 csproj wip 2017-05-24 12:25:44 +02:00
Stephan 0be86efc50 remove old files 2017-05-24 12:25:40 +02:00
Stephan 8561d85f7a porting 7.6-rc1 into 8 2017-05-24 12:25:39 +02:00
Mads Rasmussen 633bd847ea Merge branch 'user-group-permissions' of https://github.com/umbraco/Umbraco-CMS into user-group-permissions 2017-05-24 11:32:55 +02:00
Shannon 38837049f0 adds invite user endpoint with a controller test! 2017-05-24 19:01:01 +10:00
Mads Rasmussen 1a637961b7 bump avatar font size 2017-05-23 20:57:43 +02:00
Mads Rasmussen f792be9495 wire up language selector 2017-05-23 15:31:51 +02:00
Mads Rasmussen 41460d5500 rename from role to group 2017-05-23 11:02:52 +02:00
Mads Rasmussen d56bee8761 Merge branch 'temp-U4-9827' into user-group-permissions
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/resources/users.resource.js
#	src/Umbraco.Web.UI.Client/src/less/belle.less
2017-05-23 10:28:59 +02:00
Mads Rasmussen 4c852eab0b fix js error 2017-05-23 10:16:29 +02:00
Shannon 0cca342b83 updates user groups to contain the correct db columns for start nodes, updates mappings, fixes tests. 2017-05-23 15:48:08 +10:00
Shannon 45fa106c42 Adding required user group db columns and models, fixing tests 2017-05-23 15:23:10 +10:00
Shannon 6e9e2b99a4 U4-9944 User table needs to have created/update dates , adds more methods to the user controller for enabling/disabling users 2017-05-23 13:18:29 +10:00
Shannon 1be3f06bc4 Hides the user invite button if there is no email server configured 2017-05-23 12:28:41 +10:00
Shannon 86e4acef86 passes through the user id for the user editor 2017-05-23 12:13:01 +10:00
Mads Rasmussen b3118f742d increase breadcrumb font size 2017-05-22 14:25:57 +02:00
Mads Rasmussen 83d26fd91a add breadcrumb + back button to editor footer 2017-05-22 14:25:29 +02:00
Shannon 16c6fc70bf updates user resource to use the real endpoint 2017-05-22 21:26:46 +10:00
Shannon 517dc3abe3 updates more user properties 2017-05-22 21:23:04 +10:00
Mads Rasmussen 48432179be rename from user role to user group 2017-05-22 12:14:46 +02:00
Mads Rasmussen f3d925b509 wire up getPaged getPagedResults for users 2017-05-22 11:31:54 +02:00
Mads Rasmussen e590b20e75 remove some strokes and borders 2017-05-19 13:12:53 +02:00
Shannon 048112dcea Adds framework for testing our controllers (borrowed from the rest api project) adds a couple easy ones for the user controller 2017-05-19 20:17:50 +10:00
Shannon fce7adcc8e Merge branch 'dev-v7' into user-group-permissions 2017-05-19 13:21:27 +10:00
Shannon fcc71958e3 Merge remote-tracking branch 'origin/dev-v7' into user-group-permissions
# Conflicts:
#	.gitignore
#	build/UmbracoVersion.txt
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web.UI/umbraco/config/lang/en.xml
#	src/Umbraco.Web/umbraco.presentation/umbraco/users/PermissionEditor.aspx
2017-05-19 09:59:59 +10:00
Shannon bb431c7681 updates ignore 2017-05-19 09:57:53 +10:00
Mads Rasmussen aeabca87d7 init edit role editor 2017-05-18 15:25:05 +02:00
Mads Rasmussen fbed82219d init edit user editor 2017-05-18 15:23:38 +02:00
Mads Rasmussen d57a273c65 Add support for multiple styles on a button component 2017-05-18 13:33:57 +02:00
Mads Rasmussen d90ef2865b don't use bold for badges 2017-05-18 11:33:37 +02:00
Shannon 29177974eb adds the getPagedResults method to the usersResource 2017-05-18 16:38:14 +10:00
Shannon b130ccf9c1 removes userResource and adds the disableUser to the usersResource 2017-05-18 15:53:54 +10:00
Shannon 4c61cac9a8 rename to users controller 2017-05-17 22:58:32 +10:00
Shannon 57bd5178f7 Gets proper paging and filtering working for users 2017-05-17 21:40:17 +10:00
Mads Rasmussen ef51336a7e add text-transform to badge component 2017-05-17 12:12:49 +02:00
Mads Rasmussen d3dd84671f update mocked user object 2017-05-17 12:11:42 +02:00
Mads Rasmussen 5e3e9cce12 add setting for button sizes + allow icon on buttons 2017-05-17 12:10:50 +02:00
Shannon 9bb880f195 Starts getting the user service/repo to do paging filtering nicely 2017-05-17 19:47:16 +10:00
Mads Rasmussen c299edfe5a U4-9901 User role picker should show permission details 2017-05-16 15:08:49 +02:00
Mads Rasmussen 73d7915fb5 fixes: U4-9900 Add support for selecting an editor sub view trough route params 2017-05-16 13:14:29 +02:00
Shannon 225f657154 fixes tests for mappings 2017-05-16 18:18:10 +10:00
Shannon 4f80902ac2 Fixes unit tests - all but one 2017-05-16 17:17:02 +10:00
Shannon 26b8236eea fixes user query relator 2017-05-16 16:09:01 +10:00
Shannon ffd63a9103 fixes merge issues 2017-05-16 15:51:30 +10:00
Shannon bb436426a4 Merge remote-tracking branch 'origin/temp-U4-9776' into temp-U4-8632
# Conflicts:
#	src/Umbraco.Web.UI/config/trees.config
2017-05-16 15:19:45 +10:00
Shannon faa6a229e6 Updates UserGroupRepository to ensure that it persists things int he correct order and inside of a transaction, removes new code that is already obsolete, fixes tests 2017-05-15 20:27:40 +10:00
Mads Rasmussen 0e8b8e3aef set up some simple filtering of actions based on selection 2017-05-11 13:45:18 +02:00
Mads Rasmussen 7cf3f10afb missed two paths 2017-05-11 13:44:35 +02:00
Shannon 9b50d6d251 Gets a few tests fixed 2017-05-11 20:51:31 +10:00
Mads Rasmussen 6a4a84d8aa update files to match new tree path 2017-05-11 10:25:57 +02:00
Mads Rasmussen 89c4f7dffd Merge branch 'temp-U4-9776' of https://github.com/umbraco/Umbraco-CMS into temp-U4-9776 2017-05-11 09:54:34 +02:00
Mads Rasmussen 4e76b61251 rename section 2017-05-11 09:53:43 +02:00
Mads Rasmussen 03cce6e8f6 move badge + add title 2017-05-11 09:53:19 +02:00
Mads Rasmussen 956250004e add go back button to edit user 2017-05-11 09:48:16 +02:00
Mads Rasmussen 536be45bbf add go back button to edit role 2017-05-11 09:47:35 +02:00
Mads Rasmussen e5240575bd add bulk selection to user roles 2017-05-11 09:31:58 +02:00
Shannon 84c7f5046e Fixes the user group queries to be sorted since the relator requires this 2017-05-11 15:15:46 +10:00
Shannon d2d6b6654a Adds models and methods for the UserController 2017-05-11 13:11:41 +10:00
Mads Rasmussen 1dc30214cc remove margin from umb-users 2017-05-10 15:06:06 +02:00
Mads Rasmussen a84159a1ba setup scaffolding for edit user and user role 2017-05-10 15:05:34 +02:00
Mads Rasmussen 7bfe736e5e restructure so we can use subviews for users and user roles 2017-05-10 13:42:04 +02:00
Shannon 1ea06930f4 fixes some tests 2017-05-10 21:34:35 +10:00
Shannon 512f3237f0 larger refactor so we don't need to worry about 'loading' a users groups, it will all just be done, updated queries to fetch a user, it's groups and it's sections all at once, it might be a little heavy but we'll see. Adds/removes a few other methods that didn't seem right and uses group aliases for most things, adds Datbase unique indexes for group aliases and names (need to fix tests though) 2017-05-10 21:00:30 +10:00
Shannon f594006b95 fixes db table order 2017-05-10 18:07:39 +10:00
Shannon fc58c4f546 bumps version updates a few methods 2017-05-10 18:06:46 +10:00
Mads Rasmussen 645e28eefe add meta data to cards + set up create user form 2017-05-09 20:52:20 +02:00
Mads Rasmussen 71fdd1df85 remove red from clear button 2017-05-09 20:49:16 +02:00
Mads Rasmussen aa99657dea add table layout 2017-05-09 13:00:02 +02:00
Mads Rasmussen dfd240bd25 set up user group picker 2017-05-08 15:13:28 +02:00
Mads Rasmussen ff68f18a26 fix icon alignment in buttons 2017-05-08 14:37:50 +02:00
Mads Rasmussen b0b0f0056e remove save function 2017-05-08 14:20:20 +02:00
Mads Rasmussen f044c4dde1 add functionality for bulk actions 2017-05-08 14:16:02 +02:00
Mads Rasmussen 205a83dd3c add checkmark component 2017-05-08 14:13:51 +02:00
Mads Rasmussen 350bd75310 add filters, layout selector and invite/create user buttons 2017-05-08 10:56:21 +02:00
Mads Rasmussen b92eb9dcdd make users groups an array 2017-05-08 10:53:39 +02:00
Mads Rasmussen c0c1e2bc06 prototype user invite 2017-05-08 10:52:45 +02:00
Mads Rasmussen 971f92301f add pagination to users 2017-05-04 11:45:58 +02:00
Mads Rasmussen e7137e9cce first steps on user dashboard 2017-05-04 11:34:09 +02:00
Mads Rasmussen 7001e791f7 add umb-badge component 2017-05-04 11:29:36 +02:00
Mads Rasmussen e327a971c2 update umb-avatar component include name and colors 2017-05-04 11:25:20 +02:00
Mads Rasmussen c8813c8584 add id to user groups data 2017-05-04 11:23:38 +02:00
Mads Rasmussen 0bbef8cf94 add temp resource for hardcoded data 2017-05-04 11:22:04 +02:00
Shannon 8f69efe331 It builds! 2017-05-04 19:16:52 +10:00
Shannon 24e2547656 Merge branch 'u4-8632b' of https://github.com/AndyButland/Umbraco-CMS into AndyButland-u4-8632b
# Conflicts:
#	src/Umbraco.Core/Models/Rdbms/UserGroup2NodePermissionDto.cs
#	src/Umbraco.Core/Persistence/Migrations/Initial/DatabaseSchemaCreation.cs
#	src/Umbraco.Core/Persistence/Repositories/PermissionRepository.cs
#	src/Umbraco.Core/Persistence/Repositories/UserRepository.cs
#	src/Umbraco.Core/Persistence/Repositories/UserTypeRepository.cs
#	src/Umbraco.Core/Persistence/RepositoryFactory.cs
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Core/Services/SectionService.cs
#	src/Umbraco.Core/Services/UserService.cs
#	src/Umbraco.Core/Umbraco.Core.csproj
#	src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/NotificationsRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/UserTypeRepositoryTest.cs
#	src/Umbraco.Tests/Services/ContentServiceTests.cs
#	src/Umbraco.Tests/Umbraco.Tests.csproj
#	src/Umbraco.Web.UI/config/trees.config
#	src/Umbraco.Web.UI/umbraco/users/PermissionEditor.aspx
#	src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
#	src/Umbraco.Web/Umbraco.Web.csproj
#	src/Umbraco.Web/umbraco.presentation/umbraco/users/EditUser.aspx.cs
2017-05-04 18:29:43 +10:00
Mads Rasmussen 53ef2e356a add new temp users tree 2017-05-03 09:30:29 +02:00
Stephan ade6c2f057 All projects use C# 7.0 2017-04-20 19:16:41 +02:00
AndyButland 11b97c5291 Removed unnecessary null check 2017-04-20 09:45:48 +01:00
Jeavon ece73578c8 Tweaks to RelatedLinks - moved Content property from RelatedLinkBase to RelatedLink and populated Content property for non UDI RelatedLink editor 2017-04-04 12:08:10 +01:00
Stephan 53f1cb0b0a temp-build 2017-03-14 19:13:08 +01:00
Stephan 824cf30e2e PluginManager TLC from v7 2017-03-05 11:59:11 +01:00
Bjarne Fyrstenborg be1172d604 Add icon for font select 2017-03-04 18:20:03 +01:00
Bjarne Fyrstenborg 7cf8cd3518 Fix font size caret 2017-03-04 18:19:44 +01:00
Anders Bjerner 64f477f90e Added property for hiding the target option (2/2) 2017-02-16 18:45:01 +01:00
Anders Bjerner 813741bc3d Added property for hiding the target option (1/2) 2017-02-16 18:41:32 +01:00
Stephan 3576794a64 Cleanup DI 2016-12-19 17:37:18 +01:00
Stephan 9eb467f38a Fix tests 2016-12-16 18:45:41 +01:00
Stephan 7f39f7748f Persistence reorg, killed DatabaseContext 2016-12-16 17:56:10 +01:00
Stephan 49d54f497d Persistence reorg 2016-12-16 17:20:51 +01:00
Stephan 467f71e392 Tests reorg, kill TestWithApplicationBase 2016-12-16 11:25:20 +01:00
Stephan d17959d1a8 Tests reorg 2016-12-16 10:40:14 +01:00
Stephan 1276415ea4 Improve components, proper cache refresher ordering 2016-12-15 13:15:49 +01:00
Stephan 37ca66f42e Fix tests 2016-12-15 08:57:23 +01:00
Stephan 621eb94225 Fix database scope, get the application to run 2016-12-14 19:22:00 +01:00
Stephan a7e5759526 Fix tests and cleanup 2016-12-14 18:40:16 +01:00
Stephan 68f84908c4 Fix build 2016-12-14 14:19:45 +01:00
Stephan 07a05317ff Merge dev-v7.6 into dev-v8 2016-12-14 14:06:30 +01:00
Stephan 04066e901f Fix tests 2016-12-13 15:41:55 +01:00
AndyButland f266c78915 Fixed issues with user creation and deletion 2016-12-05 22:26:09 +01:00
Stephan a55ae8ba57 Refactor Query in repos 2016-12-01 08:46:58 +01:00
Stephan fe3b28261f Deal with FIXMEs in persistence layer 2016-11-30 19:23:20 +01:00
Stephan 800b60ad68 Deal with FIXMEs 2016-11-30 18:32:22 +01:00
Stephan 39f6d5dacc Cleanup MapperCollectionBuilder init 2016-11-30 18:30:34 +01:00
Stephan f4d9e73da7 Copy Compat7 DLL over to UI only in VS 2016-11-30 13:31:03 +01:00
Stephan 6313a65824 Define COMPAT7 in Release mode too, to copy the DLL over to UI 2016-11-30 11:59:55 +01:00
Stephan e29f8bedb5 Fix tests 2016-11-29 19:05:36 +01:00
Sebastiaan Janssen 677cc74a61 Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8 2016-11-29 18:02:49 +01:00
Sebastiaan Janssen 4855466b38 Merge remote-tracking branch 'origin/dev-v7.6' into dev-v8
# Conflicts:
#	build/NuSpecs/UmbracoCms.Core.nuspec
#	src/Umbraco.Core/DatabaseContext.cs
#	src/Umbraco.Core/Persistence/DefaultDatabaseFactory.cs
#	src/Umbraco.Core/Persistence/PetaPoco.cs
#	src/Umbraco.Core/Persistence/UmbracoDatabase.cs
#	src/Umbraco.Core/Services/ContentTypeService.cs
#	src/Umbraco.Core/UmbracoApplicationBase.cs
#	src/Umbraco.Web.UI/packages.config
#	src/Umbraco.Web/Scheduling/LogScrubber.cs
#	src/Umbraco.Web/Scheduling/ScheduledPublishing.cs
#	src/Umbraco.Web/Search/ExamineEvents.cs
#	src/Umbraco.Web/Strategies/ServerRegistrationEventHandler.cs
#	src/Umbraco.Web/UI/Controls/UmbracoControl.cs
#	src/Umbraco.Web/UI/Controls/UmbracoUserControl.cs
#	src/Umbraco.Web/Umbraco.Web.csproj
#	src/Umbraco.Web/UmbracoModule.cs
#	src/Umbraco.Web/packages.config
#	src/Umbraco.Web/umbraco.presentation/content.cs
#	src/Umbraco.Web/umbraco.presentation/library.cs
#	src/Umbraco.Web/umbraco.presentation/macro.cs
#	src/Umbraco.Web/umbraco.presentation/template.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadMacros.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/create/macroTasks.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/developer/RelationTypes/EditRelationType.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/editMacro.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/insertMacro.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/umbracoField.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/plugins/tinymce3/insertMacro.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/settings/editTemplate.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/PreValueExtensions.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/RelationTypeExtensions.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/uQuery-Content.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/uQuery-DataTypes.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/uQuery-PreValues.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/uQuery-UmbracoObjectType.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/uQuery.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/webservices/TagsAutoCompleteHandler.ashx.cs
#	src/UmbracoExamine/DataServices/UmbracoContentService.cs
#	src/umbraco.businesslogic/BasePages/BasePage.cs
#	src/umbraco.businesslogic/Log.cs
#	src/umbraco.businesslogic/User.cs
#	src/umbraco.cms/businesslogic/CMSNode.cs
#	src/umbraco.cms/businesslogic/Content.cs
#	src/umbraco.cms/businesslogic/ContentType.cs
#	src/umbraco.cms/businesslogic/Dictionary.cs
#	src/umbraco.cms/businesslogic/Packager/Package.cs
#	src/umbraco.cms/businesslogic/Property/Property.cs
#	src/umbraco.cms/businesslogic/RecycleBin.cs
#	src/umbraco.cms/businesslogic/Tags/Tag.cs
#	src/umbraco.cms/businesslogic/datatype/BaseDataType.cs
#	src/umbraco.cms/businesslogic/datatype/DataEditorSettingsStorage.cs
#	src/umbraco.cms/businesslogic/datatype/DefaultData.cs
#	src/umbraco.cms/businesslogic/datatype/DefaultPreValueEditor.cs
#	src/umbraco.cms/businesslogic/datatype/PreValue.cs
#	src/umbraco.cms/businesslogic/datatype/PreValues.cs
#	src/umbraco.cms/businesslogic/macro/macroPropertyType.cs
#	src/umbraco.cms/businesslogic/member/Member.cs
#	src/umbraco.cms/businesslogic/member/MemberGroup.cs
#	src/umbraco.cms/businesslogic/propertytype/propertytype.cs
#	src/umbraco.cms/businesslogic/relation/Relation.cs
#	src/umbraco.cms/businesslogic/relation/RelationType.cs
#	src/umbraco.cms/businesslogic/template/Template.cs
#	src/umbraco.cms/businesslogic/web/Document.cs
#	src/umbraco.cms/businesslogic/web/DocumentType.cs
#	src/umbraco.cms/businesslogic/workflow/Notification.cs
#	src/umbraco.cms/packages.config
#	src/umbraco.datalayer/SqlHelpers/MySql/MySqlInstaller.cs
#	src/umbraco.editorControls/BaseDataType.cs
#	src/umbraco.editorControls/DefaultData.cs
#	src/umbraco.editorControls/DefaultDataKeyValue.cs
#	src/umbraco.editorControls/DefaultPrevalueEditor.cs
#	src/umbraco.editorControls/KeyValuePrevalueEditor.cs
#	src/umbraco.editorControls/PickerRelations/PickerRelationsDataEditor.cs
#	src/umbraco.editorControls/PickerRelations/PickerRelationsEventHandler.cs
#	src/umbraco.editorControls/SettingControls/Pickers/Field.cs
#	src/umbraco.editorControls/imagecropper/PrevalueEditor.cs
#	src/umbraco.editorControls/macrocontainer/PrevalueEditor.cs
#	src/umbraco.editorControls/mediapicker/MediaPickerPrevalueEditor.cs
#	src/umbraco.editorControls/memberpicker/memberPicker.cs
#	src/umbraco.editorControls/packages.config
#	src/umbraco.editorControls/tags/PrevalueEditor.cs
#	src/umbraco.editorControls/tinymce/tinyMCEPreValueConfigurator.cs
#	src/umbraco.editorControls/ultimatepicker/ultimatePickerPrevalueEditor.cs
#	src/umbraco.editorControls/umbraco.editorControls.csproj
#	src/umbraco.editorControls/uploadfield/uploadFieldPreValue.cs
#	src/umbraco.editorControls/userControlWrapper/usercontrolPrevalueEditor.cs
2016-11-29 18:01:43 +01:00
Stephan 80503c92ce Fix cmsContentNu table creation during install 2016-11-29 11:34:51 +01:00
Stephan 581f3d791f Fix persistence layer refactoring 2016-11-29 11:31:38 +01:00
Stephan 6f91f8c2d7 Improve BootLoader logging in case of errors 2016-11-29 11:31:29 +01:00
Stephan feea4430f6 Fix dependencies 2016-11-29 10:48:47 +01:00
Stephan d407038141 Fix owin:AppStartup setting 2016-11-29 10:32:43 +01:00
Stephan a49af20275 More persistence layer refactoring 2016-11-29 10:31:25 +01:00
Stephan 74604c69f9 Fix tests after merge 2016-11-25 14:08:23 +01:00
Stephan 8e056aba66 Merge origin/dev-v7.6 into dev-v8-zbwip (builds, not tested) 2016-11-23 10:33:12 +01:00
Stephan 50f7af2823 Making tests less random! 2016-11-08 18:11:28 +01:00
Stephan 5d632b2426 More structuring & minor fixes 2016-11-08 17:38:05 +01:00
Stephan babf00f510 Keep structuring tests 2016-11-07 20:50:14 +01:00
Stephan 2967add41a Keep structuring tests 2016-11-07 19:12:09 +01:00
Stephan 224986d56c Trying to cleanup and refactor tests 2016-11-07 18:32:44 +01:00
Stephan b9d39db995 Refactor build, put tests in the right place 2016-11-05 17:57:29 +01:00
Stephan dc75b20bc6 Refactor build, tests configuration is always Debug 2016-11-05 15:40:45 +01:00
Stephan ed9abcf181 Refactor build, better to build tests 2016-11-05 15:33:27 +01:00
Stephan d33083a2e6 Refactor build, why build tests separately? 2016-11-05 13:44:03 +01:00
Stephan 8aa730d986 Ensure U4-8720 is properly merged into v8 2016-11-05 13:16:22 +01:00
Stephan 467ed87c3b Ensure U4-8729 is properly merged into v8 2016-11-05 10:32:09 +01:00
Stephan bbe1825847 Ensure U4-8663 is properly merged into v8 2016-11-05 10:23:39 +01:00
Stephan a28b916534 Fix NPoco stuff 2016-11-04 19:19:16 +01:00
Stephan c6e4e3b3ed Merge origin/dev-v7-deploy into dev-v8-zbwip 2016-11-04 18:40:42 +01:00
Stephan a4c3d3ec2d Not supposed to have jquery.unobtrusive-ajax.min.js anymore? 2016-11-04 12:36:41 +01:00
Stephan f825ed6bb4 Post-merge fixing (running) 2016-11-04 12:14:42 +01:00
Stephan 3f4306a05f Consolidate and update dependencies 2016-11-04 12:05:51 +01:00
Stephan b29bc66026 Post-merge fixing & refactoring (tests ok) 2016-11-04 11:36:58 +01:00
jf 7566546fd7 fix U4-8792 override overflow 2016-11-03 17:32:24 +00:00
Shane Marsden 8664d3cd35 forgot to add file to commit 2016-11-03 17:03:16 +00:00
Shane Marsden 2363cdd17b Painstakingly went through every image file one by one, looking for references, checking if file looked v6ish, checking for constructed filenames etc 2016-11-03 17:00:36 +00:00
Stefano Chiodino 4cab1c89b4 U4-7721 Specify margin 0 for buttons
On Safari input elemnts have 1px margin which use to make customise and
install buttons not aligned
2016-11-03 16:05:38 +00:00
Chris Houston a4f83e0125 Style changes to the developer dashboard area. 2016-11-03 14:41:41 +00:00
Tom Pipe 7b08c0dde6 Adding isPublished value to the index 2016-11-03 11:48:49 +00:00
Stefano Chiodino 88fd5a9623 Remove background-color on preview that was interfering with the website
style
2016-11-03 11:40:20 +00:00
Shane Marsden 59b8b397b7 Renamed SerializeToCropDataSet to DeserializeToCropDataSet 2016-11-03 11:33:00 +00:00
Stephan b26b415096 Merge origin/dev-v7-deploy into dev-v8-zbwip (builds) 2016-11-03 10:31:44 +01:00
AndyButland d7aba9ce4a Fixed test failure reported on CI (3) 2016-10-30 16:10:00 +01:00
AndyButland ece61a45d8 Fixed test failure reported on CI (2) 2016-10-30 14:16:01 +01:00
AndyButland 8bb3685e5d Fixed test failure reported on CI 2016-10-30 13:53:43 +01:00
AndyButland 6560f38cb0 Fixed caching issues on editing node permissions 2016-10-30 11:58:36 +01:00
AndyButland f316b3f694 Fixed display of node permissions when editing for a group 2016-10-29 23:57:31 +02:00
AndyButland 311401d119 Ensured groups always loaded along with users 2016-10-29 23:57:04 +02:00
AndyButland 93c400a005 Fixed and added unit tests for permission checks 2016-10-29 23:10:00 +02:00
AndyButland 92010adce6 Permission checks on nodes for users and groups 2016-10-29 08:28:57 +02:00
AndyButland b1800305b8 Removed user types and migrated them to groups. Returned to compiling state. 2016-10-28 09:20:52 +02:00
AndyButland 14a0e3cca7 Migration for moving user types to user groups 2016-10-27 20:31:50 +02:00
AndyButland ebbbf11903 Further removal of references to user to app and node tables 2016-10-27 20:29:21 +02:00
AndyButland 2d9aeb3aa1 Removed relationship between users and applications and got back to a compiling state.
Set up editing screens for group/node permissions.
2016-10-27 18:11:46 +02:00
AndyButland cbb36a900a Management of user groups with assignment of users.
Migration for creation of user group tables and data amends for moving from permissions on users to those on groups.
2016-10-26 22:38:54 +02:00
Stephan d44ee715a9 Minor cleanup 2016-10-20 12:22:08 +02:00
Stephan ec68993448 Cleanup hybrid accessors 2016-10-20 10:52:11 +02:00
Stephan acca83a6b1 Boot time optimization 2016-10-19 15:35:27 +02:00
Stephan c9adb39946 Explicitely register persistence mappers 2016-10-19 15:35:26 +02:00
Stephan b7ef002da5 Cleanup SignalR 2016-10-19 15:35:25 +02:00
Stephan a1c11d17ea Fix typo 2016-10-19 13:56:58 +02:00
Stephan 42adb46f2a Move Examine entirely to its own component 2016-10-19 13:56:57 +02:00
Stephan 33a773a0b9 Cleanup UmbracoContext 2016-10-18 17:28:36 +02:00
Stephan 88593b0bf3 Deal with fixme in FacadeRouter 2016-10-18 16:16:46 +02:00
Stephan 0fdd94e489 More fixes in Core DI 2016-10-17 18:53:21 +02:00
Stephan 422fef84ff Minor fix in Core DI 2016-10-17 15:16:07 +02:00
Stephan d8ba9723c8 Fix Umbraco.Core dependencies 2016-10-17 12:44:31 +02:00
Stephan 60a172343f Build TLC 2016-10-17 12:40:43 +02:00
Stephan 92c55e302f Oops, U4-8626 colateral WIP 2016-10-17 11:00:19 +02:00
Stephan 341e817fd5 Get tests to run, troubleshoot 2016-10-17 11:00:18 +02:00
Stephan 422a9cf162 Stop LightInject scanning of assemblies 2016-10-17 11:00:15 +02:00
Stephan 3c698cbf8c Refactor UmbracoContext, PublishedContentRequest... 2016-10-17 11:00:14 +02:00
Stephan 187e5ed751 Add and use ArgumentNullOrEmptyException 2016-10-17 11:00:13 +02:00
Stephan a00ee8d275 Rename DependencyInjection into DI, cleanup components, compose 2016-10-17 11:00:12 +02:00
Stephan 172ae81924 Build TLC 2016-10-17 11:00:09 +02:00
Stephan 11e41ee07e Restoring most resolvers in Compat7 2016-10-17 11:00:08 +02:00
Stephan 3bee1d3bce Version 8.0.0-alpha0020 2016-10-17 11:00:07 +02:00
Stephan 7784dfbbcb Upgrade ModelsBuilder to 8.0.0-alpha0005 2016-09-19 16:33:49 +02:00
Stephan 3a34e1fb90 Introduce Umbraco.Compat7 2016-09-19 16:33:48 +02:00
Stephan e9648f8d7b Introduce SafeCallContext 2016-09-19 16:33:48 +02:00
Stephan 5c2232aa3b Refactor logging and profiling, boot reporting 2016-09-19 16:33:47 +02:00
Stephan 091816a2ea RIP IApplicationEventHandler 2016-09-19 16:33:45 +02:00
Stephan 9fb9472193 Refactor hybrid accessors for async 2016-09-19 16:33:44 +02:00
Stephan 0597eea72b Resvolution - Components, Runtime & Booting 2016-09-19 16:33:43 +02:00
Stephan 18f3a7fbab Resvolution - Runtime components, fixing, cleanup 2016-09-19 16:33:42 +02:00
Stephan f32d984fbb Resvolution - Components 2016-09-19 16:33:41 +02:00
Stephan e25e77f167 Resvolution - WIP running without Resolution 2016-09-19 16:33:40 +02:00
Stephan 9dcc6b285f Resvolution - Booting 2016-09-19 16:33:39 +02:00
Stephan 9949f07a46 Resvolution - Loggers & Booting 2016-09-19 16:33:38 +02:00
Stephan 3707db6c21 Resvolution - ShortStringHelperResolver 2016-09-19 16:33:37 +02:00
Stephan 376dec2fed Resvolution - CultureDictionaryFactoryResolver 2016-09-19 16:33:36 +02:00
Stephan 352e02f064 Resvolution - ServerRegistrarResolver 2016-09-19 16:33:36 +02:00
Stephan 9782fc7083 Resvolution - ServerMessengerResolver 2016-09-19 16:33:35 +02:00
Stephan d5dd17746d Resvolution - PublishedContentModelFactoryResolver 2016-09-19 16:33:34 +02:00
Stephan 784f290f7b Resvolution - DefaultRenderMvcControllerResolver 2016-09-19 16:33:33 +02:00
Stephan 3b46539c98 Resvolution - SiteDomainHelperResolver 2016-09-19 16:33:32 +02:00
Stephan ce5ba3be2a Resvolution - FacadeServiceResolver 2016-09-19 16:33:32 +02:00
Stephan 1535079ee7 Resvolution - Kill 2016-09-19 16:33:31 +02:00
Stephan c4a00dbfb2 Resvolution - ImageUrlProviderResolver 2016-09-19 16:33:30 +02:00
Stephan 7ba122f124 Resvolution - FilteredControllerFactoriesResolver 2016-09-19 16:33:29 +02:00
Stephan cd432ddc57 Resvolution - SurfaceControllerResolver 2016-09-19 16:33:28 +02:00
Stephan 169735dab9 Resvolution - UmbracoApiControllerResolver 2016-09-19 16:33:28 +02:00
Stephan cac14d57eb Resvolution - ThumbnailProvidersResolver 2016-09-19 16:33:27 +02:00
Stephan 39e46ae0d6 Resvolution - PropertyValueConvertersResolver 2016-09-19 16:33:26 +02:00
Stephan 9608e9ca97 Resvolution - Prepare 2016-09-19 16:33:25 +02:00
Stephan efcd1d5483 Resvolution - Kill 2016-09-19 16:33:24 +02:00
Stephan 1b9aa68bb2 Resvolution - PackageActionsResolver 2016-09-19 16:33:24 +02:00
Stephan 713484eb26 Resvolution - Prepare, Tests 2016-09-19 16:30:45 +02:00
Stephan 69ab8c7afd Resvolution - XsltExtensionsResolver 2016-09-19 16:30:44 +02:00
Stephan a45ffb71a4 Resvolution - ValidatorsResolver 2016-09-19 16:30:43 +02:00
Stephan b1d6757952 Resvolution - EditorValidationResolver 2016-09-19 16:30:42 +02:00
Stephan 6b17156fe8 Resvolution - ParameterEditorResolver 2016-09-19 16:30:41 +02:00
Stephan aa8b8c7736 Resvolution - MappingResolver 2016-09-19 16:30:40 +02:00
Stephan 648632bd36 Resvolution - ContentLastChanceFinderResolver 2016-09-19 16:30:39 +02:00
Stephan 55eb813536 Resvolution - PropertyEditorResolver 2016-09-19 16:30:38 +02:00
Stephan 33ed19da1b Resvolution - ContentFinderResolver 2016-09-19 16:30:37 +02:00
Stephan e49a3f4c72 Resvolution - MigrationResolver 2016-09-19 16:30:36 +02:00
Stephan bbd632f644 Resvolution - ActionResolver 2016-09-19 16:30:35 +02:00
Stephan d8d736edda Resvolution - HealthCheckResolver 2016-09-19 16:30:35 +02:00
Stephan ebaeb98a4a Resvolution - UrlProviderResolver 2016-09-19 16:30:34 +02:00
Stephan da685167f7 Resvolution - UrlSegmentProviderResolver 2016-09-19 16:30:33 +02:00
Stephan caf3c4280a Resvolution - CacheRefresherResolver 2016-09-19 16:30:32 +02:00
Stephan ac271dfc3f Resvolution - Refactor 2016-09-19 16:30:31 +02:00
Stephan 09c3894209 Resvolution - Refactor, UrlProviderResolver 2016-09-19 16:30:30 +02:00
Stephan bda2dbfb88 Resvolution - Refactor 2016-09-19 16:30:30 +02:00
Stephan 5ee6a8c47b Resvolution - UrlSegmentProviderResolver 2016-09-19 16:30:29 +02:00
Stephan f43967c7b1 Resvolution - Refactor 2016-09-19 16:30:28 +02:00
Stephan 4e368f8d42 Resvolution - UrlSegmentProvider 2016-09-19 16:30:27 +02:00
Stephan 0817ffdd28 Resvolution - Prepare 2016-09-19 16:30:26 +02:00
Stephan dbdff2e2c4 Resvolution - PluginManager 2016-09-19 16:30:25 +02:00
Stephan 10c202cb9e Bugfix - ioc and replacing singletons 2016-09-19 16:30:24 +02:00
Lars-Erik Aabech 361ef2a475 Opening up GetHttpContextFactory for extending (actually in prev commit, but messed up) 2016-09-13 23:57:31 +02:00
Lars-Erik Aabech d382fcc919 Issue with isHosted in TypeFinder when unit testing. 2016-09-13 23:56:15 +02:00
Lars-Erik Aabech aac8451627 Removing HttpContext dependency from GridValueConverter. Adding configuration for IOHelper when testing to remove usage of HttpContext. 2016-09-11 21:36:10 +02:00
Martin Blackwell afc2363163 Resolution for U4-8927 2016-08-31 16:22:41 +01:00
Kevin Jump ae110c1cae Honour ConfigSource when setting ConnectionString
Lets umbraco honour the configSource attribute on a connectionstrings
section, meaning you can install the connectionstring into a file other
than web.config.
2016-08-23 08:45:30 +01:00
David Brendel 25130065f7 U4-7542
Moved member type tree to settings
2016-08-17 17:22:53 +02:00
David Brendel a53a572335 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v8' into dev-v8 2016-08-17 17:07:30 +02:00
Neil Gaietto 3f1f67e323 U4-8822- Fixes Unpublish error with empty RTE by passing an empty value instead of null 2016-08-16 09:30:05 -04:00
Stephan e3343e6a2f UrlRedirect - bugfix 2016-08-15 13:08:00 +02:00
Stephan 17585e14e8 TEMP - HealthCheck and NuCache 2016-07-21 14:55:19 +02:00
Stephan 3fb2b97069 Fix lazy container resolver 2016-07-21 14:54:43 +02:00
Stephan 86968f218c Version 8.0.0-alpha0016 2016-07-21 11:07:34 +02:00
Stephan 4c74bd577a Fix build after rebase 2016-07-21 11:07:25 +02:00
Stephan 670659cca5 Feature - live SignalR preview - files 2016-07-21 10:31:29 +02:00
Stephan b7421537c5 Version 8.0.0-alpha0015 2016-07-21 10:27:04 +02:00
Stephan e5d3a777f2 Bugfix - Container resolvers & conflict issues 2016-07-21 10:27:04 +02:00
Stephan de68c02dfc Feature - live SignalR preview - nuget 2016-07-21 10:25:44 +02:00
Stephan bd2fa49581 Version 8.0.0-alpha0011 2016-07-21 10:25:44 +02:00
Stephan 61aa38a11f Bugfix - controller injection in Release mode 2016-07-21 10:23:29 +02:00
Stephan dbd7dc4252 Bugfix - views web.config 2016-07-21 10:23:29 +02:00
Stephan 9798e7d70c Bugfix - NuSpec for ModelsBuilder 2016-07-21 10:23:29 +02:00
Stephan 93539e4702 Bugfix - resolvers and ioc 2016-07-21 10:23:29 +02:00
Stephan 73185e93c2 NuCache - minor cleanup 2016-07-21 10:23:29 +02:00
Stephan bf22954abc Bugfix - MainDom must accept duplicate callback weights 2016-07-21 10:23:29 +02:00
Stephan 466438484a Upgrade ModelsBuilder to 8.0.0-alpha0003 2016-07-21 10:23:29 +02:00
Stephan 515b880e70 Bugfix - ContainerSingleObjectResolver 2016-07-21 10:23:29 +02:00
Stephan 6afe04837a Cleanup - PublishedContentModelFactory 2016-07-21 10:23:29 +02:00
Stephan 5497261eed Upgrade ModelsBuilder to 8.0.0-alpha0002 2016-07-21 10:23:29 +02:00
Stephan a43b47f9ba Upgrade ModelsBuilder to 8.0.0-alpha0001 2016-07-21 10:23:29 +02:00
Stephan 1f55f1c443 Version 8.0.0-alpha0007 2016-07-21 10:22:20 +02:00
Stephan 8f2522dd3e Fix NuSpec ranges 2016-07-21 10:21:53 +02:00
Stephan 9edffa010d Upgrade NuGet dependencies 2016-07-21 10:20:23 +02:00
Stephan 5cb3a3be2b Consolidate NuGet dependencies 2016-07-21 10:07:12 +02:00
Stephan 36c60c9b81 U4-8710 - from Umbraco.Field... try to re-implement 2016-07-21 10:03:11 +02:00
Stephan ffb30123cc U4-8710 - from Umbraco.Field, GetPropertyValue to Value 2016-07-21 10:03:11 +02:00
Stephan 9332335dff U4-8709 - refactor UmbracoViewPage, RenderModel 2016-07-21 10:03:11 +02:00
Stephan d2de66ab5c U4-8626 - kill typed queries 2016-07-21 10:03:11 +02:00
Stephan cdb1f29ec0 U4-8626 - kill dynamic support 2016-07-21 10:03:11 +02:00
Stephan 216329c096 Cleanup - kill IScopeContextAdapter, use accessors 2016-07-21 09:59:37 +02:00
Stephan f4ff50a03f Cleanup - file permission helper 2016-07-21 09:51:27 +02:00
Stephan a8bb18ecae Refactor - IPublishedContent, converters, fragments (cont) 2016-07-21 09:49:06 +02:00
Stephan 12e5372148 U4-8649 - apply to v8 2016-07-21 09:49:06 +02:00
Stephan d08412c0fe Refactor - IPublishedContent, converters, fragments 2016-07-21 09:37:40 +02:00
Stephan 78ab9c087d U4-7014 - merge IServerRegistrar2 into IServerRegistrar 2016-07-21 09:34:17 +02:00
Stephan a8975e6c41 NuCache - bugfix, must sort nodes when reloading from local db 2016-07-21 09:34:17 +02:00
Stephan f7e86eab3e Feature - live SignalR preview 2016-07-21 09:34:17 +02:00
Claus 71dc910623 Feature - live SignalR preview 2016-07-20 19:31:52 +02:00
Stephan a4a73d5586 Bugfix - container-based many resolvers 2016-07-20 19:31:30 +02:00
Stephan 0987b2d646 Cleanup - Attempt 2016-07-20 19:31:02 +02:00
Stephan be2d81154b U4-6674 - Kill ToContentSet, becomes ToIndexedArray 2016-07-20 19:30:42 +02:00
Stephan cfa91f000b Merge IPublishedContentWithKey into IPublishedContent 2016-07-20 19:30:42 +02:00
Stephan 9fe9f9d167 Cleanup - DisposableObject & disposing UmbracoContext 2016-07-20 19:30:15 +02:00
Stephan 5a839c3654 Cleanup - preview & forcing preview 2016-07-20 19:30:15 +02:00
Stephan e87e579e90 Cleanup - fix current UmbracoContext in async (but, really...) 2016-07-20 19:30:15 +02:00
Stephan df8dca6dee Cleanup - lazy PublishedPropertyType initialization 2016-07-20 19:28:17 +02:00
Stephan c0b9b050e9 Cleanup - fix broken stuff after cleanup 2016-07-20 19:28:17 +02:00
Stephan 74b8e5ba36 Cleanup - UmbracoContext and injection 2016-07-20 19:28:17 +02:00
Stephan ef013f9d3b Cleanup - Examine events 2016-07-20 19:23:09 +02:00
Stephan 5261a53a5d Cleanup - domains 2016-07-20 19:23:09 +02:00
Stephan fae688b896 Cleanup - membership 2016-07-20 19:23:09 +02:00
Stephan 2345d0c543 Cleanup - macros 2016-07-20 19:23:09 +02:00
Stephan f8d6c90193 Cleanup - ContentController ctor 2016-07-20 19:23:09 +02:00
Stephan ffeeb4f7d4 Cleanup - more distributed cache cleanup 2016-07-20 19:23:09 +02:00
Stephan ecadb918f2 Cleanup - no more stylesheet cache refresher 2016-07-20 19:23:09 +02:00
Stephan 0b041b28fa Cleanup - kill IsInRecycleBin and trust Trashed 2016-07-20 19:23:09 +02:00
Stephan 79195c5c7d Cleanup - minor stuff 2016-07-20 19:23:09 +02:00
Stephan 6e8fc27c13 U4-8397 - Cleanup server registration db & cache 2016-07-20 19:23:09 +02:00
Stephan f1fd918120 Cleanup - member (group) service 2016-07-20 19:23:09 +02:00
Stephan b2830f0c7d Cleanup - deleting non-empty containers 2016-07-20 19:23:09 +02:00
Stephan 88f9deda95 Cleanup - MediaService & ContentService 2016-07-20 19:23:09 +02:00
Stephan ccc701c298 Cleanup - TypeHelper 2016-07-20 19:23:09 +02:00
Stephan 2c12f4a82a Cleanup - VersionableRepositoryBase 2016-07-20 19:23:09 +02:00
Stephan b092c09c4b Cleanup - repository events = todo 2016-07-20 19:23:09 +02:00
Stephan 0c8cfbb7fa Cleanup - sub-repositories 2016-07-20 19:23:09 +02:00
Stephan ded5848e4c Cleanup - NPoco bulk inserts 2016-07-20 19:23:09 +02:00
Stephan d9fe474269 Cleanup - legacy template 2016-07-20 19:23:09 +02:00
Stephan f90f2e50c3 Cleanup - published member 2016-07-20 19:23:09 +02:00
Stephan c85626a4f1 Facade - cleanup 2016-07-20 19:23:09 +02:00
Stephan 03107dc82b Facade - use NoCache policy when reloading 2016-07-20 19:23:09 +02:00
Stephan 7c5542dca3 Facade - Cleanup access to 'current' 2016-07-20 19:23:09 +02:00
Stephan bc45dd8d6a U4-8536 - removing db.GetTransaction wherever possible 2016-07-20 19:22:26 +02:00
Stephan f584404324 U4-8551 - import NuCache code 2016-07-20 18:43:53 +02:00
Stephan 6e84e085c1 Merge branch dev-v8 into temp-u4-8497 2016-07-20 18:04:41 +02:00
Sebastiaan Janssen fe61553243 Also restore Examine packages to get it in the correct path for Build.bat 2016-07-20 17:41:56 +02:00
Stephan a0f2d63451 Fix build batch (is it real? take11) 2016-07-20 17:11:34 +02:00
Stephan 4a98c63de1 Fix build batch (is it real? take10) 2016-07-20 16:53:29 +02:00
Stephan 81341f7c32 Fix build batch (is it real? take9) 2016-07-20 16:36:54 +02:00
Stephan 21bf1c9c42 Fix build batch (is it real? take8) 2016-07-20 16:29:50 +02:00
Stephan 4ec0038b71 Fix build batch (is it real? take7) 2016-07-20 16:24:42 +02:00
Stephan 3fe84472a6 Fix build batch (is it real? take6) 2016-07-20 16:23:22 +02:00
Stephan 6528e6a204 Fix build batch (is it real? take5) 2016-07-20 16:03:12 +02:00
Stephan 77a38a6a32 Fix build batch (is it real? take4) 2016-07-20 16:01:11 +02:00
Stephan 16fb2cee26 Fix build batch (is it real? take3) 2016-07-20 15:37:14 +02:00
Stephan 247d9f8029 Fix build batch (is it real? take2) 2016-07-20 15:25:49 +02:00
Stephan f4aad94505 Fix build batch (is it real?) 2016-07-20 15:10:33 +02:00
Stephan f9fd8b67b1 Fix build after merge 2016-07-20 13:33:47 +02:00
Stephan 5df967355a Fix appveyor.yml (need blank lines) 2016-07-20 12:42:20 +02:00
Stephan c37effa668 Fix appveyor.yml (need blank lines) 2016-07-20 12:41:19 +02:00
Stephan ecee4d3702 Merge branch dev-v8 into temp-u4-8497 2016-07-20 12:38:57 +02:00
Stephan d6462370fc Fix after merge 2016-07-20 11:31:20 +02:00
Stephan c9152e3aca Fix build after merge 2016-07-18 15:00:08 +02:00
Stephan 77c2766d55 Merge branch origin/dev-v7 into dev-v8 2016-07-18 14:42:06 +02:00
Stephan d04efbf5a4 Retarget migrations after merge 2016-07-18 10:54:27 +02:00
Stephan 2594fa423f Cleanup after merge 2016-07-18 10:50:41 +02:00
Stephan a66cf484e8 Fix more tests after merge 2016-07-18 10:37:37 +02:00
Stephan 554b943931 Fix tests after merge 2016-07-08 19:20:57 +02:00
Stephan e19471fea7 Build - cleanup build.bat 2016-07-08 19:10:34 +02:00
Stephan be056869f0 Fix build after merge 2016-07-08 18:31:37 +02:00
Stephan 3c7245f9ba Merge origin/dev-v7 into dev-v8 2016-07-08 16:32:06 +02:00
Stephan f8b315dad0 Build - fix warnings 2016-07-08 14:17:49 +02:00
Stephan 9792aebf00 Build - fix InstallGit.cmd 2016-07-08 14:16:36 +02:00
Sebastiaan Janssen 7d6cbee9e6 Add msbuild.log to artifacts so we can easily figure out build errors if they occur 2016-07-08 14:15:03 +02:00
Stephan 263109d6ad Can we fix build.bat? 2016-07-08 13:47:32 +02:00
Sebastiaan Janssen 45e48c483d Makes the build of the Tests project quiet too
Do not PAUSE if the build fails, the build server will get stuck or an hour
2016-07-08 13:47:19 +02:00
Sebastiaan Janssen 423df156c1 Makes the build output only show warnings and errors so it's easier to pinpoint problems 2016-07-08 13:47:07 +02:00
Stephan 853e2c7888 Build - cleanup InstallGit 2016-07-08 13:46:23 +02:00
Sebastiaan Janssen 54009a04c3 Makes sense, recent commit removed one of these classes 2016-06-21 17:58:04 +02:00
Stephan f54022c5d2 Fix exception in DefaultDatabaseFactory during installs 2016-06-21 17:38:08 +02:00
Sebastiaan Janssen f58c9b5056 Merge branch 'u4-8191' of https://github.com/AndyButland/Umbraco-CMS into AndyButland-u4-8191
Conflicts:
	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/UserPermissions.cs
2016-06-21 17:33:57 +02:00
Jesper Hauge c96c09f42f Merge branch 'dev-v7' of https://github.com/umbraco/Umbraco-CMS into dev-v7 2016-06-20 21:55:25 +02:00
Jesper Hauge 50f8f18503 Fixes U4-8616 2016-06-20 21:53:40 +02:00
Stephan a512880855 U4-8553 - NPoco 3.3.4 2016-06-20 16:42:25 +02:00
Kamil Jakubczak f1d37a5072 removes a overflow: hidden which decrease update-tree-layer performance
removes a overflow: hidden which decrease update-tree-layer performance.
If it is required it should be solved differently due to the possibility
of having plenty items in div that has this class.
2016-06-09 15:01:26 +02:00
Stephan bc0a4a8b05 U4-8497 - don't load content cache before running upgrades 2016-06-07 16:42:24 +02:00
Stephan f9dc594e25 Merge branch 'dev-v8' into temp-u4-8497 2016-06-02 15:15:31 +02:00
Shannon Deminick 9959d58fbc Merge pull request #1300 from umbraco/temp-u4-8400
U4-8400 (part) - cleanup repository cache policies
2016-06-02 14:51:29 +02:00
Stephan bc375e5fc2 U4-8400 - kill repository cache policy factories 2016-06-02 10:44:06 +02:00
Stephan 743a1451f5 U4-8400 - cleanup and document repository cache policies 2016-06-02 10:36:19 +02:00
Stephan 90500af915 Merge dev-v8 into temp-u4-8497 2016-06-02 10:03:14 +02:00
Sebastiaan Janssen 4ba1692b49 Remove some debug info an unnecessary path modification 2016-06-01 22:34:38 +02:00
Sebastiaan Janssen 8ec981f72e Missing CDF dependency 2016-06-01 22:04:09 +02:00
Sebastiaan Janssen 3314d4ccdf Trying to get datalayer to build 2016-06-01 21:56:43 +02:00
Sebastiaan Janssen 5732d12f8d Seems like we're gettting there.. 2016-06-01 14:08:21 +02:00
Sebastiaan Janssen 988b0485b9 Oops, forgot to remove experiments 2016-06-01 14:02:09 +02:00
Sebastiaan Janssen e627b55ec7 Okay, let's put the packages where AppVeyor is actually looking for them then 2016-06-01 13:55:58 +02:00
Sebastiaan Janssen 3b74e660a7 Is this path supported? 2016-06-01 13:45:59 +02:00
Sebastiaan Janssen 518e266832 AppVeyor recommends this method for doing package restore 2016-06-01 13:27:46 +02:00
Shannon bad6785ac6 Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8 2016-06-01 13:24:23 +02:00
Shannon 1c82d8ac4e argh! no more extension methods that depend on singletons 2016-06-01 13:24:12 +02:00
Sebastiaan Janssen 570fd86919 Letting this restore be verbose for a minute because I think it has some problems 2016-06-01 13:16:18 +02:00
Shannon Deminick f5f7cf8d63 Merge pull request #1277 from umbraco/temp-u4-8447
U4-8447
2016-06-01 12:57:01 +02:00
Sebastiaan Janssen 0f0718db80 Hopefully fixes the build 2016-06-01 12:51:08 +02:00
Sebastiaan Janssen 347732463f Continued from PR 1254 (#1296)
* Changes Umbraco.Core to use project.json for package references, instead of nuget (next is the Web proj)

Changes the build to use correct version of MSBuild
Updates the Web.UI project to reference Microsoft.CodeDom.Providers.DotNetCompilerPlatform so that we can use c# 6 in views
Updates all other projects to use auto-package restore instead of the legacy nuget target restore

* Updates Umbraco.Web to use project.json - removes the lock file (will ignore)

* updates ignore to ignore lock files

* forgot about the tests project, removed the old nuget targets

* Need to restore some packages before we can build

* Update to latest nuget.exe which understands project.json

* This happened automatically, I'm guessing new NuGet removed these

* Correctly restore all necessary packages

* Fix merge problems and package version dependency conflicts

* Removes unnecessary file

* Removes unnecessary file

* Some things didn't make it during the merge, re-applying

* And even more changes that got reverted

* And even more changes that got reverted
2016-06-01 12:37:52 +02:00
Shannon b7985cb2c8 Merge remote-tracking branch 'origin/dev-v7' into dev-v8
# Conflicts:
#	src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/ImageCropperPropertyEditor.cs
2016-06-01 12:20:12 +02:00
Shannon 11552da6ec reverts change made to remove the 'child container' - this actually works well and doesn't interfere with the main container's scope mananger. Ignores the one failing test, need to ask Stephan 2016-06-01 00:36:10 +02:00
Shannon df9160b3cd Removes the 'Child Container' idea (that was bad and would consume lots of mem) and instead we use Scopes. Ensures that the app event handlers are creating during a single Scope operation in the CoreBootManager. Changes MigrationBase and all sub-classes to have an IMigrationContext as a ctor param. Updates the MigrationResolver to resolve Migration instances with the passed in IMigrationContext value. Simplifies MigrationBase since now we know we have a context to work with, there's no need to GetUp/GetDown Expression methods. Updates the MigrationRunner to use the MigrationContext instead of creating one itself. 2016-05-31 23:29:15 +02:00
Shannon a1b6240299 Fixes more merge issues and tests, removes lucene dependency from core (not sure why it was there), creates IExamineIndexCollectionAccessor for better testing for classes that require access to the indexers like the GridPropertyEditor. 2016-05-31 19:24:33 +02:00
Shannon c025dd463f Fixes up merging issues, bit of manual process with this one 2016-05-31 17:24:40 +02:00
Shannon 6a5a736877 Merge remote-tracking branch 'origin/dev-v7' into dev-v8
# Conflicts:
#	.gitignore
#	build/UmbracoVersion.txt
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/UpdateRelatedLinksData.cs
#	src/Umbraco.Core/Services/DataTypeService.cs
#	src/Umbraco.Core/Xml/XmlHelper.cs
#	src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs
#	src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs
#	src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web.UI/config/ClientDependency.config
#	src/Umbraco.Web.UI/umbraco/config/lang/da.xml
#	src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/ImageCropperPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/LabelPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/MultipleMediaPickerPropertyEditor.cs
#	src/Umbraco.Web/Routing/ContentFinderByLegacy404.cs
#	src/Umbraco.Web/Routing/NotFoundHandlerHelper.cs
#	src/Umbraco.Web/Umbraco.Web.csproj
#	src/Umbraco.Web/umbraco.presentation/content.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/create/DLRScriptingTasks.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/create/language.ascx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/developer/Python/editPython.aspx.cs
#	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/sendToTranslation.aspx.cs
#	src/umbraco.cms/businesslogic/Packager/Installer.cs
#	src/umbraco.cms/businesslogic/translation/Translation.cs
2016-05-31 16:00:32 +02:00
Shannon 2f44241439 fixes test 2016-05-31 15:17:00 +02:00
Stephan 18351b57b4 Consolidate on NewtonSoft.Json 8.0.3 2016-05-31 11:28:33 +02:00
Stephan ec4373a4df Upgraded to NPoco 3.3.3 2016-05-31 11:27:51 +02:00
Stephan a71894f1ec Merge branch 'temp-u4-8447' into temp-u4-8497 2016-05-30 18:45:47 +02:00
Stephan 7a9ff1fc3b U4-8447 - bugfix 2016-05-30 18:45:33 +02:00
Stephan 669d64dff4 Merge temp-u4-8447 into temp-u4-8497 2016-05-30 18:38:47 +02:00
Stephan a514ffc258 U4-8447 - fix xml serialization 2016-05-30 18:32:32 +02:00
Stephan 8c33a31f37 U4-8447 - fix services setup 2016-05-30 17:56:25 +02:00
Stephan ba7638793f U4-8497 - fixing... tests green 2016-05-27 12:48:38 +02:00
Stephan 2e4e8a3fbc U4-8497 - fixing tests... 2016-05-26 19:20:33 +02:00
Stephan 23ce1e5b6e U4-8447 - prepare for NuCache (fixing, now builds) 2016-05-26 18:48:35 +02:00
Stephan 06574b8b40 U4-8447 - prepare for NuCache (work-in-progress) 2016-05-26 17:12:04 +02:00
Stephan 8682940efb Merge branch 'dev-v8' into temp-u4-8447 2016-05-23 13:58:34 +02:00
Stephan 6b88714cdc U4-8447 - MediaService & MemberService 2016-05-23 13:56:59 +02:00
Stephan 4d852102e8 Refactor tests 2016-05-23 13:56:58 +02:00
Stephan 4870c228dc Fix tests 2016-05-20 11:24:30 +02:00
Shannon 1d2b629b66 Removes legacy MemberGroup business logic. 2016-05-19 19:44:46 +02:00
Shannon 23394b4eff Removes Relation and RelationType legacy business logic classes! 2016-05-19 19:36:30 +02:00
Shannon db1cac6086 Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8 2016-05-19 19:21:00 +02:00
Shannon b268f76aa9 Removes umbraco.cms.businesslogic.Dictionary !!! 2016-05-19 19:20:49 +02:00
Stephan a8850f8c0b Merge pull request #1247 from umbraco/dev-v8-ExamineV2
Examine v2 integration
2016-05-19 18:52:31 +02:00
Stephan 21fb67654b Merge dev-v8 into dev-v8-ExamineV2 2016-05-19 18:52:09 +02:00
Stephan 63a86704b6 Cleanup 2016-05-19 18:50:05 +02:00
Stephan b3a83e274f Fix tests 2016-05-19 18:42:07 +02:00
Shannon 9ba095508e Removes MySql stuff from the old data layer project since we need to remove this whole project anyways and these aren't used 2016-05-19 18:41:44 +02:00
Shannon 7621006200 updates trees.Release.config with correct tree 2016-05-19 18:17:49 +02:00
Shannon 1d8e0eb280 Merge branch 'u4-8192' of https://github.com/AndyButland/Umbraco-CMS into AndyButland-u4-8192
# Conflicts:
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2016-05-19 18:16:47 +02:00
Stephan ed40ce0695 Merge branch 'dev-v8' into dev-v8-ExamineV2 2016-05-19 18:13:19 +02:00
Shannon c53d074aaf Merge branch 'U4-8195' of https://github.com/Mantus667/Umbraco-CMS into Mantus667-U4-8195
# Conflicts:
#	src/Umbraco.Web.UI/config/trees.Release.config
#	src/Umbraco.Web.UI/config/trees.config
#	src/Umbraco.Web/Umbraco.Web.csproj
2016-05-19 17:56:11 +02:00
Shannon b91da2949b Merge remote-tracking branch 'origin/dev-v8' into dev-v8-ExamineV2 2016-05-19 17:21:43 +02:00
Shannon 4ce9964019 fix merge issues 2016-05-19 17:21:34 +02:00
Stephan b7ed3b4fe2 Fix tests 2016-05-19 17:17:02 +02:00
Stephan dd29e692d6 minor scheduled publish fixes 2016-05-19 17:00:06 +02:00
Shannon f9ba3fe76f Merge branch 'dev-v8' into dev-v8-ExamineV2
# Conflicts:
#	src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs
#	src/Umbraco.Core/Plugins/PluginManager.cs
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Core/Services/IContentService.cs
#	src/Umbraco.Core/Umbraco.Core.csproj
#	src/Umbraco.Tests/Persistence/Repositories/NotificationsRepositoryTest.cs
#	src/Umbraco.Tests/Services/ContentServiceTests.cs
#	src/Umbraco.Tests/Services/MediaServiceTests.cs
#	src/Umbraco.Tests/Services/ThreadSafetyServiceTest.cs
#	src/Umbraco.Web.UI/config/ClientDependency.config
#	src/Umbraco.Web/Editors/ContentController.cs
#	src/UmbracoExamine/UmbracoContentIndexer.cs
2016-05-19 16:32:22 +02:00
Shannon 6975642a98 puts the scheduled publish in a uow + lock 2016-05-19 15:45:46 +02:00
Shannon Deminick 0ad2a2bfa4 Merge pull request #1219 from MangoPieface/PublicAccessServiceExtension-HasAccessRemoval
U4-8199 - Removal of the internal unused obsolete HasAccess method in PublicAccessServiceExtensions.cs
2016-05-19 11:18:56 +02:00
Shannon 8127731f72 Namespace and file cleanup - Profiling --> Logging, root cache stuff moved to Cache, XmlHelper --> Xml, TypeFinder, etc.. --> Plugins 2016-05-18 23:34:56 +02:00
Shannon 7fb1b4fb3b Updates all cache refreshers to use ctor injection, no more applicationcontext singleton usages 2016-05-18 18:44:08 +02:00
Shannon 2880190b6f Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8 2016-05-18 18:13:04 +02:00
Shannon f51a98435f removes LegacyTransientObjectsResolver (no longer needed), makes CacheRefreshersResolver into a container resolver so we can ctor inject into them (these should NOT be transient instances), Fixes more extension methods that rely on ApplicationContext.Current which exposes a few issues like DescendantsAndSelf since that was only getting them for content types! 2016-05-18 18:12:41 +02:00
Stephan 57ee598fc5 Make sure to dispose UnitOfWork in tests 2016-05-18 16:53:32 +02:00
Shannon 885595b1e6 Hides and Obsoletes crappy extension methods that rely on ApplicationContext.Current and updates all usages to not use them - this is most important because the services were using extensions methods that go back out to the ApplicationContext.Current (booo!) 2016-05-18 16:06:59 +02:00
Shannon e20c1cd0bb U4-8465 Remove Core.Publishing namespace and classes 2016-05-18 13:10:36 +02:00
Stephan ddf38407d8 U4-4847 Refactor ContentService (#1266)
* U4-4748 - refactor Content-, Media- and MemberTypeRepository

* Cleanup Attempt

* Cleanup OperationStatus

* U4-4748 - refactor Content-, Media- and MemberTypeService

* U4-4748 - cleanup locking

* U4-4748 - refactor Content-, Media- and MemberRepository

* U4-4748 - refactor ContentService (in progress)

* U4-4748 - all unit of work must be completed

* U4-4748 - refactor locks, fix tests

* U4-4748 - deal with fixmes

* U4-4748 - lock table migration

* Update UmbracoVersion

* Fix AuthorizeUpgrade

* U4-4748 - cleanup+bugfix lock objects

* U4-4748 - bugfix

* updates a string interpolation
2016-05-18 10:55:19 +02:00
Stephan 12f4873c90 Kill IHttpContextAccessor 2016-05-17 19:41:02 +02:00
Stephan 9ac2c94373 post-merge + bugfixing 2016-05-17 18:56:33 +02:00
Stephan edda877fd6 Merge origin/dev-v8 into dev-v8-ExamineV2 2016-05-17 13:21:47 +02:00
Stephan 04ae479476 Fix build.bat so it supports C# 6 2016-05-13 14:16:47 +02:00
Stephan 4891bbf9a4 Update UmbracoVersion 2016-05-13 14:16:27 +02:00
David Brendel 75613fa60e Merge remote-tracking branch 'refs/remotes/umbraco/dev-v8' into dev-v8 2016-05-12 20:31:30 +02:00
Stephan 9458fad190 Upgrade to NPoco 3.3.0-beta3 2016-05-10 08:48:49 +02:00
Shannon 1a522f2136 Removes Auditing namespace 2016-05-09 10:10:26 +02:00
Shannon 648fbdd3f3 moves packaging models to models/packaging 2016-05-09 10:05:55 +02:00
AndyButland 1e0602bc45 Updated project reference to deleted file 2016-05-08 08:52:14 +02:00
AndyButland aed1986520 Removed legacy tree 2016-05-08 08:06:11 +02:00
AndyButland 1b4d7c3733 Migrated user permissions tree to new format; updated icon to indicate single user being acted on 2016-05-07 23:52:47 +02:00
Mitton 7c72e70967 Added grid editor names for localization. 2016-05-05 05:42:33 +02:00
Mitton 75b74a6687 Enabled localization of grid editor names 2016-05-05 05:12:33 +02:00
Stephan aee7973c11 IScopeContextAdapter uses LogicalCallContext 2016-05-04 08:31:21 +02:00
Shannon Deminick 892935469d Merge pull request #1251 from umbraco/dev-v8-context
From IScopeContext/Factory to IScopeContextAdapter
2016-05-03 22:33:48 +02:00
Shannon a2bc99fabd Removes AmbientContext 2016-05-03 22:33:29 +02:00
Shannon 4619b7b67b fixes merge/rebase 2016-05-03 22:30:45 +02:00
Stephan 0b1f12c823 From IScopeContext/Factory to IScopeContextAdapter 2016-05-03 22:23:42 +02:00
Shannon Deminick 5d72bcdc86 Merge pull request #1249 from umbraco/temp-u4-6147
U4-6147
2016-05-03 22:19:53 +02:00
Stephan 4f0718ef3f U4-6147 - cleanup 2016-05-03 15:50:10 +02:00
Shannon c25f12b1cd Updates all examine refs - uses Nuget 2016-05-03 13:00:55 +02:00
Stephan 715e03d1c5 U4-6147 - fix tests 2016-05-03 11:15:04 +02:00
Stephan 94c82c7cf7 U4-6147 - cleanup units of work 2016-05-03 11:14:55 +02:00
Stephan 8f820d2ecf Merge dev-v8 into temp-u4-6147 2016-05-03 09:07:36 +02:00
Shannon f90a9c2e5e fixes unit tests, all should pass now 2016-05-02 18:29:35 +02:00
Shannon 3c446cbf82 Adds IQueryFactory property to IDatabaseFactory, DatabaseContext.
Changes exposed Query<T> to correct IQuery<T>
Creates interface for QueryFactory: IQueryFactory
Updates all repositories with these changes
2016-05-02 15:38:45 +02:00
Stephan dbaede43af U4-6147 - GetUnitOfWork becomes CreateUnitOfWork 2016-05-02 12:24:13 +02:00
Stephan dc0456e108 U4-6147 - stop injecting RepositoryFactory into services (it's in uow) 2016-05-02 12:18:25 +02:00
Stephan be32448426 U4-6147 - cleanup persistence units of work (in progress) 2016-05-02 12:12:21 +02:00
Stephan 578cb6eafb U4-6147 - repositories are not disposable (in progress) 2016-04-29 19:14:02 +02:00
Shannon 8ab482dbfb Merge branch 'dev-v8' into dev-v8-ExamineV2
Conflicts:
	src/Umbraco.Tests/packages.config
	src/Umbraco.Web.UI/config/ClientDependency.config
2016-04-29 17:12:59 +02:00
Shannon a5cbca348f re-delete files ... argh thanks gitkraken. 2016-04-29 17:11:51 +02:00
Shannon bd31dd6caf Fixes issue with ThreadStatic db
Uses IScopeContext which wraps either HttpContext or CallContext which is created/injected via IOC factory.
2016-04-29 17:08:34 +02:00
Shannon 5c24a3a734 Fixes AuthorizeUpgrade HtmlHelper reference 2016-04-29 15:22:07 +02:00
Shannon Deminick e0a5ad5236 Merge pull request #1226 from umbraco/dev-v8-persistclr
Core.Persistence - post-NPoco cleanup & refactor
2016-04-29 15:18:33 +02:00
Shannon 74b83f30c3 Gets all tests passing and updates content/media svc/repos with filters
The content/media services & repos are now consistent with their filter, filterargs parameters and tests have been updated to support this, we can now pass in more robust filters to these methods which is required by Examine to get published content from the db.
2016-04-29 10:50:03 +02:00
Stephan 8ab61039ed U4-6147 - refactor RepositoryFactory and all IUnitOfWork (in progress) 2016-04-29 09:10:00 +02:00
Shannon 209e9373d0 Rebuild on startup working
Gets indexes rebuilding at startup, gets indexes rebuilding with published content which required some updates to the content service/repo to pass in a more robust filter when paging. Added more tasks to fix up more of the examine parts like the local storage sync which currently just throws exceptions.
2016-04-29 00:50:26 +02:00
Shannon 734f5f35dc Fixes tests 2016-04-28 22:12:55 +02:00
Shannon cba64aeb49 cleans up the UmbracoExamineSearcher class
makes sure the temp storage stuff works - but this will be only configuration based searchers (legacy)
2016-04-28 20:19:38 +02:00
Shannon 0f2c59b735 Obsolete code updated to correct usages
Updates most of the code in the umbraco examine indexers to use current (non deprecated examine code)
2016-04-28 18:39:52 +02:00
Stephan b0a33844b1 Fixing tests - database 2016-04-27 19:59:01 +02:00
Shannon f992c47111 all tests passing 2016-04-27 16:37:57 +02:00
Shannon e42ac644a3 Merge branch 'dev-v8' into dev-v8-ExamineV2
Conflicts:
	src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs
	src/UmbracoExamine/DataServices/PropertyAliasDto.cs
	src/UmbracoExamine/packages.config
2016-04-27 14:30:10 +02:00
Shannon 0f2f439477 Updates examine, fixes more tests, ensures the correct FieldDefinitions are set 2016-04-27 12:58:43 +02:00
Shannon 589b80ca03 Gets all index tests passing 2016-04-26 17:29:40 +02:00
Shannon 2de8f5117c Adds parent id option, finally getting some examine tests passing 2016-04-26 15:48:25 +02:00
Shannon af95e4bb29 a little more integration, working on getting unit tests passing 2016-04-24 11:16:48 +02:00
Shannon 46e714208d More refactoring with new examine 2 version, it builds again but nothing will quite work yet, now to work on the unit tests. 2016-04-23 18:57:13 +02:00
Shannon 4491d033e9 it builds! ... now to fix a bunch more. 2016-04-22 23:23:27 +02:00
Stephan ae7b93609b Fixing tests - application context 2016-04-22 12:03:30 +02:00
Stephan 1f85f51ecd Fixing tests - services test object 2016-04-22 09:58:02 +02:00
Stephan 3daf2bf9a0 Fixing test - MultiValuePropertyEditorTests, FindingMigrationsTest 2016-04-22 09:34:12 +02:00
Shannon 1f2838cb0a fixes merge issues 2016-04-21 14:38:39 +02:00
Shannon 2027cd7b07 Merge branch 'dev-v8' into dev-v8-persistclr
Conflicts:
	src/Umbraco.Core/Persistence/UmbracoDatabase.cs
	src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs
	src/Umbraco.Tests/Umbraco.Tests.csproj
2016-04-21 12:19:14 +02:00
Shannon Deminick afc78317ca Merge pull request #1236 from umbraco/temp-u4-8354
U4-8354 - fix v8 tests
2016-04-21 12:15:55 +02:00
Shannon 081d6ecc07 adds notes 2016-04-21 12:15:39 +02:00
Shannon 55ae0d3af6 Ensure the correct services are injected in to property editors so they are not using singletons 2016-04-21 11:38:43 +02:00
Stephan 23817cdce5 Fixing tests - MigrationStartupHandler is IDisposable 2016-04-20 22:52:48 +02:00
Stephan 07b410459f Fixing tests - file systems 2016-04-20 22:52:48 +02:00
Stephan 4e702c7c79 Fixing tests - kill KegacyShortStringHelper 2016-04-20 22:52:48 +02:00
Stephan 41f6012eb3 Fixing tests - ServiceContext 2016-04-20 22:52:48 +02:00
Stephan bf51be950f Fixing tests - CoreBootManager 2016-04-20 22:52:48 +02:00
Stephan 7e8b4d13a7 Fixing tests - ValueListPreValueEditor 2016-04-20 22:52:48 +02:00
Stephan b04e070757 Fixing tests - Plugin and TypeFinder 2016-04-20 22:52:48 +02:00
Shannon 3ef204a46f Merge remote-tracking branch 'origin/dev-v7' into dev-v8
Conflicts:
	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
	src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs
	src/Umbraco.Core/Persistence/UmbracoDatabase.cs
	src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
2016-04-20 15:53:13 +02:00
Shannon 289d5f5741 removes the need for the custom regex for the order by since we no longer have an order by sub-query 2016-04-20 12:51:42 +02:00
Shannon f149ca9c76 Fixes SqlCe and MySQL sorting on custom properties for list view, this also makes the query work much better and there is no longer a requirement for a sub-query in the order by statement. 2016-04-20 12:50:52 +02:00
bjarnef 9001cd8a6f Sort data types array by name A-Z 2016-04-14 23:50:43 +02:00
Stephan 3b612bf346 Core.Persistence - more cleanup 2016-04-14 18:20:07 +02:00
Stephan 5b935dbd90 Core.Persistence - post-cleanup debugging 2016-04-13 21:21:20 +02:00
Stephan 01d46944b7 Core.Persistence - post-cleanup debugging 2016-04-13 18:27:39 +02:00
Stephan e6f6444034 Core.Persistence - post-cleanup debugging 2016-04-13 17:33:25 +02:00
Stephan aceaf4b15d Core.Persistence - massive cleanup 2016-04-13 17:33:09 +02:00
Shannon b8d8c9e59a fixes merge - but the sorting on custom field will not currently work, need to fix that now. 2016-04-13 16:41:45 +02:00
Shannon df016813ea Merge remote-tracking branch 'origin/dev-v7.5' into dev-v8
Conflicts:
	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IContentRepository.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IMediaRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
	src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs
	src/Umbraco.Core/Services/ContentService.cs
	src/Umbraco.Core/Services/MediaService.cs
	src/Umbraco.Core/Services/MemberService.cs
	src/Umbraco.Tests/UmbracoExamine/IndexInitializer.cs
	src/Umbraco.Web/Editors/AuthenticationController.cs
	src/Umbraco.Web/Editors/BackOfficeController.cs
	src/UmbracoExamine/UmbracoMemberIndexer.cs
	src/umbraco.businesslogic/UmbracoSettings.cs
2016-04-13 16:18:58 +02:00
Shannon 43f0d77c10 Merge remote-tracking branch 'origin/dev-v7' into dev-v8 2016-04-13 16:09:14 +02:00
Shannon a3158b48ac fix merge 2016-04-12 15:18:14 +02:00
Shannon 06ce26989a Merge remote-tracking branch 'origin/dev-v7' into dev-v8
Conflicts:
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web/PropertyEditors/RelatedLinksPropertyEditor.cs
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/WebApi/Filters/DisableBrowserCacheAttribute.cs
2016-04-12 15:16:19 +02:00
Stephan 365a01a476 From PetaPoco to NPoco (#1207)
* NPoco - 2.x (builds)

* NPoco - v3.1 (does not build)

* NPoco - builds

* NPoco - configure database factory (tests fail)

* Pick fix from 7.4

* NPoco - stock v3.1 - sort-of working

* NPoco - fix merge

* Fix Newtonsoft.Json in web.Template.Debug.config

* NPoco - fix SELECT *

* NPoco - fixing repositories

* NPoco - fix EntityRepository

* NPoco - fix EntityRepository

* NPoco - cosmetic

* NPoco - use 3.1.0-u001 from github/zpqrtbnk/NPoco

* Fixes build, NPoco needed to be referenced in the cms and UmbracoExamine projects

* Fixes lots of tests

* fixes more tests

* NPoco - bugfixing

* Bugfix CacheHelper in tests

* Bugfix connection mocking in tests

* NPoco - inject database in Sql.Select<>

* NPoco - discovery retry policy only once

* Enable C# 6 for Umbraco.Core

* NPoco - introduce UmbracoSql, cleanup

* NPoco - more cleanup and fixing

* NPoco - fix UserRepository

* Optimize InGroupsOf

* Implement UmbracoDatabase.FetchByGroups

* NPoco - fix Select

* NPoco - simplify GetPagedResultsByQuery

* Cherry-pick DisableBrowserCacheAttribute fix from 7.4

* Upgrade NPoco to use Sql<TContext>

* U4-8257 - cleanup relators

* 4-8257 - cleanup more relators

* Upgrade NPoco with more OOTB version

* fixes a couple tests, changes double check lock to Lazy<T>
2016-04-12 15:11:07 +02:00
sna 21f2929ab3 U4-8199 Remove the internal obsolete HasAccess method.
It it not used and marked as obsolete.
2016-04-08 14:37:33 +01:00
Shannon 1b8747bd6d removes legacy disable user menu item and uses the new/normal way of dealing with menu items. 2016-03-31 19:41:42 +02:00
Shannon c6a586274e Merge branch 'U4-8189' of https://github.com/danlister/Umbraco-CMS into danlister-U4-8189
Conflicts:
	src/Umbraco.Core/Constants-Applications.cs
	src/Umbraco.Web/Umbraco.Web.csproj
2016-03-31 19:40:07 +02:00
Shannon 4df5ddcb4c Removes old serializers for old tree formats 2016-03-31 18:50:25 +02:00
Shannon cf822be04f Merge branch 'MangoPieface-dev-v8' into dev-v8
Conflicts:
	src/Umbraco.Web/Umbraco.Web.csproj
2016-03-31 18:46:26 +02:00
Shannon b6f88895dc re-adds images that are still required for some of the legacy file editors 2016-03-31 14:35:49 +02:00
Shannon 734392bb0e Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8 2016-03-31 14:31:21 +02:00
Shannon b22fda1e80 fixes some ysods 2016-03-31 14:28:41 +02:00
Shannon Deminick aefe2ee1c3 Merge pull request #1196 from BatJan/dev-v8
Part 1 of U4-8226 Remove all unused/un-needed webforms files from the Umbraco.Web and Umbraco.Web.UI projects
2016-03-31 14:27:31 +02:00
Shannon 79bebb9e14 Merge remote-tracking branch 'origin/dev-v8' into dev-v8
Conflicts:
	src/Umbraco.Web.UI/config/trees.Release.config
	src/Umbraco.Web/Umbraco.Web.csproj
2016-03-30 16:08:08 +02:00
Shannon 74e1078c31 Merge branch 'U4-8198_file_system' of https://github.com/yannisgu/Umbraco-CMS into yannisgu-U4-8198_file_system
Conflicts:
	src/Umbraco.Web/Umbraco.Web.csproj
2016-03-30 16:07:45 +02:00
Warren Buckley 659af0ba48 Merge branch 'U4-8194' of https://github.com/jamescoxhead/Umbraco-CMS into jamescoxhead-U4-8194
# Conflicts:
#	src/Umbraco.Web/Umbraco.Web.csproj
2016-03-30 14:44:03 +01:00
Shannon Deminick 3c697436b1 Merge pull request #1195 from yannisgu/U4-8193
U4-8193  replaced loadMacros with MacrosTreeController
2016-03-30 15:15:41 +02:00
Shannon 429d7e2aff WIP - starts porting umbraco over to lucene 3 and Examine v2 2016-03-30 15:12:30 +02:00
James Coxhead efa8bf44f9 Merge remote-tracking branch 'upstream/dev-v8' into U4-8194
# Conflicts:
#	src/Umbraco.Web.UI/config/trees.Release.config
#	src/Umbraco.Web.UI/config/trees.config
#	src/Umbraco.Web/Umbraco.Web.csproj
#	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadDictionary.cs
2016-03-24 20:56:44 +00:00
James Coxhead d99aef5ee8 Updated config transforms 2016-03-24 20:30:31 +00:00
Stephan e6a187a3d6 Merge pull request #1197 from yannisgu/fixNewtonsoft
Fix Newtonsoft.JSON dependency when running in debug mode in v8
2016-03-24 20:17:53 +01:00
Yannis Guedel 69dc8bc57f fix newtonsoft.json 8.0.0 when running in debug mode 2016-03-24 19:49:01 +01:00
Jan Skovgaard 2d3d36a14c Removing unused member usercontrols and master layouts. 2016-03-24 12:43:51 +01:00
Jan Skovgaard e2fbbc3df0 First commit - Could not resist the urge to get rid of a lot of unused images as well as some of the unused .ascx files. Primarily images removed in this commit and two user controls no longer used in the dashboard.config. 2016-03-24 12:02:29 +01:00
Yannis Guedel 5ec0a58d4d fixed copy paste error 2016-03-23 22:58:52 +01:00
Yannis Guedel bb7d5b4bd2 U4-8193 replaced loadMacros with MacrosTreeController 2016-03-23 22:56:42 +01:00
Shannon 4defc881d4 Removes lots of dead methods 2016-03-23 12:00:58 +01:00
Shannon 295368fc2b Merge remote-tracking branch 'origin/dev-v7' into dev-v8
Conflicts:
	.gitignore
	build/UmbracoVersion.txt
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/config/ClientDependency.config
2016-03-23 11:04:06 +01:00
Shannon 7d3ba43816 Removes lots of Dead Code - thanks NDepend! 2016-03-23 10:58:06 +01:00
David Brendel 91ab84ef72 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v8' into dev-v8 2016-03-22 21:52:03 +01:00
Shannon fb104004e0 Updates LightInject 2016-03-22 16:39:52 +01:00
Shannon 4355761da1 U4-8228 Update to latest Newtonsoft.Json 2016-03-22 16:35:23 +01:00
Shannon 9baf344ad3 U4-8227 Change Umbraco.Core.Models.Mapping.MapperConfiguration and Umbraco.Core.Models.Mapping.IMapperConfiguration implementations AND U4-6923 Update to latest Automapper - with signed assembly 2016-03-22 16:29:04 +01:00
Shannon b90cb7304b removes old moveOrCopy dialog, removes old CMSNode.asmx service (no idea what that did), some work on U4-8224 Remove all legacy/obsolete webservices from umbraco.presentation/webservices, and some work on U4-8226 Remove all unused/un-needed webforms files from the Umbraco.Web and Umbraco.Web.UI projects 2016-03-22 15:34:23 +01:00
Shannon ed7003110b Removes legacy trashcan business logic class along with the legacy trashcan webforms files. 2016-03-22 14:46:27 +01:00
Shannon cdb58d7f8c Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8 2016-03-22 14:39:21 +01:00
Shannon d296bf80ff Removes legacy 'Notification' business logic, adds new SetNotifications method to INotificationService 2016-03-22 14:39:08 +01:00
Stephan bd6e273779 Merge remote-tracking branch 'origin/dev-v8' into dev-v8 2016-03-22 14:38:00 +01:00
Stephan df99edba18 GitIgnore Umbraco.Tests/media 2016-03-22 14:37:48 +01:00
Shannon 329a48edea U4-8223 Remove all old events and event classes 2016-03-22 14:18:45 +01:00
Shannon 286e43bc10 U4-8222 Remove IMacroEngine - we will only ship with the macro engines we have currently 2016-03-22 12:48:59 +01:00
Shannon f181c3041e Ensures Admin creation has translation section 2016-03-22 12:35:59 +01:00
Shannon eb59d33f42 updates dictionary tree sort + config and ensures that all new users by default have access to translations 2016-03-22 12:34:25 +01:00
Shannon Deminick bc7016384c Merge pull request #1182 from Mantus667/U4-5448
U4-5448
2016-03-22 12:28:55 +01:00
Shannon 4fb69e0c59 updates trees sort order and trees.Release.config 2016-03-22 12:26:37 +01:00
Shannon Deminick fd0af41710 Merge pull request #1189 from yannisgu/U4-7543_Move_data_type_tree_to_settings
U4-7543 Move data type tree to settings
2016-03-22 12:20:58 +01:00
Shannon 4715a17c03 updates the csproj file with the removed items, puts back in punycode.min for now since its still used, fixes a couple ysods. 2016-03-22 12:11:02 +01:00
Shannon d52f295547 Merge branch 'BatJan-dev-v8' into dev-v8 2016-03-22 11:56:14 +01:00
Shannon 31733bdb6e Merge branch 'dev-v8' of https://github.com/BatJan/Umbraco-CMS into BatJan-dev-v8 2016-03-22 11:56:02 +01:00
James Coxhead 88ad2cdc37 Removed legacy loadDictionary class 2016-03-21 23:32:56 +00:00
James Coxhead a04506ba60 Created new dictionary tree controller 2016-03-21 23:31:22 +00:00
sna 34931cae91 Merge remote-tracking branch 'upstream/dev-v8' into dev-v8 2016-03-21 21:46:26 +00:00
sna afc3126125 U4-8199 - Remove the JSONSerializer, where used for serialisation it's been replaced with JavaScriptSerializer
Also removed references to JSONSerializer.ToJSONObject  in \Umbraco-CMS\src\Umbraco.Web\umbraco.presentation\umbraco\controls\Tree\JTreeContextMenuItem.cs as it looks like this is just used by the jsTree which will be removed in a future commit.

http://issues.umbraco.org/issue/U4-8199
2016-03-21 21:41:26 +00:00
Yannis Guedel 4db83be874 U4-7543 Move data type tree to settings
data type tree belongs in settings since it is heavily tied to content
types.
2016-03-21 22:38:40 +01:00
Jan Skovgaard a533362e7c Removing unused scripts, styles and images. 2016-03-21 22:35:52 +01:00
sna bfe9bd5a20 U4-8199 - Remove the obsolete EncodedStringWriter.cs
No references, clean build - looks safe to remove

http://issues.umbraco.org/issue/U4-8199
2016-03-21 21:15:31 +00:00
Sebastiaan Janssen 8113b7e66c Fixes NuGet build 2016-03-21 20:23:43 +01:00
Shannon 0964985711 Merge branch 'MangoPieface-dev-v8' into dev-v8 2016-03-21 17:47:41 +01:00
sna 5b5ff10af0 U4-8199: Removed SerializableData.cs, this was used by the XmlTree.cs for the Serializable.XmlTree in the ToString() method.
This in turn was only used in the LegacyTree class, so I deleted this too. This also meant I could remove the old Render method in BaseTree.

http://issues.umbraco.org/issue/U4-8199
2016-03-21 16:14:25 +00:00
Shannon Deminick 0c5081b6a3 Merge pull request #1185 from danlister/U4-8190
U4-8190 Converted umbraco.cms.presentation.Trees.UserTypes to use the new tree structure
2016-03-21 11:45:21 +01:00
Shannon Deminick 68245a85f0 Merge pull request #1183 from danlister/U4-8187
U4-8187 Removed legacy loadLanguages and loadTemplates tree classes
2016-03-21 11:39:09 +01:00
Dan Lister 1e08f5f9ce U4-8190 Converted umbraco.cms.presentation.Trees.UserTypes to use the new tree structure 2016-03-18 14:58:24 +00:00
Dan Lister 7f6296b255 U4-8187 Removed legacy loadLanguages and loadTemplates tree classes 2016-03-18 10:07:56 +00:00
David Brendel 0468af67d4 U4-5448
Move dictionary tree to translation section instead of settings section
2016-03-18 07:58:19 +01:00
Shannon 69e53b6510 Merge remote-tracking branch 'origin/dev-v7' into dev-v8 2016-03-17 16:46:55 +01:00
Shannon 9c1880b768 umbraco.interfaces = GONE! 2016-03-17 16:06:41 +01:00
Shannon 39c39879f9 Moves IPackageAction to _Legacy Core for now 2016-03-17 16:05:56 +01:00
Shannon 516d0365aa moves all package actions to Web _Legacy for now. 2016-03-17 16:03:12 +01:00
Shannon a4ab137c3f moves ICacheRefresher to Core 2016-03-17 15:59:35 +01:00
Shannon d4bf8287bd fixes an ioc registration for PartialViewRepository 2016-03-17 15:52:54 +01:00
Shannon c0f8532350 Removes ITree! 2016-03-17 15:48:43 +01:00
Shannon 1a880f6b68 moves the LegacyDialogHandler stuff to _Legacy namespaces for now, moves the legacy ITask and ITaskReturnUrl to the same namespace/proj. 2016-03-17 15:30:25 +01:00
Shannon bb6b9f4ebc moves legacy actions to _Legacy namespace for now 2016-03-17 15:28:46 +01:00
Shannon 7d20557937 Moves IAction and ActionsResolver to Web proj, removes IMenuElement, ITag, IUseTags 2016-03-17 15:26:22 +01:00
Shannon 12d7d060d7 Removes the super old INode and IProperty! 2016-03-17 15:13:50 +01:00
Shannon 73fdc17bc4 removes IMacroGuiRendering, all umbraco.interfaces/skinning classes, fixes CDF load in some aspx views, removes dialog/editmacro.aspx, removes macroParameterControl 2016-03-17 15:09:20 +01:00
Shannon 63cb6d96b2 Merge remote-tracking branch 'origin/dev-v7' into dev-v8 2016-03-17 14:30:02 +01:00
Shannon bcd12172eb manually merges: U4-4075 umbracoSettings help section removed 2016-03-17 14:28:06 +01:00
Shannon 430afcab90 Removes Umbraco.Core.Models.Template.GetTypeOfRenderingEngine 2016-03-17 14:21:15 +01:00
Shannon d4b0b3d31b removes IPublicAccessService.AddOrUpdateRule 2016-03-17 14:18:34 +01:00
Shannon 1ed1a8a580 umbraco.businesslogic.dll = GONE 2016-03-17 10:43:05 +01:00
Shannon a292defdb9 moves LegacySqlHelper to the only places that needs it now: umbraco.cms,marks as obsolete and internal since its temporary. 2016-03-17 10:41:21 +01:00
Shannon 4c9f4beaf9 Removes old 'Application' and renames to LegacySqlHelper 2016-03-17 10:39:39 +01:00
Shannon 24fed0de2e removes ISqlHelper usages from Web project 2016-03-17 10:35:02 +01:00
Shannon 9ac2d04aea User and User type from the old businesslogic assembly are GONE! 2016-03-16 17:52:08 +01:00
Shannon f594a1132d Remove IMediaFactory 2016-03-16 15:56:52 +01:00
Shannon 3b191239be Removes all usages of UserType 2016-03-16 15:55:26 +01:00
Shannon e1f17e848d moves the legacy serialization classes for the super old XmlTree format into Web proj so we can remove the businesslogic DLL first, we'll get to removing those classes later as it will be a bit tricky. 2016-03-16 15:29:08 +01:00
Shannon 88504306ca fixes merge 2016-03-16 15:14:00 +01:00
Shannon d37d31246e Merge remote-tracking branch 'origin/dev-v7' into dev-v8
Conflicts:
	src/Umbraco.Core/Persistence/Migrations/MigrationRunner.cs
	src/Umbraco.Core/Persistence/Querying/BaseExpressionHelper.cs
	src/Umbraco.Tests/Persistence/SyntaxProvider/MySqlSyntaxProviderTests.cs
	src/Umbraco.Web.UI/umbraco/create/content.ascx
	src/Umbraco.Web.UI/umbraco/create/member.ascx
	src/Umbraco.Web.UI/umbraco/create/nodeType.ascx
	src/Umbraco.Web/PropertyEditors/TrueFalsePropertyEditor.cs
	src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs
	src/Umbraco.Web/Security/Identity/BackOfficeCookieManager.cs
	src/Umbraco.Web/Strategies/Migrations/ClearMediaXmlCacheForDeletedItemsAfterUpgrade.cs
	src/Umbraco.Web/Strategies/Migrations/PublishAfterUpgradeToVersionSixth.cs
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/WebBootManager.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/settings/stylesheet/editstylesheet.aspx.cs
2016-03-16 15:02:53 +01:00
Shannon 2cc709c460 Removes StateHelper!! Adds a few cookie extensions and http extensions to more easily replace. 2016-03-16 14:59:21 +01:00
Shannon cbb06dcfe1 umbraco.ui is GONE :) 2016-03-15 19:54:21 +01:00
Shannon 0636ea0b16 fix build 2016-03-15 16:59:01 +01:00
Shannon b98277f573 remore ui replacements 2016-03-15 16:58:13 +01:00
Shannon fb5e998e1f remore ui replacements 2016-03-15 16:39:17 +01:00
Shannon bf36b54ac8 remore ui replacements 2016-03-11 16:11:33 +01:00
Shannon a47a9e5e64 remore ui replacements 2016-03-11 16:02:33 +01:00
Shannon 9ebe93df06 remore ui replacements 2016-03-11 15:56:00 +01:00
Shannon ca3630f9d9 remore ui replacements 2016-03-11 15:47:22 +01:00
Shannon fa0588116f remore ui replacements 2016-03-11 15:43:34 +01:00
Shannon 5eea4d039f remore ui replacements 2016-03-11 15:32:05 +01:00
Shannon 26f85e4241 remore ui replacements 2016-03-11 15:28:08 +01:00
Shannon b47eedb381 remore ui replacements 2016-03-11 15:24:26 +01:00
Shannon fd8af57167 regex is working! 2016-03-11 15:16:43 +01:00
Shannon 55301b9b6b start replacing ui.text calls... now gonna try some regex. 2016-03-11 15:14:31 +01:00
Shannon 6faa886362 removes commented lines 2016-03-11 14:11:16 +01:00
Shannon d5ec991556 doh! not sure how the identity extensions files got committed, have removed them 2016-03-11 14:01:34 +01:00
Shannon 15a48dd921 Ensures more IoC services are there, creates new GetContentXml methods on IContentServices, updates the xml cache 'content' class to use these methods, removes more checks for legacy XML structures, removes old xsd schema files. 2016-03-11 13:54:56 +01:00
Shannon 6ee5457a81 Fixes more merge issues, project builds and runs 2016-03-11 09:23:09 +01:00
Shannon 8729e00864 it builds! ... but not sure it works yet. 2016-03-10 19:47:10 +01:00
Shannon f6f54fd057 Merge branch 'master-v7' into dev-v8
Conflicts:
	build/UmbracoVersion.txt
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Core/CoreBootManager.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/UpdateRelatedLinksData.cs
	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs
	src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs
	src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs
	src/Umbraco.Core/Persistence/Repositories/EntityContainerRepository.cs
	src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/PublicAccessRepository.cs
	src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs
	src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs
	src/Umbraco.Core/Persistence/RepositoryFactory.cs
	src/Umbraco.Core/PropertyEditors/PropertyEditorValueConvertersResolver.cs
	src/Umbraco.Core/Services/ContentTypeService.cs
	src/Umbraco.Core/Services/FileService.cs
	src/Umbraco.Core/Services/LocalizationService.cs
	src/Umbraco.Core/Services/MemberTypeService.cs
	src/Umbraco.Core/Services/PackagingService.cs
	src/Umbraco.Core/Services/ServiceContext.cs
	src/Umbraco.Tests/Persistence/Querying/ContentTypeSqlMappingTests.cs
	src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/DictionaryRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/config/ClientDependency.config
	src/Umbraco.Web.UI/packages.config
	src/Umbraco.Web.UI/web.Template.config
	src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs
	src/Umbraco.Web/Models/Mapping/ContentTypeModelMapper.cs
	src/Umbraco.Web/PropertyEditors/ImageCropperPropertyValueEditor.cs
	src/Umbraco.Web/PropertyEditors/ListViewPropertyEditor.cs
	src/Umbraco.Web/Services/ApplicationTreeService.cs
	src/Umbraco.Web/Services/SectionService.cs
	src/Umbraco.Web/Trees/MemberTreeController.cs
	src/Umbraco.Web/UI/Pages/ClientTools.cs
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/WebBootManager.cs
	src/Umbraco.Web/umbraco.presentation/macro.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadNodeTypes.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/channels/api.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/create/PartialViewTasksBase.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/exportDocumenttype.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/protectPage.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/templateControls/ItemRenderer.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/MediaExtensions.cs
	src/umbraco.businesslogic/BasePages/ClientTools.cs
	src/umbraco.businesslogic/UmbracoSettings.cs
	src/umbraco.cms/businesslogic/CMSNode.cs
	src/umbraco.cms/businesslogic/Content.cs
	src/umbraco.cms/businesslogic/cache/Cache.cs
	src/umbraco.cms/businesslogic/datatype/DataTypeDefinition.cs
	src/umbraco.cms/businesslogic/propertytype/propertytype.cs
	src/umbraco.cms/businesslogic/web/Document.cs
	src/umbraco.cms/helpers/DeepLink.cs
	src/umbraco.editorControls/tinyMCE3/TinyMCE.cs
2016-03-10 19:20:15 +01:00
Shannon a26bb336f1 hard codes the en-US language until we get rid of ui calls. 2016-03-10 18:35:29 +01:00
Shannon 5659f8d3f7 fixes back office rendering 2016-02-17 17:39:12 +01:00
Shannon e10fb4fd7e Gets the Services IoC working!! 2016-02-17 17:37:17 +01:00
Shannon 172c4a59d7 Creates a RegisterSingleton ext method for easier registration 2016-02-17 17:14:54 +01:00
Shannon 4fa1ce42dc WIP - moving tree and section service implementations to Web because they are web based and they need web based objects, there's no sense in coying all of the non-web objects to Core. Now we need to use IoC for the ServiceContext 2016-02-17 16:45:26 +01:00
Shannon 6e7f3b5500 Removes the old business logic ApplicationTree and affilated files, replaces with current data structures. 2015-12-28 18:44:20 +01:00
Shannon b5eee9194f fixes build errors 2015-12-28 18:11:08 +01:00
Shannon e3d153e422 wip for removing legacy Application and moving IApplication 2015-12-28 18:06:18 +01:00
Shannon ca407d78cc Removes the old Log/ILog along with the concept of an ExternalLogger, updates the IAuditService to handle what the Log used to do 2015-12-23 15:22:45 +01:00
Shannon e005c5bba6 Massive file cleanup, removed the old BasePage, UmbracoEnsuredPage, ClientTools, moved the menu 'Action' to the Web project until we can remove those too. 2015-12-23 13:51:16 +01:00
Shannon de776f86a4 Lots of code cleanup, lots of unused/obsolete classes & files removed. 2015-12-22 19:25:10 +01:00
Shannon 4f3968e837 R# cleanup, losts of obsoleted methods removed 2015-12-22 18:00:11 +01:00
Shannon 0b13e18fd5 some r# cleanup 2015-12-22 17:25:09 +01:00
Shannon 5af839693c U4-7600 Remove obsoleted string helpers, string extensions, umbraco.helper, umbraco.cms.helper.* 2015-12-22 16:48:55 +01:00
Shannon 1aa52b4cc9 removes old helpers/url 2015-12-22 16:43:11 +01:00
Shannon 24e2341115 U4-7600 Remove obsoleted string helpers, string extensions & umbraco.helper 2015-12-22 16:37:21 +01:00
Shannon fb5e11fea6 Merge remote-tracking branch 'origin/temp-U4-7591' into dev-v8
Conflicts:
	src/Umbraco.Web/umbraco.presentation/umbraco/create/content.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/create/member.ascx.cs
2015-12-22 16:28:27 +01:00
Shannon 516b59a12a Merge remote-tracking branch 'origin/temp-U4-7591' into dev-v8
Conflicts:
	src/Umbraco.Tests/UI/LegacyDialogTests.cs
	src/Umbraco.Web.UI/config/ClientDependency.config
	src/Umbraco.Web/Umbraco.Web.csproj
2015-12-22 16:23:55 +01:00
Shannon 6078b822c6 Merge remote-tracking branch 'origin/7.4.0' into dev-v8 2015-12-22 16:22:30 +01:00
Shannon 9f0cc15822 U4-7600 Remove obsoleted string helpers, string extensions & umbraco.helper 2015-12-22 16:22:17 +01:00
Shannon c7eaf9a591 U4-7600 Remove obsoleted string helpers & string extensions 2015-12-22 16:07:45 +01:00
Shannon d6779619ea U4-6899 Change UmbracoHelper.TagQuery to return ITagQuery instead of the current hack to return a non interface 2015-12-22 15:45:15 +01:00
mattbrailsford 7dcb4435d8 Updated insert macro dialog to prevent closing on enter key 2015-12-22 11:18:32 +00:00
Shannon 880e17601b U4-5071 Update MiniProfiler to latest major version 2015-12-21 21:28:35 +01:00
Shannon 395e904df3 U4-6923 Update to latest Automapper - with signed assembly 2015-12-21 20:48:20 +01:00
Shannon ebbfe4edad U4-1324 log4net assembly Umbraco uses custom log4net build that is not strongly typed 2015-12-21 19:33:58 +01:00
Shannon afe06ffb02 U4-5424 Upgrade to latest .Net framework version (4.6.1) 2015-12-21 19:23:13 +01:00
Shannon c242383430 removes some obsolete code, ensures that UmbracoHelper is added to the container. 2015-12-21 17:50:00 +01:00
Shannon 2f5616a21c Content is now rendering 2015-12-21 17:09:31 +01:00
Shannon e17720a5f7 updates LightInject, saves a ton of code for repo registrations. 2015-12-21 16:33:09 +01:00
Shannon 5f6ae3683e removes files that shouldn't be committed 2015-12-21 15:03:10 +01:00
Shannon fbf93e2059 Umbraco now installs and can install the starter kit... not much else though ;) 2015-12-21 15:02:21 +01:00
Shannon 6593f4eaaa creates ServicesCompositionRoot 2015-12-21 14:27:36 +01:00
Shannon 69e1df87df only 22 tests failing now 2015-12-21 14:08:05 +01:00
Shannon 34a379ac5f Merge branch 'dev-v8' of https://github.com/umbraco/Umbraco-CMS into dev-v8 2015-12-21 13:41:11 +01:00
Shannon eaf8d55d48 WIP - refactored RepositoryFactory to use IoC, everything builds, haven't tested anything yet. 2015-12-21 13:36:58 +01:00
Shannon Deminick 91dc7576ea Merge pull request #965 from umbraco/temp-v8macros
Fixing failing macro tests.
2015-12-21 10:51:21 +01:00
Claus 46bdae7492 Fixing failing macro tests. 2015-12-21 10:45:14 +01:00
Shannon 96c336e34c now only 24 tests failing, that's pretty good! 2015-12-20 20:40:49 +01:00
Shannon 7ec63ad491 fixes some macro unit tests (some still need fixing though) 2015-12-20 20:17:57 +01:00
Shannon 04e7979fe6 Fixes some merge issues, gets a bunch more tests operational. 2015-12-20 20:09:25 +01:00
Shannon 4d0b2b745a first unit tests passing 2015-12-20 17:28:38 +01:00
Shannon 0bcf38b267 Removes LightInject as Source and adds it as DLL dependencies, updates to latest Light Inject. 2015-12-20 17:09:46 +01:00
Shannon 0fd9a074d8 WIP sln is now building... though i doubt anything works atm, working on that now. 2015-12-20 16:49:24 +01:00
Shannon 73cc4b4e3f Web proj is building 2015-12-18 14:58:22 +01:00
Shannon f09f3c4129 ok, now Core proj is building 2015-12-18 14:45:28 +01:00
Shannon 6f43230a9b Core is more or less building (i think) 2015-12-18 14:24:17 +01:00
Shannon 5c5a5d12cc WIP working on getting Core project to build 2015-12-18 13:29:12 +01:00
Shannon 2ea9418fd7 Merge remote-tracking branch 'origin/7.4.0' into dev-v8
Conflicts:
	build/UmbracoVersion.txt
	src/Umbraco.Core/ApplicationContext.cs
	src/Umbraco.Core/Configuration/UmbracoConfig.cs
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Core/CoreBootManager.cs
	src/Umbraco.Core/DatabaseContext.cs
	src/Umbraco.Core/Dictionary/CultureDictionaryFactoryResolver.cs
	src/Umbraco.Core/Manifest/ManifestParser.cs
	src/Umbraco.Core/Models/DataTypeDefinition.cs
	src/Umbraco.Core/ObjectResolution/ApplicationEventsResolver.cs
	src/Umbraco.Core/Persistence/DatabaseSchemaHelper.cs
	src/Umbraco.Core/Persistence/Factories/MemberTypeFactory.cs
	src/Umbraco.Core/Persistence/Migrations/MigrationBase.cs
	src/Umbraco.Core/Persistence/Migrations/MigrationExpressionBase.cs
	src/Umbraco.Core/Persistence/Migrations/MigrationResolver.cs
	src/Umbraco.Core/Persistence/Migrations/MigrationRunner.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/AlterSyntaxBuilder.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/Column/AlterColumnBuilder.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/Expressions/AlterColumnExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/Expressions/AlterDefaultConstraintExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/Expressions/AlterTableExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Alter/Table/AlterTableBuilder.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Create/Column/CreateColumnBuilder.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Create/CreateBuilder.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Create/Expressions/CreateConstraintExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Create/Expressions/CreateTableExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Create/Table/CreateTableBuilder.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/DeleteBuilder.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteColumnExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteConstraintExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteDataExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteDefaultConstraintExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteForeignKeyExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteIndexExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Delete/Expressions/DeleteTableExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Execute/ExecuteBuilder.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Execute/Expressions/ExecuteCodeStatementExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Execute/Expressions/ExecuteSqlStatementExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Expressions/CreateColumnExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Expressions/CreateForeignKeyExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Expressions/CreateIndexExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Insert/Expressions/InsertDataExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Insert/InsertBuilder.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Rename/Expressions/RenameColumnExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Rename/Expressions/RenameTableExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Rename/RenameBuilder.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Update/Expressions/UpdateDataExpression.cs
	src/Umbraco.Core/Persistence/Migrations/Syntax/Update/UpdateBuilder.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/AddIndexToCmsMacroTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateAndRemoveTemplateMasterColumn.cs
	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs
	src/Umbraco.Core/Persistence/Repositories/DictionaryRepository.cs
	src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs
	src/Umbraco.Core/Persistence/Repositories/LanguageRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs
	src/Umbraco.Core/Persistence/Repositories/ServerRegistrationRepository.cs
	src/Umbraco.Core/Persistence/Repositories/TagRepository.cs
	src/Umbraco.Core/Persistence/Repositories/TemplateRepository.cs
	src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs
	src/Umbraco.Core/Persistence/RepositoryFactory.cs
	src/Umbraco.Core/Persistence/UmbracoDatabase.cs
	src/Umbraco.Core/PropertyEditors/IPropertyEditorValueConverter.cs
	src/Umbraco.Core/PropertyEditors/PropertyEditor.cs
	src/Umbraco.Core/PropertyEditors/PropertyEditorResolver.cs
	src/Umbraco.Core/Services/ContentService.cs
	src/Umbraco.Core/Services/ContentTypeService.cs
	src/Umbraco.Core/Services/DataTypeService.cs
	src/Umbraco.Core/Services/EntityService.cs
	src/Umbraco.Core/Services/LocalizationService.cs
	src/Umbraco.Core/Services/MacroService.cs
	src/Umbraco.Core/Services/MediaService.cs
	src/Umbraco.Core/Services/MemberGroupService.cs
	src/Umbraco.Core/Services/MemberService.cs
	src/Umbraco.Core/Services/MemberTypeService.cs
	src/Umbraco.Core/Services/PackagingService.cs
	src/Umbraco.Core/Services/ServerRegistrationService.cs
	src/Umbraco.Core/Services/ServiceContext.cs
	src/Umbraco.Core/Services/TagService.cs
	src/Umbraco.Core/Services/UserService.cs
	src/Umbraco.Core/Strings/DefaultShortStringHelper.cs
	src/Umbraco.Core/Sync/ConfigServerRegistrar.cs
	src/Umbraco.Core/Sync/DatabaseServerMessenger.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Core/UmbracoApplicationBase.cs
	src/Umbraco.Core/packages.config
	src/Umbraco.Tests/BootManagers/CoreBootManagerTests.cs
	src/Umbraco.Tests/Macros/MacroTests.cs
	src/Umbraco.Tests/Manifest/ManifestParserTests.cs
	src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs
	src/Umbraco.Tests/Migrations/MigrationRunnerTests.cs
	src/Umbraco.Tests/Migrations/Stubs/FiveZeroMigration.cs
	src/Umbraco.Tests/Migrations/Stubs/FourElevenMigration.cs
	src/Umbraco.Tests/Migrations/Stubs/SixZeroMigration1.cs
	src/Umbraco.Tests/Migrations/Stubs/SixZeroMigration2.cs
	src/Umbraco.Tests/Migrations/TargetVersionSixthMigrationsTest.cs
	src/Umbraco.Tests/Migrations/Upgrades/BaseUpgradeTest.cs
	src/Umbraco.Tests/Migrations/Upgrades/SqlCeDataUpgradeTest.cs
	src/Umbraco.Tests/Mvc/UmbracoViewPageTests.cs
	src/Umbraco.Tests/Persistence/BaseTableByTableTest.cs
	src/Umbraco.Tests/Persistence/DatabaseContextTests.cs
	src/Umbraco.Tests/Persistence/Mappers/PropertyGroupMapperTest.cs
	src/Umbraco.Tests/Persistence/MySqlDatabaseCreationTest.cs
	src/Umbraco.Tests/Persistence/Querying/ContentTypeRepositorySqlClausesTest.cs
	src/Umbraco.Tests/Persistence/Querying/ContentTypeSqlMappingTests.cs
	src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/DataTypeDefinitionRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/ServerRegistrationRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs
	src/Umbraco.Tests/Persistence/SyntaxProvider/SqlCeSyntaxProviderTests.cs
	src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs
	src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs
	src/Umbraco.Tests/Services/ContentServiceTests.cs
	src/Umbraco.Tests/Services/ThreadSafetyServiceTest.cs
	src/Umbraco.Tests/Strings/DefaultShortStringHelperTests.cs
	src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs
	src/Umbraco.Tests/TestHelpers/BaseDatabaseTest.cs
	src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/config/ClientDependency.config
	src/Umbraco.Web.UI/packages.config
	src/Umbraco.Web.UI/umbraco/controls/ContentTypeControlNew.ascx.cs
	src/Umbraco.Web.UI/umbraco/plugins/tinymce3/insertImage.aspx
	src/Umbraco.Web.UI/umbraco/settings/EditNodeTypeNew.aspx.cs
	src/Umbraco.Web/BatchedDatabaseServerMessenger.cs
	src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
	src/Umbraco.Web/Cache/DataTypeCacheRefresher.cs
	src/Umbraco.Web/Cache/DistributedCacheExtensions.cs
	src/Umbraco.Web/Editors/AuthenticationController.cs
	src/Umbraco.Web/Editors/BackOfficeController.cs
	src/Umbraco.Web/Install/InstallSteps/DatabaseInstallStep.cs
	src/Umbraco.Web/Install/InstallSteps/DatabaseUpgradeStep.cs
	src/Umbraco.Web/Media/ThumbnailProviders/ThumbnailProvidersResolver.cs
	src/Umbraco.Web/Mvc/DefaultRenderMvcControllerResolver.cs
	src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs
	src/Umbraco.Web/PropertyEditors/FolderBrowserPropertyEditor.cs
	src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs
	src/Umbraco.Web/PropertyEditors/ImageCropperPropertyEditor.cs
	src/Umbraco.Web/Routing/NotFoundHandlerHelper.cs
	src/Umbraco.Web/Trees/MediaTreeController.cs
	src/Umbraco.Web/Trees/MemberTreeController.cs
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/UmbracoApplication.cs
	src/Umbraco.Web/UmbracoModule.cs
	src/Umbraco.Web/WebBootManager.cs
	src/Umbraco.Web/packages.config
	src/Umbraco.Web/umbraco.presentation/content.cs
	src/Umbraco.Web/umbraco.presentation/keepAliveService.cs
	src/Umbraco.Web/umbraco.presentation/macro.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadDictionary.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentControl.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/Images/ImageViewer.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/Images/UploadMediaImage.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/imageViewer.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/rollBack.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/members/EditMemberType.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/plugins/tinymce3/insertImage.aspx
	src/Umbraco.Web/umbraco.presentation/umbraco/settings/EditNodeTypeNew.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/MediaExtensions.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/uQuery/uQuery.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/users/EditUser.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/webService.asmx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/webservices/MediaUploader.ashx.cs
	src/UmbracoExamine/UmbracoContentIndexer.cs
	src/UmbracoExamine/UmbracoMemberIndexer.cs
	src/umbraco.MacroEngines/RazorCore/UmbracoCultureDictionary.cs
	src/umbraco.MacroEngines/RazorDynamicNode/DynamicNode.cs
	src/umbraco.MacroEngines/RazorDynamicNode/ExtensionMethods.cs
	src/umbraco.MacroEngines/app.config
	src/umbraco.MacroEngines/packages.config
	src/umbraco.MacroEngines/umbraco.MacroEngines.csproj
	src/umbraco.businesslogic/UmbracoSettings.cs
	src/umbraco.cms/businesslogic/Content.cs
	src/umbraco.cms/businesslogic/datatype/DataTypeDefinition.cs
	src/umbraco.cms/businesslogic/datatype/DefaultPreValueEditor.cs
	src/umbraco.cms/businesslogic/datatype/FileHandlerData.cs
	src/umbraco.cms/businesslogic/translation/Translation.cs
	src/umbraco.cms/businesslogic/web/Document.cs
	src/umbraco.cms/packages.config
	src/umbraco.editorControls/DefaultPrevalueEditor.cs
	src/umbraco.editorControls/MultiNodeTreePicker/MNTPResources.Designer.cs
	src/umbraco.editorControls/MultiNodeTreePicker/MNTPResources.resx
	src/umbraco.editorControls/MultiNodeTreePicker/MNTP_DataType.cs
	src/umbraco.editorControls/app.config
	src/umbraco.editorControls/macrocontainer/PrevalueEditor.cs
	src/umbraco.editorControls/packages.config
	src/umbraco.editorControls/textfieldmultiple/textfieldMultipleDataType.cs
	src/umbraco.editorControls/umbraco.editorControls.csproj
	src/umbraco.editorControls/uploadfield/uploadField.cs
	src/umbraco.editorControls/userControlWrapper/usercontrolPrevalueEditor.cs
	src/umbraco.providers/app.config
2015-12-18 11:23:58 +01:00
bjarnef 2dc6e395a8 Add more colors to icon-picker dialog 2015-11-16 01:15:51 +01:00
bjarnef eedeb90673 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7-U4-6616 2015-11-16 01:12:49 +01:00
bjarnef 977c390a95 Merge remote-tracking branch 'refs/remotes/umbraco/dev-v7' into dev-v7-U4-6616 2015-11-09 23:52:00 +01:00
Heather Floyd 1279fd234f Checking for possible Null Ref Exception in Textstring.cshtml grid renderer 2015-09-11 19:43:41 -04:00
Shannon 19c5eee791 Merge remote-tracking branch 'origin/7.3.0' into dev-v8
Conflicts:
	src/Umbraco.Core/UmbracoApplicationBase.cs
2015-05-14 08:45:57 +10:00
Shannon b5b6ce8bf9 fixes merge 2015-05-13 16:50:45 +10:00
Shannon f7bcae1aa7 Merge remote-tracking branch 'origin/7.3.0' into dev-v8
Conflicts:
	src/Umbraco.Core/Services/DomainService.cs
	src/Umbraco.Web/Routing/NotFoundHandlerHelper.cs
	src/Umbraco.Web/umbraco.presentation/NotFoundHandlers.cs
2015-05-13 16:47:33 +10:00
Shannon 0a921c0701 fixes merge issues 2015-05-13 16:46:53 +10:00
Shannon 8c771660a7 Merge remote-tracking branch 'origin/7.3.0' into dev-v8
Conflicts:
	src/Umbraco.Core/Services/UserService.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/packages.config
	src/Umbraco.Web/Routing/ContentFinderByLegacy404.cs
	src/Umbraco.Web/Routing/NotFoundHandlerHelper.cs
	src/Umbraco.Web/umbraco.presentation/NotFoundHandlers.cs
	src/Umbraco.Web/umbraco.presentation/library.cs
	src/umbraco.MacroEngines/app.config
	src/umbraco.MacroEngines/packages.config
	src/umbraco.MacroEngines/umbraco.MacroEngines.csproj
	src/umbraco.editorControls/app.config
	src/umbraco.providers/UsersMembershipProvider.cs
	src/umbraco.providers/app.config
2015-05-13 14:49:11 +10:00
Shannon 177a1e336f Converts UrlProviderResolver to a container resolver and also ensures any container many resolver is added to the container itself 2015-05-05 19:14:56 +10:00
Shannon dc7b3612bc converts PropertyValueConvertersResolver to a container resolver and updates IPropertyValueConverter that were relying on singletons to use DependencyInjection 2015-05-05 19:01:49 +10:00
Shannon 939fc8a92c Changes ParameterEditorResolver to a Container resolver 2015-05-05 18:51:33 +10:00
Shannon 36f3948835 Fixes most tests, only 4 failing but they are arbitrary... now we can look to start cleaning/deleting more stuff :) 2015-05-05 18:24:31 +10:00
Shannon fba98eb7f6 Fixes merges, sln builds now, just need to run tests and fix them 2015-05-05 16:53:52 +10:00
Shannon 2ea4acbc6f Merge branch '7.3.0' into dev-v8
Conflicts:
	src/Umbraco.Core/Configuration/UmbracoConfig.cs
	src/Umbraco.Core/CoreBootManager.cs
	src/Umbraco.Core/Manifest/ManifestBuilder.cs
	src/Umbraco.Core/Manifest/ManifestParser.cs
	src/Umbraco.Core/Persistence/Migrations/MigrationResolver.cs
	src/Umbraco.Core/Persistence/Migrations/MigrationRunner.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionFourNineZero/RemoveUmbracoAppConstraints.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/AddPropertyEditorAliasColumn.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/AlterCmsMacroPropertyTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/AlterTagRelationsTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/AlterTagsTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/AlterUserTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/AssignMissingKeysAndIndexes.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/DropControlIdColumn.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/RemoveCmsMacroPropertyTypeTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/UpdateControlIdToPropertyEditorAlias.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSeven/UpdateRelatedLinksData.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenOneZero/AssignMissingPrimaryForMySqlKeys.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateAndRemoveTemplateMasterColumn.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveHelpTextColumn.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/UpdateUniqueIdToHaveCorrectIndexType.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenTwoZero/AddIndexToUmbracoNodeTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenTwoZero/AddMissingForeignKeyForContentType.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenTwoZero/AlterDataTypePreValueTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenTwoZero/RemoveCmsDocumentAliasColumn.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSix/DeleteAppTables.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSix/EnsureAppsTreesUpdated.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSix/MoveMasterContentTypeData.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSix/NewCmsContentType2ContentTypeTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSix/RemoveMasterContentTypeColumn.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSix/RenameCmsTabTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSix/RenameTabIdColumn.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSix/UpdateCmsContentTypeAllowedContentTypeTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSix/UpdateCmsContentTypeTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSix/UpdateCmsContentVersionTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSix/UpdateCmsPropertyTypeGroupTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixOneZero/CreateServerRegistryTable.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixTwoZero/AddChangeDocumentTypePermission.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixTwoZero/AdditionalIndexesAndKeys.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixTwoZero/AssignMissingPrimaryForMySqlKeys.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixTwoZero/AssignMissingPrimaryForMySqlKeys2.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixTwoZero/ChangePasswordColumn.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixTwoZero/UpdateToNewMemberPropertyAliases.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixZeroOne/UpdatePropertyTypesAndGroups.cs
	src/Umbraco.Core/Persistence/RepositoryFactory.cs
	src/Umbraco.Core/PropertyEditors/ParameterEditorResolver.cs
	src/Umbraco.Core/PropertyEditors/PropertyEditorResolver.cs
	src/Umbraco.Core/Services/MemberService.cs
	src/Umbraco.Core/Services/ServerRegistrationService.cs
	src/Umbraco.Core/Sync/ConfigServerRegistrar.cs
	src/Umbraco.Core/Sync/ServerMessengerResolver.cs
	src/Umbraco.Core/Sync/ServerRegistrarResolver.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs
	src/Umbraco.Tests/CodeFirst/Definitions/ContentTypeDefinitionFactory.cs
	src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs
	src/Umbraco.Tests/Migrations/Stubs/AlterUserTableMigrationStub.cs
	src/Umbraco.Tests/Migrations/TargetVersionSixthMigrationsTest.cs
	src/Umbraco.Tests/Migrations/Upgrades/BaseUpgradeTest.cs
	src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/ServerRegistrationRepositoryTest.cs
	src/Umbraco.Tests/Plugins/TypeFinderTests.cs
	src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/config/ClientDependency.config
	src/Umbraco.Web.UI/packages.config
	src/Umbraco.Web.UI/umbraco/Views/Default.cshtml
	src/Umbraco.Web/BaseRest/BaseRestHandler.cs
	src/Umbraco.Web/Cache/DistributedCacheExtensions.cs
	src/Umbraco.Web/Editors/AuthenticationController.cs
	src/Umbraco.Web/Editors/BackOfficeController.cs
	src/Umbraco.Web/Routing/ContentFinderByIdPath.cs
	src/Umbraco.Web/Routing/ContentFinderByNiceUrlAndTemplate.cs
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/WebBootManager.cs
	src/Umbraco.Web/umbraco.presentation/NotFoundHandlers.cs
	src/Umbraco.Web/umbraco.presentation/content.cs
	src/Umbraco.Web/umbraco.presentation/page.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs
	src/UmbracoExamine/UmbracoMemberIndexer.cs
	src/umbraco.MacroEngines/app.config
	src/umbraco.MacroEngines/packages.config
	src/umbraco.MacroEngines/umbraco.MacroEngines.csproj
	src/umbraco.editorControls/app.config
	src/umbraco.editorControls/packages.config
	src/umbraco.editorControls/umbraco.editorControls.csproj
	src/umbraco.providers/app.config
2015-05-05 16:11:06 +10:00
Shannon cc27d2c483 fix merge issues 2015-02-23 13:49:53 +01:00
Shannon dc513570a5 Merge remote-tracking branch 'origin/7.3.0' into dev-v8
Conflicts:
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddPublicAccessTables.cs
	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
	src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs
	src/Umbraco.Core/Persistence/RepositoryFactory.cs
	src/Umbraco.Core/Services/ServiceContext.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
	src/Umbraco.Web.UI/config/ClientDependency.config
	src/Umbraco.Web/Search/ExamineEvents.cs
	src/Umbraco.Web/UmbracoHelper.cs
	src/Umbraco.Web/umbraco.presentation/content.cs
	src/Umbraco.Web/umbraco.presentation/requestModule.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/translation/default.aspx.cs
	src/umbraco.MacroEngines/RazorDynamicNode/RazorLibraryCore.cs
	src/umbraco.businesslogic/IO/SystemFiles.cs
	src/umbraco.cms/businesslogic/Dictionary.cs
	src/umbraco.cms/businesslogic/web/Document.cs
2015-02-23 13:41:34 +01:00
Shannon e5b88a9a75 removes commented out code 2015-02-23 13:21:10 +01:00
Shannon 2dcc03ee3f more tests fixed, decouples more of the MappingResolver.Current singleton 2015-02-23 13:20:14 +01:00
Shannon 0ff5780944 fixes lots of tests 2015-02-23 11:29:11 +01:00
Shannon c76be66028 starts fixing up all the tests 2015-02-23 00:02:12 +01:00
Shannon 3e18c93cf5 More singleton reduction, created new IMappingResolver which is used by the Query<T> object instead of relying on a singleton, creates a new QueryFactory to create Query<T>, removes all standalone stuff (will create that again later). It builds, but most tests will still be failing. 2015-02-22 23:09:20 +01:00
Shannon 905e58e3b6 Completes: U4-6104 Remove SqlSyntaxContext - quite a large refactor and cleanup since the SqlSyntaxContext was used everywhere :( haven't run tests, etc... yet but the project builds now. 2015-02-22 21:36:02 +01:00
Shannon 693384bdf6 completes: U4-5546 Remove user 'channels', weblog api, and all code / db tables relevant to those 2015-02-22 17:16:39 +01:00
Shannon c4ca50dd5f fixes an ioc registration 2015-02-22 17:16:21 +01:00
Shannon 9f5f8e57af fixes merge issues 2015-02-22 16:59:40 +01:00
Shannon 1851303343 Merge remote-tracking branch 'origin/dev-v7' into dev-v8
Conflicts:
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/packages.config
	src/Umbraco.Web.UI/umbraco/controls/ContentTypeControlNew.ascx.cs
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/umbraco.presentation/macro.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs
	src/umbraco.MacroEngines/RazorDynamicNode/ExtensionMethodFinder.cs
	src/umbraco.MacroEngines/Resources/Web.config
	src/umbraco.MacroEngines/packages.config
	src/umbraco.MacroEngines/umbraco.MacroEngines.csproj
	src/umbraco.cms/businesslogic/Dictionary.cs
	src/umbraco.editorControls/packages.config
	src/umbraco.editorControls/umbraco.editorControls.csproj
2015-02-22 16:56:02 +01:00
Shannon bd34193cfd Completes: U4-6186 Remove all support for legacy xml schema 2015-01-27 15:18:58 +11:00
Shannon 7c5e68dd1c Merge remote-tracking branch 'origin/7.3.0' into dev-v8
Conflicts:
	src/Umbraco.Core/Services/ServiceContext.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Tests/Mvc/UmbracoViewPageTests.cs
	src/Umbraco.Tests/Persistence/BaseTableByTableTest.cs
	src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs
2015-01-27 15:00:23 +11:00
Shannon 64787f8576 Fixes tests, decouples the UrlSegmentProviderResolver a little bit, removes lots of obsoleted ctors 2015-01-27 14:58:33 +11:00
Shannon 3e410e6a41 starts fixing up tests 2015-01-23 20:09:42 +11:00
Shannon 887ccaae83 WIP - Updates property editor resolver to use IoC, updates base prop editor class to require an ILogger which now get's ctor injected. This is a WIP because even though it builds there's a bunch of stuff not working, need to run/fix all tests (soon) 2015-01-23 20:00:44 +11:00
Shannon a292c60402 completes: U4-5148 Remove TidyNet from the core and anything that references/uses it 2015-01-23 18:05:55 +11:00
Shannon ea5575c1f5 Deletes a bunch of old unused files - mostly in umbraco_client 2015-01-23 17:10:10 +11:00
Shannon 7222058dd4 Deletes a bunch of old unused files - mostly in umbraco_client 2015-01-23 17:01:24 +11:00
Shannon 0df22a16b5 fixes merge issues 2015-01-23 12:28:27 +11:00
Shannon c94eff9089 Merge remote-tracking branch 'origin/7.3.0' into dev-v8
Conflicts:
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs
	src/Umbraco.Tests/Routing/ContentFinderByAliasTests.cs
	src/Umbraco.Tests/Routing/ContentFinderByAliasWithDomainsTests.cs
	src/Umbraco.Tests/Routing/ContentFinderByNiceUrlWithDomainsTests.cs
	src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs
	src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs
	src/Umbraco.Tests/Routing/uQueryGetNodeIdByUrlTests.cs
	src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
	src/umbraco.MacroEngines/packages.config
	src/umbraco.MacroEngines/umbraco.MacroEngines.csproj
	src/umbraco.cms/businesslogic/Property/Property.cs
	src/umbraco.cms/businesslogic/datatype/DataTypeDefinition.cs
2015-01-23 12:25:07 +11:00
Shannon 9710e6f9e2 refactors where the container is created 2015-01-21 13:21:36 +11:00
Shannon 13a4d5c81c WIP - have added LightInject as a fast and tiny IoC container that is embedded. Have updated all required SingleObjectResolverBase and non lazy ManyObjectResolverBase to use a Container implementation. Have updated the boot managers to use IoC to instantiate all their requirements. This is so much nicer now by using IoC to ctor all of the objects in these resolvers we can get ctor injection OOTB so no more singletons. Need to create resolver to support the lazy resolver with IoC next. Updated IContentFinders, IThumbnailProviders to use ctor injection. 2015-01-21 12:48:08 +11:00
Shannon 215113d635 more unused code removed 2015-01-20 18:17:11 +11:00
Shannon 2342ba5537 removes old unused code 2015-01-20 18:15:22 +11:00
Shannon f6a547d681 Merge remote-tracking branch 'origin/7.3.0' into dev-v8 2015-01-19 19:10:56 +11:00
Shannon 631c8e3944 fixes up some tests 2015-01-19 19:03:58 +11:00
Shannon 6ad895d7db Fixes merge issues - proj now builds (not sure if it works yet though) 2015-01-19 13:38:51 +11:00
Shannon f9159a0afc Merge remote-tracking branch 'origin/7.3.0' into dev-v8
Conflicts:
	build/UmbracoVersion.txt
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Core/CoreBootManager.cs
	src/Umbraco.Core/DataTypesResolver.cs
	src/Umbraco.Core/PropertyEditors/PropertyEditorValueConvertersResolver.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Tests/CodeFirst/Definitions/ContentTypeDefinitionFactory.cs
	src/Umbraco.Tests/CodeFirst/TypeInheritanceTest.cs
	src/Umbraco.Tests/Macros/MacroTests.cs
	src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs
	src/Umbraco.Tests/Plugins/PluginManagerTests.cs
	src/Umbraco.Tests/Plugins/TypeFinderTests.cs
	src/Umbraco.Tests/Services/ThreadSafetyServiceTest.cs
	src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs
	src/Umbraco.Tests/TestHelpers/BaseSeleniumTest.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/config/ClientDependency.config
	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadStylesheetProperty.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadStylesheets.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/loadTemplates.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/settings/stylesheet/property/EditStyleSheetProperty.aspx.cs
	src/umbraco.cms/businesslogic/CMSNode.cs
	src/umbraco.cms/businesslogic/propertytype/propertytype.cs
	src/umbraco.cms/businesslogic/web/StyleSheet.cs
	src/umbraco.editorControls/tinyMCE3/TinyMCE.cs
2015-01-19 13:16:56 +11:00
Shannon 02a903f77b Merge remote-tracking branch 'origin/dev-v7' into dev-v8
Conflicts:
	build/UmbracoVersion.txt
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/packages.config
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/UmbracoHelper.cs
	src/Umbraco.Web/umbraco.presentation/CompatibilityHelper.cs
	src/Umbraco.Web/umbraco.presentation/library.cs
	src/Umbraco.Web/umbraco.presentation/macro.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs
	src/umbraco.MacroEngines/RazorDynamicNode/DynamicBackingItem.cs
	src/umbraco.MacroEngines/app.config
	src/umbraco.MacroEngines/packages.config
	src/umbraco.MacroEngines/umbraco.MacroEngines.csproj
	src/umbraco.cms/businesslogic/Packager/Installer.cs
	src/umbraco.editorControls/app.config
	src/umbraco.editorControls/packages.config
	src/umbraco.editorControls/umbraco.editorControls.csproj
	src/umbraco.providers/app.config
2015-01-19 13:11:51 +11:00
Shannon 7a53fa3ba7 remove more unused code 2014-11-21 17:42:05 +11:00
Shannon 3cd949d49c Completes: U4-5861 and removes the very old legacy umbraco context, server, request, etc... stuff 2014-11-21 17:19:06 +11:00
Shannon 072c77989f Completes: U4-5415, almost completes U4-5416 2014-11-21 17:05:39 +11:00
Shannon 9cc584ae52 Completes: U4-5484 Remove /base REST support 2014-11-21 16:39:27 +11:00
Shannon c3523a09ec WIP WIP WIP. Started working on U4-5648 which led to quite a lot of other things, once IDataType was removed (U4-5858), this lead to U4-5546, U4-5416, U4-5484, U4-5805. So much of this stuff is etched deep into the codebase, so nice to get rid of it. Had to remove the codefirst tests too for now since they relied on old apis and we don't really support it/use it. Commented out all of the code relating to the document type editor UI bits since they need to be rewritten and removed. 2014-11-21 16:34:47 +11:00
Shannon 854bf5acbf remove more obsolete code 2014-11-14 18:48:42 +11:00
Shannon 1e7197d28c removes obsolete io classes 2014-11-14 18:45:29 +11:00
Shannon acfa63f592 removes a ton more of the legacy tinymce files 2014-11-14 18:41:34 +11:00
Shannon c839264ad8 Removes more old tinymce files, removes unused js files, removes unused search controls 2014-11-14 18:39:13 +11:00
Shannon ae79a7cd7a Completes: U4-5810 Remove umbraco.providers assembly and classes - old membership providers 2014-11-14 18:26:01 +11:00
Shannon 4fce47cff3 Completes: U4-5808 All old legacy 'datatypes' since they are not supported or used 2014-11-14 18:22:31 +11:00
Shannon 07fdd81801 Fixes up a bunch of code errors with 'hiding' members, i'm actually surprised our sln even built with this sort of stuff 2014-11-14 18:10:41 +11:00
Shannon bdcf8f8fc0 Removes more unused code 2014-11-14 17:57:44 +11:00
Shannon c08db70e82 Removing more unused code and working on U4-5805 2014-11-14 17:52:18 +11:00
Shannon 1d9da125c4 Removing more unused code and working on U4-5808 2014-11-14 17:49:10 +11:00
Shannon 0ff5c72862 Removing unused code and also working on U4-5805 2014-11-14 17:46:21 +11:00
Shannon 6a7c7d396b Completes: U4-5807 2014-11-14 17:27:07 +11:00
Shannon fbb023f844 working on U4-5648 Remove legacy razor macro's entirely - removes lots of legacy 2014-11-14 17:15:38 +11:00
Shannon d7948a79e2 working on U4-5648 Remove legacy razor macro's entirely - removes old config section, bumps version to 8 2014-11-14 15:11:46 +11:00
Shannon fba48cb845 fixes dotless dependencies so it builds 2014-11-14 14:46:25 +11:00
Shannon ed518feb4c working on U4-5648 Remove legacy razor macro's entirely 2014-11-14 14:24:35 +11:00
Shannon 5aeecf7701 working on U4-5648 Remove legacy razor macro's entirely 2014-11-14 14:05:46 +11:00
Shannon b7bc98fccc removes legacy RazorBuildProvider 2014-11-14 13:46:37 +11:00
7259 changed files with 247793 additions and 420129 deletions
+24 -4
View File
@@ -1,10 +1,30 @@
root=true
# editorconfig.org
# top-most EditorConfig file
root = true
# Default settings:
# A newline ending every file
# Use 4 spaces as indentation
[*]
insert_final_newline = true
end_of_line = lf
indent_style = space
indent_size = 2
indent_size = 4
# Trim trailing whitespace, limited support.
# https://github.com/editorconfig/editorconfig/wiki/Property-research:-Trim-trailing-spaces
trim_trailing_whitespace = true
[*.{cs,cshtml,csx,vb,vbx,vbhtml,fs,fsx,txt,ps1,sql}]
indent_size = 4
[*.{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 = _
+49
View File
@@ -0,0 +1,49 @@
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
*.jpg binary
*.png binary
*.gif binary
*.cs text=auto diff=csharp
*.vb text=auto
*.c text=auto
*.cpp text=auto
*.cxx text=auto
*.h text=auto
*.hxx text=auto
*.py text=auto
*.rb text=auto
*.java text=auto
*.html text=auto
*.htm text=auto
*.css text=auto
*.scss text=auto
*.sass text=auto
*.less text=auto
*.js text=auto
*.lisp text=auto
*.clj text=auto
*.sql text=auto
*.php text=auto
*.lua text=auto
*.m text=auto
*.asm text=auto
*.erl text=auto
*.fs text=auto
*.fsx text=auto
*.hs text=auto
*.csproj text=auto merge=union
*.vbproj text=auto merge=union
*.fsproj text=auto merge=union
*.dbproj text=auto merge=union
*.sln text=auto eol=crlf merge=union
+43 -12
View File
@@ -1,29 +1,50 @@
#
# Umbraco Cms Git Ignore
#
# common files
*.obj
*.pdb
*.user
*.aps
*.pch
*.vspscc
*.orig
*.suo
*.vs10x
*.ndproj
*.log
# common directories
.DS_Store
._.DS_Store
[Bb]in
.vs/
/local/
# build directories
[Bb]in/
[Db]ebug*/
obj/
[Rr]elease*/
obj/
# tools
_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/*
@@ -46,12 +67,11 @@ 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
@@ -89,17 +109,16 @@ 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
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
@@ -113,6 +132,10 @@ build/ApiDocs/*
build/ApiDocs/Output/*
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
@@ -125,18 +148,26 @@ 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/Modules/*/temp/
build/hooks/
build/temp/
# eof
+52 -37
View File
@@ -6,38 +6,59 @@ 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:
## PowerShell Quirks
build\build.ps1 7.6.44
There is a good chance that running `build.ps1` ends up in error, with messages such as
Valid version strings are defined in the `Set-UmbracoVersion` documentation below.
>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.
## Notes
PowerShell has *Execution Policies* that may prevent the script from running. You can check the current policies with:
PS> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine RemoteSigned
Policies can be `Restricted`, `AllSigned`, `RemoteSigned`, `Unrestricted` and `Bypass`. Scopes can be `MachinePolicy`, `UserPolicy`, `Process`, `CurrentUser`, `LocalMachine`. You need the current policy to be `RemoteSigned`&mdash;as long as it is `Undefined`, the script cannot run. You can change the current user policy with:
PS> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Alternatively, you can do it at machine level, from within an elevated PowerShell session:
PS> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned
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?
[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.
The best solution is to unblock the Zip file before un-zipping: right-click the files, open *Properties*, and there should be a *Unblock* checkbox at the bottom of the dialog. If, however, the Zip file has already been un-zipped, it is possible to recursively unblock all files from PowerShell with:
PS> Get-ChildItem -Recurse *.* | Unblock-File
## Git Quirks
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
# Build Infrastructure
The Umbraco Build solution relies on a PowerShell module. The module needs to be imported into PowerShell. From within Umbraco's repository root:
The Umbraco Build infrastructure relies on a PowerShell object. The object can be retrieved with:
build\build.ps1 -ModuleOnly
$ubuild = build/build.ps1 -get
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
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.
## Properties
The object exposes the following properties:
* `SolutionRoot`: the absolute path to the solution root
@@ -55,11 +76,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
## Get-UmbracoVersion
## GetUmbracoVersion
Gets an object representing the current Umbraco version. Example:
$v = Get-UmbracoVersion
$v = $ubuild.GetUmbracoVersion()
Write-Host $v.Semver
The object exposes the following properties:
@@ -69,28 +90,24 @@ 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`)
## Set-UmbracoVersion
## SetUmbracoVersion
Modifies Umbraco files with the new version.
>This entirely replaces the legacy `UmbracoVersion.txt` file.
>This entirely replaces the legacy `UmbracoVersion.txt` file. Do *not* edit version infos in files.
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:
Set-UmbracoVersion 7.6.33
Set-UmbracoVersion 7.6.33-alpha02
Set-UmbracoVersion 7.6.33+1234
Set-UmbracoVersion 7.6.33-beta05+5678
$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")
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
## Build
Builds Umbraco. Temporary files are generated in `build.tmp` while the actual artifacts (zip files, NuGet packages...) are produced in `build.out`. Example:
Build-Umbraco
$ubuild.Build()
Some log files, such as MsBuild logs, are produced in `build.tmp` too. The `build` directory should remain clean during a build.
@@ -144,6 +161,4 @@ 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
+80
View File
@@ -0,0 +1,80 @@
# 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
@@ -0,0 +1,209 @@
# 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!
+12
View File
@@ -0,0 +1,12 @@
<?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
@@ -0,0 +1,11 @@
### 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! -->
+18 -21
View File
@@ -1,51 +1,48 @@
[![Build status](https://ci.appveyor.com/api/projects/status/ikpgqxiw9v8opltv/branch/dev-v7?svg=true)](https://ci.appveyor.com/project/Umbraco/umbraco-cms-hs8dx/branch/dev-v7)
_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 390,000 websites worldwide: [https://umbraco.com](https://umbraco.com)
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 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.
## Building Umbraco from source ##
The easiest way to get started is to run `build/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`.
Note that you can always [download a nightly build](http://nightly.umbraco.org/?container=umbraco-750) so you don't have to build the code yourself.
## Watch an introduction video ##
## 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 ##
## 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 350,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 200,000 craftspeople globally, you can trust that Umbraco is a safe choice and is here to stay.
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? ##
## 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.
## Downloading ##
## Trying out Umbraco CMS
The downloadable Umbraco releases live at [https://our.umbraco.org/download](https://our.umbraco.org/download).
[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.
## Forums ##
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.
Peer-to-peer support is available 24/7 at the community forum on [https://our.umbraco.org](https://our.umbraco.org).
## Community
## Contribute to Umbraco ##
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.
Umbraco is contribution focused and community driven. If you want to contribute back to Umbraco please check out our [guide to contributing](https://our.umbraco.org/contribute).
## Contribute to Umbraco
## Found a bug? ##
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).
+30
View File
@@ -0,0 +1,30 @@
## 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.
-62
View File
@@ -1,62 +0,0 @@
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
-15
View File
@@ -1,15 +0,0 @@
@ECHO OFF
powershell .\build\build.ps1
IF ERRORLEVEL 1 (
GOTO :error
) ELSE (
GOTO :EOF
)
:error
ECHO.
ECHO Can not run build\build.ps1.
ECHO If this is due to a SecurityError then make sure to run the following command from an administrator command prompt:
ECHO.
ECHO powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
+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 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"
}
@@ -1,119 +0,0 @@
#
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
# create Belle build folder, so that we don't cause a Belle rebuild
$belleBuildDir = "$src\Umbraco.Web.UI.Client\build"
if (-not (Test-Path $belleBuildDir))
{
mkdir $belleBuildDir > $null
}
Write-Host "Build UI documentation"
# 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 "building docs using gulp" >> $tmp\belle.log 2>&1
&gulp docs >> $tmp\belle.log 2>&1
pop-location
# 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.org/apidocs/ui/"
$indexPath = "$src/Umbraco.Web.UI.Client/docs/api/index.html"
(Get-Content $indexPath).Replace("location.href.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))
{
Write-Host "Download DocFx..."
$source = "https://github.com/dotnet/docfx/releases/download/v2.19.2/docfx.zip"
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"
}
@@ -1,180 +0,0 @@
#
# 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"
$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 -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
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 -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 -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-v6.9.1-win-x86"
$source = "http://nodejs.org/dist/v6.9.1/node-v6.9.1-win-x86.7z"
if (-not (test-path $node))
{
Write-Host "Download Node..."
Invoke-WebRequest $source -OutFile "$path\node-v6.9.1-win-x86.7z"
&$sevenZip x "$path\node-v6.9.1-win-x86.7z" -o"$path" -aos > $nul
Remove-File "$path\node-v6.9.1-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
&$vswhere | 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 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
}
@@ -1,26 +0,0 @@
#
# 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
}
@@ -1,30 +0,0 @@
# 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
}
@@ -1,30 +0,0 @@
#
# 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
}
@@ -1,117 +0,0 @@
#
# 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
}
@@ -1,605 +0,0 @@
# 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"
mkdir "$tmp" > $null
Remove-Directory "$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"
}
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"
New-Item -ItemType directory -Path "$tmp\tests\Packaging"
}
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"
New-Item -ItemType directory -Path "$tmp\tests\bin"
}
}
#
# 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"
Copy-Files "$src\Umbraco.Web.UI\umbraco\preview" "*" "$tmp\WebApp\umbraco\preview"
# prepare WebPI
Write-Host "Prepare WebPI"
Remove-Directory "$tmp\WebPi"
mkdir "$tmp\WebPi" > $null
mkdir "$tmp\WebPi\umbraco" > $null
Copy-Files "$tmp\WebApp" "*" "$tmp\WebPi\umbraco"
Copy-Files "$src\WebPi" "*" "$tmp\WebPi"
}
#
# 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
Write-Host "Zip WebPI"
&$uenv.Zip a -r "$out\UmbracoCms.WebPI.$($version.Semver).zip" "-x!*.pdb"`
"$tmp\WebPi\*" `
"-x!dotless.Core.*" `
> $null
# hash the webpi file
Write-Host "Hash WebPI"
$hash = Get-FileHash "$out\UmbracoCms.WebPI.$($version.Semver).zip"
Write $hash | out-file "$out\webpihash.txt" -encoding ascii
}
#
# 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" > "$tmp\nuget.restore.log"
}
#
# 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 "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
}
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
-120
View File
@@ -1,120 +0,0 @@
# returns a string containing the hash of $file
function Get-FileHash($file)
{
try
{
$crypto = new-object System.Security.Cryptography.SHA1CryptoServiceProvider
$stream = [System.IO.File]::OpenRead($file)
$hash = $crypto.ComputeHash($stream)
$text = ""
$hash | foreach `
{
$text = $text + $_.ToString("x2")
}
return $text
}
finally
{
if ($stream)
{
$stream.Dispose()
}
$crypto.Dispose()
}
}
# 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"
}
}
@@ -1,444 +0,0 @@
#
# 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
}
}
+87 -108
View File
@@ -1,108 +1,87 @@
<?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>
<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.3,6.0.0)" />
<dependency id="Microsoft.AspNet.WebApi" version="[5.2.3,6.0.0)" />
<dependency id="Microsoft.AspNet.Identity.Owin" version="[2.2.1, 3.0.0)" />
<dependency id="Microsoft.AspNet.SignalR.Core" version="[2.2.1, 3.0.0)" />
<dependency id="Microsoft.Owin.Security.Cookies" version="[3.0.1, 4.0.0)" />
<dependency id="Microsoft.Owin.Security.OAuth" version="[3.0.1, 4.0.0)" />
<dependency id="Microsoft.Owin.Host.SystemWeb" version="[3.0.1, 4.0.0)" />
<dependency id="MiniProfiler" version="[2.1.0, 3.0.0)" />
<dependency id="HtmlAgilityPack" version="[1.4.9.5, 2.0.0)" />
<dependency id="Lucene.Net" version="[2.9.4.1, 3.0.0.0)" />
<dependency id="SharpZipLib" version="[0.86.0, 1.0.0)" />
<dependency id="MySql.Data" version="[6.9.9, 7.0.0)" />
<dependency id="xmlrpcnet" version="[2.5.0, 3.0.0)" />
<dependency id="ClientDependency" version="[1.9.2, 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="[10.0.2, 11.0.0)" />
<dependency id="Examine" version="[0.1.83, 1.0.0)" />
<dependency id="ImageProcessor" version="[2.5.3, 3.0.0)" />
<dependency id="ImageProcessor.Web" version="[4.8.3, 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.7.0, 5.0.0)" />
</dependencies>
</metadata>
<files>
<file src="$BuildTmp$\WebApp\bin\businesslogic.dll" target="lib\net45\businesslogic.dll" />
<file src="$BuildTmp$\WebApp\bin\businesslogic.xml" target="lib\net45\businesslogic.xml" />
<file src="$BuildTmp$\WebApp\bin\cms.dll" target="lib\net45\cms.dll" />
<file src="$BuildTmp$\WebApp\bin\cms.xml" target="lib\net45\cms.xml" />
<file src="$BuildTmp$\WebApp\bin\controls.dll" target="lib\net45\controls.dll" />
<file src="$BuildTmp$\WebApp\bin\controls.xml" target="lib\net45\controls.xml" />
<file src="$BuildTmp$\WebApp\bin\interfaces.dll" target="lib\net45\interfaces.dll" />
<file src="$BuildTmp$\WebApp\bin\interfaces.xml" target="lib\net45\interfaces.xml" />
<file src="$BuildTmp$\WebApp\bin\log4net.dll" target="lib\net45\log4net.dll" />
<file src="$BuildTmp$\WebApp\bin\Microsoft.ApplicationBlocks.Data.dll" target="lib\net45\Microsoft.ApplicationBlocks.Data.dll" />
<file src="$BuildTmp$\WebApp\bin\SQLCE4Umbraco.dll" target="lib\net45\SQLCE4Umbraco.dll" />
<file src="$BuildTmp$\WebApp\bin\SQLCE4Umbraco.xml" target="lib\net45\SQLCE4Umbraco.xml" />
<file src="$BuildTmp$\WebApp\bin\System.Data.SqlServerCe.dll" target="lib\net45\System.Data.SqlServerCe.dll" />
<file src="$BuildTmp$\WebApp\bin\System.Data.SqlServerCe.Entity.dll" target="lib\net45\System.Data.SqlServerCe.Entity.dll" />
<file src="$BuildTmp$\WebApp\bin\TidyNet.dll" target="lib\net45\TidyNet.dll" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Core.dll" target="lib\net45\Umbraco.Core.dll" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Core.xml" target="lib\net45\Umbraco.Core.xml" />
<file src="$BuildTmp$\WebApp\bin\umbraco.DataLayer.dll" target="lib\net45\umbraco.DataLayer.dll" />
<file src="$BuildTmp$\WebApp\bin\umbraco.DataLayer.xml" target="lib\net45\umbraco.DataLayer.xml" />
<file src="$BuildTmp$\WebApp\bin\umbraco.dll" target="lib\net45\umbraco.dll" />
<file src="$BuildTmp$\WebApp\bin\umbraco.xml" target="lib\net45\umbraco.xml" />
<file src="$BuildTmp$\WebApp\bin\umbraco.editorControls.dll" target="lib\net45\umbraco.editorControls.dll" />
<file src="$BuildTmp$\WebApp\bin\umbraco.editorControls.xml" target="lib\net45\umbraco.editorControls.xml" />
<file src="$BuildTmp$\WebApp\bin\umbraco.MacroEngines.dll" target="lib\net45\umbraco.MacroEngines.dll" />
<file src="$BuildTmp$\WebApp\bin\umbraco.MacroEngines.xml" target="lib\net45\umbraco.MacroEngines.xml" />
<file src="$BuildTmp$\WebApp\bin\umbraco.providers.dll" target="lib\net45\umbraco.providers.dll" />
<file src="$BuildTmp$\WebApp\bin\umbraco.providers.xml" target="lib\net45\umbraco.providers.xml" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Web.UI.dll" target="lib\net45\Umbraco.Web.UI.dll" />
<file src="$BuildTmp$\WebApp\bin\Umbraco.Web.UI.xml" target="lib\net45\Umbraco.Web.UI.xml" />
<file src="$BuildTmp$\WebApp\bin\UmbracoExamine.dll" target="lib\net45\UmbracoExamine.dll" />
<file src="$BuildTmp$\WebApp\bin\UmbracoExamine.xml" target="lib\net45\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>
<?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>
+49 -52
View File
@@ -1,52 +1,49 @@
<?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>
<dependency id="UmbracoCms.Core" version="[$version$]" />
<dependency id="Newtonsoft.Json" version="[10.0.2, 11.0.0)" />
<dependency id="Umbraco.ModelsBuilder" version="[3.0.7, 4.0.0)" />
<dependency id="Microsoft.AspNet.SignalR.Core" version="[2.2.1, 3.0.0)" />
<dependency id="ImageProcessor.Web.Config" version="[2.3.0, 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\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\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>
<?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>
+4 -4
View File
@@ -8,13 +8,13 @@
----------------------------------------------------
*** IMPORTANT NOTICE FOR 7.6 UPGRADES ***
*** 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-6-0
https://our.umbraco.org/documentation/Getting-Started/Setup/Upgrading/version-specific#version-7-7-0
You will most likely 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.
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.
Don't forget to build!
+11 -192
View File
@@ -4,8 +4,8 @@
<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)" />
<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>
@@ -15,6 +15,7 @@
<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>
@@ -23,6 +24,7 @@
<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>
<umbracoConfiguration xdt:Transform="InsertIfMissing">
@@ -30,6 +32,7 @@
<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>
<FileSystemProviders xdt:Transform="Remove" />
@@ -58,196 +61,12 @@
<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" />
<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>
<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>
<xhtmlConformance xdt:Transform="Remove" />
@@ -340,7 +159,7 @@
<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.4.9.5" newVersion="1.4.9.5" />
<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" />
@@ -368,19 +187,19 @@
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
<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.0.1.0" newVersion="3.0.1.0" />
<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.0.1.0" newVersion="3.0.1.0" />
<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.0.1.0" newVersion="3.0.1.0" />
<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" />
+3 -13
View File
@@ -33,26 +33,16 @@ 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\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.Web.dll) { Remove-Item $umbracoBinFolder\Umbraco.Web.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\UmbracoExamine.dll) { Remove-Item $umbracoBinFolder\UmbracoExamine.dll -Force -Confirm:$false }
if(Test-Path $umbracoBinFolder\Umbraco.Examine.dll) { Remove-Item $umbracoBinFolder\Umbraco.Examine.dll -Force -Confirm:$false }
# Delete files Umbraco depends upon
$amd64Folder = Join-Path $umbracoBinFolder "amd64"
@@ -102,4 +92,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 }
}
}
}
+41
View File
@@ -98,10 +98,51 @@ if ($project) {
$umbracoUIXMLDestination = Join-Path $projectPath "Umbraco\Config\Create\UI.xml"
Copy-Item $umbracoUIXMLSource $umbracoUIXMLDestination -Force
} else {
# This part only runs for upgrades
$upgradeViewSource = Join-Path $umbracoFolderSource "Views\install\*"
$upgradeView = Join-Path $umbracoFolder "Views\install\"
Write-Host "Copying2 ${upgradeViewSource} to ${upgradeView}"
Copy-Item $upgradeViewSource $upgradeView -Force
Try
{
# Disable tours for upgrades, presumably Umbraco experience is already available
$umbracoSettingsConfigPath = Join-Path $configFolder "umbracoSettings.config"
$content = (Get-Content $umbracoSettingsConfigPath).Replace('<tours enable="true">','<tours enable="false">')
# Saves with UTF-8 encoding without BOM which makes sure Umbraco can still read it
# Reference: https://stackoverflow.com/a/32951824/5018
[IO.File]::WriteAllLines($umbracoSettingsConfigPath, $content)
}
Catch
{
# Not a big problem if this fails, let it go
}
Try
{
$uiXmlConfigPath = Join-Path $umbracoFolder -ChildPath "Config" | Join-Path -ChildPath "create" | Join-Path -ChildPath "UI.xml"
$uiXmlFile = Join-Path $umbracoFolder -ChildPath "Config" | Join-Path -ChildPath "create" | Join-Path -ChildPath "UI.xml"
$uiXml = New-Object System.Xml.XmlDocument
$uiXml.PreserveWhitespace = $true
$uiXml.Load($uiXmlFile)
$createExists = $uiXml.SelectNodes("//nodeType[@alias='macros']/tasks/create")
if($createExists.Count -eq 0)
{
$macrosTasksNode = $uiXml.SelectNodes("//nodeType[@alias='macros']/tasks")
#Creating: <create assembly="umbraco" type="macroTasks" />
$createNode = $uiXml.CreateElement("create")
$createNode.SetAttribute("assembly", "umbraco")
$createNode.SetAttribute("type", "macroTasks")
$macrosTasksNode.AppendChild($createNode)
$uiXml.Save($uiXmlFile)
}
}
Catch { }
}
$installFolder = Join-Path $projectPath "Install"
+11 -13
View File
@@ -43,7 +43,7 @@
xdt:Locator="Match(application,alias)"
xdt:Transform="InsertIfMissing" />
<add application="settings" alias="scripts" title="Scripts" type="umbraco.loadScripts, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="4"
<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"
@@ -79,16 +79,13 @@
<add sortOrder="1" alias="dataTypes" application="developer"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes(sortOrder)" />
<add application="developer" alias="macros" title="Macros" type="umbraco.loadMacros, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2"
<add initialize="true" sortOrder="2" alias="macros" application="developer" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.MacroTreeController, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<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 application="developer" alias="xslt" title="XSLT Files" type="umbraco.loadXslt, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="5"
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)"
@@ -102,15 +99,16 @@
xdt:Transform="Remove" />
<!--Users-->
<add application="users" alias="users" title="Users" type="umbraco.loadUsers, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="0"
<add initialize="true" sortOrder="0" alias="users" application="users" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.UserTreeController, umbraco"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="users" alias="userTypes"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="users" alias="userTypes" title="User Types" type="umbraco.cms.presentation.Trees.UserTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="1"
xdt:Transform="Remove" />
<add application="users" alias="userPermissions"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
<add application="users" alias="userPermissions" title="User Permissions" type="umbraco.cms.presentation.Trees.UserPermissions, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2"
xdt:Locator="Match(application,alias)"
xdt:Transform="SetAttributes()" />
xdt:Transform="Remove" />
<!--Members-->
<add initialize="true" sortOrder="0" alias="member" application="member" title="Members" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.MemberTreeController, umbraco"
@@ -5,4 +5,6 @@
</content>
<webservices xdt:Transform="Remove" />
<repositories xdt:Transform="Remove" />
</settings>
+2 -2
View File
@@ -22,7 +22,7 @@ echo Removing bin files
del ..\src\Umbraco.Web.UI\bin\*.*
echo Building solution
%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe ..\src\umbraco.sln /t:Clean,Build
"%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
@@ -86,7 +86,7 @@ echo Removing bin files
FOR %%A IN (..\src\Umbraco.Web.UI\bin\*.*) DO DEL %%A
echo Building solution
%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe ..\src\umbraco.sln /t:Clean,Build
"%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
+92
View File
@@ -0,0 +1,92 @@
# 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
+458 -56
View File
@@ -1,67 +1,469 @@
param (
param (
# get, don't execute
[Parameter(Mandatory=$false)]
[string]
$version,
[Alias("g")]
[switch] $get = $false,
# run local, don't download, assume everything is ready
[Parameter(Mandatory=$false)]
[Alias("mo")]
[switch]
$moduleOnly = $false
)
[Alias("l")]
[Alias("loc")]
[switch] $local = $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\"
}
# keep the build directories, don't clear them
[Parameter(Mandatory=$false)]
[Alias("c")]
[Alias("cont")]
[switch] $continue = $false
)
# 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
}
# ################################################################
# BOOTSTRAP
# ################################################################
# add the module path (if not already there)
if (-not $env:PSModulePath.Contains($mpath))
{
$env:PSModulePath = "$mpath;$env:PSModulePath"
}
# create and boot the buildsystem
$ubuild = &"$PSScriptRoot\build-bootstrap.ps1"
if (-not $?) { return }
$ubuild.Boot($PSScriptRoot,
@{ Local = $local; },
@{ Continue = $continue })
if ($ubuild.OnError()) { return }
# force-import (or re-import) the module
Write-Host "Import Umbraco build Powershell module"
Import-Module Umbraco.Build -Force -DisableNameChecking
Write-Host "Umbraco Cms Build"
Write-Host "Umbraco.Build v$($ubuild.BuildVersion)"
# module only?
if ($moduleOnly)
{
if (-not [string]::IsNullOrWhiteSpace($version))
# ################################################################
# TASKS
# ################################################################
$ubuild.DefineMethod("SetMoreUmbracoVersion",
{
Write-Host "(module only: ignoring version parameter)"
}
else
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",
{
Write-Host "(module only)"
$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 }
}
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
Write-Host "Done"
if ($get) { return $ubuild }
-18
View File
@@ -1,18 +0,0 @@
# 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
-7
View File
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
<add key="umbracocore" value="http://www.myget.org/f/umbracocore/" />
</packageSources>
</configuration>
@@ -1,21 +0,0 @@
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")]
-103
View File
@@ -1,103 +0,0 @@
<?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</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>
<Private>True</Private>
</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>
<Private>True</Private>
</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>
@@ -1,2 +0,0 @@
<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
@@ -1,44 +0,0 @@
/************************************************************************************
*
* 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
@@ -1,253 +0,0 @@
/************************************************************************************
*
* 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
@@ -1,141 +0,0 @@
/************************************************************************************
*
* 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
@@ -1,34 +0,0 @@
/************************************************************************************
*
* 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
@@ -1,250 +0,0 @@
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
@@ -1,56 +0,0 @@
/************************************************************************************
*
* 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
@@ -1,270 +0,0 @@
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
@@ -1,64 +0,0 @@
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();
}
}
}
}
@@ -1,20 +0,0 @@
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
@@ -1,39 +0,0 @@
<?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-10.0.0.0" newVersion="10.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-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.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" /></startup></configuration>
-4
View File
@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="SqlServerCE" version="4.0.0.1" targetFramework="net45" />
</packages>
+11 -4
View File
@@ -6,10 +6,17 @@ using System.Resources;
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: NeutralResourcesLanguageAttribute("en-US")]
[assembly: NeutralResourcesLanguage("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
[assembly: AssemblyVersion("1.0.*")]
// 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: AssemblyFileVersion("7.6.7")]
[assembly: AssemblyInformationalVersion("7.6.7")]
// these are FYI and changed automatically
[assembly: AssemblyFileVersion("8.0.0")]
[assembly: AssemblyInformationalVersion("8.0.0-alpha.37")]
-73
View File
@@ -1,73 +0,0 @@
using System;
using System.Collections.Generic;
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>
/// 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
@@ -1,20 +0,0 @@
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;
}
}
}
@@ -1,12 +0,0 @@
using System;
namespace Umbraco.Core
{
internal class ActivatorServiceProvider : IServiceProvider
{
public object GetService(Type serviceType)
{
return Activator.CreateInstance(serviceType);
}
}
}
-446
View File
@@ -1,446 +0,0 @@
using System;
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>
internal string UmbracoApplicationUrl
{
get
{
ApplicationUrlHelper.EnsureApplicationUrl(this);
return _umbracoApplicationUrl;
}
}
// ReSharper disable once InconsistentNaming
internal string _umbracoApplicationUrl;
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;
}
}
}
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
@@ -1,119 +0,0 @@
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
}
}
}
}
}
+80 -120
View File
@@ -1,4 +1,4 @@
using System;
using System;
namespace Umbraco.Core
{
@@ -7,160 +7,120 @@ 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="T">The type of the attempted operation result.</typeparam>
/// <typeparam name="TResult">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<T> Succeed<T>(T result)
public static Attempt<TResult> Succeed<TResult>(TResult result)
{
return Attempt<T>.Succeed(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();
}
/// <summary>
/// Creates a failed attempt with a result.
/// </summary>
/// <typeparam name="T">The type of the attempted operation result.</typeparam>
/// <typeparam name="TResult">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<T> Fail<T>(T result)
public static Attempt<TResult> Fail<TResult>(TResult result)
{
return Attempt<T>.Fail(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);
}
/// <summary>
/// Creates a failed attempt with a result and an exception.
/// </summary>
/// <typeparam name="T">The type of the attempted operation result.</typeparam>
/// <typeparam name="TResult">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<T> Fail<T>(T result, Exception exception)
public static Attempt<TResult> Fail<TResult>(TResult result, Exception exception)
{
return Attempt<T>.Fail(result, 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);
}
/// <summary>
/// Creates a successful or a failed attempt, with a result.
/// </summary>
/// <typeparam name="T">The type of the attempted operation result.</typeparam>
/// <param name="success">A value indicating whether the attempt is successful.</param>
/// <typeparam name="TResult">The type of the attempted operation result.</typeparam>
/// <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> If<T>(bool success, T result)
public static Attempt<TResult> If<TResult>(bool condition, TResult 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;
return Attempt<TResult>.If(condition, result);
}
/// <summary>
/// Represents the outcome of an attempt.
/// Creates a successful or a failed attempt, with a result.
/// </summary>
/// <remarks>Can be a success or a failure, and allows for attempts chaining.</remarks>
public struct Outcome
/// <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)
{
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;
}
return Attempt<TResult, TStatus>.If(condition, succStatus, failStatus, result);
}
}
}
}
+133
View File
@@ -0,0 +1,133 @@
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
@@ -0,0 +1,142 @@
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
@@ -1,174 +0,0 @@
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
@@ -1,17 +0,0 @@
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,353 @@
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
@@ -1,87 +0,0 @@
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
}
}
@@ -1,4 +1,5 @@
using System;
using System.ComponentModel;
using System.Threading;
using System.Web;
using Umbraco.Core.Security;
@@ -45,12 +46,8 @@ namespace Umbraco.Core.Auditing
/// </summary>
public string Username { get; private set; }
/// <summary>
/// Sets the properties on the event being raised, all parameters are optional except for the action being performed
/// </summary>
/// <param name="action">An action based on the AuditEvent enum</param>
/// <param name="ipAddress">The client's IP address. This is usually automatically set but could be overridden if necessary</param>
/// <param name="performingUser">The Id of the user performing the action (if different from the user affected by the action)</param>
[Obsolete("Use the method that has the affectedUser parameter instead")]
[EditorBrowsable(EditorBrowsableState.Never)]
public IdentityAuditEventArgs(AuditEvent action, string ipAddress, int performingUser = -1)
{
DateTimeUtc = DateTime.UtcNow;
@@ -63,6 +60,35 @@ namespace Umbraco.Core.Auditing
: performingUser;
}
/// <summary>
/// Default constructor
/// </summary>
/// <param name="action"></param>
/// <param name="ipAddress"></param>
/// <param name="comment"></param>
/// <param name="performingUser"></param>
/// <param name="affectedUser"></param>
public IdentityAuditEventArgs(AuditEvent action, string ipAddress, string comment = null, int performingUser = -1, int affectedUser = -1)
{
DateTimeUtc = DateTime.UtcNow;
Action = action;
IpAddress = ipAddress;
Comment = comment;
AffectedUser = affectedUser;
PerformingUser = performingUser == -1
? GetCurrentRequestBackofficeUserId()
: performingUser;
}
/// <summary>
/// Creates an instance without a performing or affected user (the id will be set to -1)
/// </summary>
/// <param name="action"></param>
/// <param name="ipAddress"></param>
/// <param name="username"></param>
/// <param name="comment"></param>
public IdentityAuditEventArgs(AuditEvent action, string ipAddress, string username, string comment)
{
DateTimeUtc = DateTime.UtcNow;
@@ -71,6 +97,22 @@ namespace Umbraco.Core.Auditing
IpAddress = ipAddress;
Username = username;
Comment = comment;
PerformingUser = -1;
}
public IdentityAuditEventArgs(AuditEvent action, string ipAddress, string username, string comment, int performingUser)
{
DateTimeUtc = DateTime.UtcNow;
Action = action;
IpAddress = ipAddress;
Username = username;
Comment = comment;
PerformingUser = performingUser == -1
? GetCurrentRequestBackofficeUserId()
: performingUser;
}
/// <summary>
+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
@@ -0,0 +1,422 @@
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;
}
}
}
+4 -48
View File
@@ -1,4 +1,4 @@
using System;
using System;
using System.ComponentModel;
using Umbraco.Core.CodeAnnotations;
@@ -22,16 +22,11 @@ namespace Umbraco.Core.Cache
[UmbracoWillObsolete("This cache key is only used for the legacy 'library' caching, remove in v8")]
public const string MediaCacheKey = "UL_GetMedia";
public const string MacroXsltCacheKey = "macroXslt_";
[UmbracoWillObsolete("This cache key is only used for legacy business logic caching, remove in v8")]
public const string MacroCacheKey = "UmbracoMacroCache";
public const string MacroHtmlCacheKey = "macroHtml_";
public const string MacroControlCacheKey = "macroControl_";
public const string MacroHtmlDateAddedCacheKey = "macroHtml_DateAdded_";
public const string MacroControlDateAddedCacheKey = "macroControl_DateAdded_";
public const string MacroContentCacheKey = "macroContent_"; // for macro contents
[UmbracoWillObsolete("This cache key is only used for legacy 'library' member caching, remove in v8")]
public const string MemberLibraryCacheKey = "UL_GetMember";
@@ -42,54 +37,15 @@ namespace Umbraco.Core.Cache
[UmbracoWillObsolete("This cache key is only used for legacy template business logic caching, remove in v8")]
public const string TemplateFrontEndCacheKey = "template";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string TemplateBusinessLogicCacheKey = "UmbracoTemplateCache";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string UserContextCacheKey = "UmbracoUserContext";
public const string UserContextTimeoutCacheKey = "UmbracoUserContextTimeout";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string UserCacheKey = "UmbracoUser";
public const string UserPermissionsCacheKey = "UmbracoUserPermissions";
[UmbracoWillObsolete("This cache key is only used for legacy business logic caching, remove in v8")]
public const string ContentTypeCacheKey = "UmbracoContentType";
[UmbracoWillObsolete("This cache key is only used for legacy business logic caching, remove in v8")]
public const string ContentTypePropertiesCacheKey = "ContentType_PropertyTypes_Content:";
[Obsolete("No longer used and will be removed in v8")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string PropertyTypeCacheKey = "UmbracoPropertyTypeCache";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string LanguageCacheKey = "UmbracoLanguageCache";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string DomainCacheKey = "UmbracoDomainList";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string StylesheetCacheKey = "UmbracoStylesheet";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string StylesheetPropertyCacheKey = "UmbracoStylesheetProperty";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
[EditorBrowsable(EditorBrowsableState.Never)]
public const string DataTypeCacheKey = "UmbracoDataTypeDefinition";
public const string DataTypePreValuesCacheKey = "UmbracoPreVal";
public const string IdToKeyCacheKey = "UI2K__";
public const string KeyToIdCacheKey = "UK2I__";
}
}
}
@@ -67,4 +67,4 @@ namespace Umbraco.Core.Cache
return result.TryConvertTo<T>().Result;
}
}
}
}
+88 -46
View File
@@ -1,78 +1,120 @@
using System;
using Umbraco.Core.Events;
using Umbraco.Core.Models.Entities;
using Umbraco.Core.Sync;
using umbraco.interfaces;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Cache
{
/// <summary>
/// A base class for cache refreshers to inherit from that ensures the correct events are raised
/// when cache refreshing occurs.
/// A base class for cache refreshers that handles events.
/// </summary>
/// <typeparam name="TInstanceType">The real cache refresher type, this is used for raising strongly typed events</typeparam>
/// <typeparam name="TInstanceType">The actual cache refresher type.</typeparam>
/// <remarks>The actual cache refresher type is used for strongly typed events.</remarks>
public abstract class CacheRefresherBase<TInstanceType> : ICacheRefresher
where TInstanceType : ICacheRefresher
where TInstanceType : class, ICacheRefresher
{
/// <summary>
/// An event that is raised when cache is updated on an individual server
/// Initializes a new instance of the <see cref="CacheRefresherBase{TInstanceType}"/>.
/// </summary>
/// <param name="cacheHelper">A cache helper.</param>
protected CacheRefresherBase(CacheHelper cacheHelper)
{
CacheHelper = cacheHelper;
}
/// <summary>
/// Triggers when the cache is updated on the server.
/// </summary>
/// <remarks>
/// This event will fire on each server configured for an Umbraco project whenever a cache refresher
/// is updated.
/// Triggers on each server configured for an Umbraco project whenever a cache refresher is updated.
/// </remarks>
public static event TypedEventHandler<TInstanceType, CacheRefresherEventArgs> CacheUpdated;
/// <summary>
/// Raises the event
/// </summary>
/// <param name="sender"></param>
/// <param name="args"></param>
protected static void OnCacheUpdated(TInstanceType sender, CacheRefresherEventArgs args)
{
if (CacheUpdated != null)
{
CacheUpdated(sender, args);
}
}
#region Define
/// <summary>
/// Returns the real instance of the object ('this') for use in strongly typed events
/// Gets the typed 'this' for events.
/// </summary>
protected abstract TInstanceType Instance { get; }
protected abstract TInstanceType This { get; }
public abstract Guid UniqueIdentifier { get; }
/// <summary>
/// Gets the unique identifier of the refresher.
/// </summary>
public abstract Guid RefresherUniqueId { get; }
/// <summary>
/// Gets the name of the refresher.
/// </summary>
public abstract string Name { get; }
#endregion
#region Refresher
/// <summary>
/// Refreshes all entities.
/// </summary>
public virtual void RefreshAll()
{
OnCacheUpdated(Instance, new CacheRefresherEventArgs(null, MessageType.RefreshAll));
}
public virtual void Refresh(int id)
{
OnCacheUpdated(Instance, new CacheRefresherEventArgs(id, MessageType.RefreshById));
}
public virtual void Remove(int id)
{
OnCacheUpdated(Instance, new CacheRefresherEventArgs(id, MessageType.RemoveById));
}
public virtual void Refresh(Guid id)
{
OnCacheUpdated(Instance, new CacheRefresherEventArgs(id, MessageType.RefreshById));
OnCacheUpdated(This, new CacheRefresherEventArgs(null, MessageType.RefreshAll));
}
/// <summary>
/// Clears the cache for all repository entities of this type
/// Refreshes an entity.
/// </summary>
/// <typeparam name="TEntity"></typeparam>
internal void ClearAllIsolatedCacheByEntityType<TEntity>()
where TEntity : class, IAggregateRoot
/// <param name="id">The entity's identifier.</param>
public virtual void Refresh(int id)
{
ApplicationContext.Current.ApplicationCache.IsolatedRuntimeCache.ClearCache<TEntity>();
OnCacheUpdated(This, new CacheRefresherEventArgs(id, MessageType.RefreshById));
}
/// <summary>
/// Refreshes an entity.
/// </summary>
/// <param name="id">The entity's identifier.</param>
public virtual void Refresh(Guid id)
{
OnCacheUpdated(This, new CacheRefresherEventArgs(id, MessageType.RefreshById));
}
/// <summary>
/// Removes an entity.
/// </summary>
/// <param name="id">The entity's identifier.</param>
public virtual void Remove(int id)
{
OnCacheUpdated(This, new CacheRefresherEventArgs(id, MessageType.RemoveById));
}
#endregion
#region Protected
/// <summary>
/// Gets the cache helper.
/// </summary>
protected CacheHelper CacheHelper { get; }
/// <summary>
/// Clears the cache for all repository entities of a specified type.
/// </summary>
/// <typeparam name="TEntity">The type of the entities.</typeparam>
protected void ClearAllIsolatedCacheByEntityType<TEntity>()
where TEntity : class, IEntity
{
CacheHelper.IsolatedRuntimeCache.ClearCache<TEntity>();
}
/// <summary>
/// Raises the CacheUpdated event.
/// </summary>
/// <param name="sender">The event sender.</param>
/// <param name="args">The event arguments.</param>
protected static void OnCacheUpdated(TInstanceType sender, CacheRefresherEventArgs args)
{
CacheUpdated?.Invoke(sender, args);
}
#endregion
}
}
}
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core.Composing;
namespace Umbraco.Core.Cache
{
public class CacheRefresherCollection : BuilderCollectionBase<ICacheRefresher>
{
public CacheRefresherCollection(IEnumerable<ICacheRefresher> items)
: base(items)
{ }
public ICacheRefresher this[Guid id]
=> this.FirstOrDefault(x => x.RefresherUniqueId == id);
}
}
@@ -0,0 +1,15 @@
using System.Collections.Generic;
using LightInject;
using Umbraco.Core.Composing;
namespace Umbraco.Core.Cache
{
public class CacheRefresherCollectionBuilder : LazyCollectionBuilderBase<CacheRefresherCollectionBuilder, CacheRefresherCollection, ICacheRefresher>
{
public CacheRefresherCollectionBuilder(IServiceContainer container)
: base(container)
{ }
protected override CacheRefresherCollectionBuilder This => this;
}
}
@@ -16,4 +16,4 @@ namespace Umbraco.Core.Cache
public object MessageObject { get; private set; }
public MessageType MessageType { get; private set; }
}
}
}
@@ -1,9 +1,9 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Caching;
using Umbraco.Core.Models;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Entities;
namespace Umbraco.Core.Cache
{
@@ -16,23 +16,26 @@ namespace Umbraco.Core.Cache
}
/// <summary>
/// A wrapper for any IRuntimeCacheProvider that ensures that all inserts and returns
/// A wrapper for any IRuntimeCacheProvider that ensures that all inserts and returns
/// are a deep cloned copy of the item when the item is IDeepCloneable and that tracks changes are
/// reset if the object is TracksChangesEntityBase
/// </summary>
internal class DeepCloneRuntimeCacheProvider : IRuntimeCacheProvider, IRuntimeCacheProviderWrapper
{
public IRuntimeCacheProvider InnerProvider { get; private set; }
public IRuntimeCacheProvider InnerProvider { get; }
public DeepCloneRuntimeCacheProvider(IRuntimeCacheProvider innerProvider)
{
if (innerProvider.GetType() == typeof(DeepCloneRuntimeCacheProvider))
throw new InvalidOperationException("A " + typeof(DeepCloneRuntimeCacheProvider) + " cannot wrap another instance of " + typeof(DeepCloneRuntimeCacheProvider));
var type = typeof (DeepCloneRuntimeCacheProvider);
if (innerProvider.GetType() == type)
throw new InvalidOperationException($"A {type} cannot wrap another instance of {type}.");
InnerProvider = innerProvider;
}
#region Clear - doesn't require any changes
public void ClearAllCache()
{
InnerProvider.ClearAllCache();
@@ -66,7 +69,8 @@ namespace Umbraco.Core.Cache
public void ClearCacheByKeyExpression(string regexString)
{
InnerProvider.ClearCacheByKeyExpression(regexString);
}
}
#endregion
public IEnumerable<object> GetCacheItemsByKeySearch(string keyStartsWith)
@@ -80,7 +84,7 @@ namespace Umbraco.Core.Cache
return InnerProvider.GetCacheItemsByKeyExpression(regexString)
.Select(CheckCloneableAndTracksChanges);
}
public object GetCacheItem(string cacheKey)
{
var item = InnerProvider.GetCacheItem(cacheKey);
@@ -108,11 +112,11 @@ namespace Umbraco.Core.Cache
var value = result.Value; // force evaluation now - this may throw if cacheItem throws, and then nothing goes into cache
if (value == null) return null; // do not store null values (backward compat)
//Clone/reset to go into the cache
// clone / reset to go into the cache
return CheckCloneableAndTracksChanges(value);
}, timeout, isSliding, priority, removedCallback, dependentFiles);
//Clone/reset to go out of the cache
// clone / reset to go into the cache
return CheckCloneableAndTracksChanges(cached);
}
@@ -124,8 +128,9 @@ namespace Umbraco.Core.Cache
var value = result.Value; // force evaluation now - this may throw if cacheItem throws, and then nothing goes into cache
if (value == null) return null; // do not store null values (backward compat)
// clone / reset to go into the cache
return CheckCloneableAndTracksChanges(value);
}, timeout, isSliding, priority, removedCallback, dependentFiles);
}, timeout, isSliding, priority, removedCallback, dependentFiles);
}
private static object CheckCloneableAndTracksChanges(object input)
@@ -133,11 +138,10 @@ namespace Umbraco.Core.Cache
var cloneable = input as IDeepCloneable;
if (cloneable != null)
{
input = cloneable.DeepClone();
input = cloneable.DeepClone();
}
//on initial construction we don't want to have dirty properties tracked
// http://issues.umbraco.org/issue/U4-1946
// reset dirty initial properties (U4-1946)
var tracksChanges = input as IRememberBeingDirty;
if (tracksChanges != null)
{
@@ -148,4 +152,4 @@ namespace Umbraco.Core.Cache
return input;
}
}
}
}
@@ -1,7 +1,7 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Entities;
using Umbraco.Core.Scoping;
namespace Umbraco.Core.Cache
@@ -18,32 +18,26 @@ namespace Umbraco.Core.Cache
/// <para>If options.GetAllCacheValidateCount then we check against the db when getting many entities.</para>
/// </remarks>
internal class DefaultRepositoryCachePolicy<TEntity, TId> : RepositoryCachePolicyBase<TEntity, TId>
where TEntity : class, IAggregateRoot
where TEntity : class, IEntity
{
private static readonly TEntity[] EmptyEntities = new TEntity[0]; // const
private readonly RepositoryCachePolicyOptions _options;
public DefaultRepositoryCachePolicy(IRuntimeCacheProvider cache, RepositoryCachePolicyOptions options)
: base(cache)
public DefaultRepositoryCachePolicy(IRuntimeCacheProvider cache, IScopeAccessor scopeAccessor, RepositoryCachePolicyOptions options)
: base(cache, scopeAccessor)
{
if (options == null) throw new ArgumentNullException("options");
_options = options;
}
public override IRepositoryCachePolicy<TEntity, TId> Scoped(IRuntimeCacheProvider runtimeCache, IScope scope)
{
return new ScopedRepositoryCachePolicy<TEntity, TId>(this, runtimeCache, scope);
_options = options ?? throw new ArgumentNullException(nameof(options));
}
protected string GetEntityCacheKey(object id)
{
if (id == null) throw new ArgumentNullException("id");
if (id == null) throw new ArgumentNullException(nameof(id));
return GetEntityTypeCacheKey() + id;
}
protected string GetEntityTypeCacheKey()
{
return string.Format("uRepo_{0}_", typeof(TEntity).Name);
return $"uRepo_{typeof (TEntity).Name}_";
}
protected virtual void InsertEntity(string cacheKey, TEntity entity)
@@ -74,7 +68,7 @@ namespace Umbraco.Core.Cache
/// <inheritdoc />
public override void Create(TEntity entity, Action<TEntity> persistNew)
{
if (entity == null) throw new ArgumentNullException("entity");
if (entity == null) throw new ArgumentNullException(nameof(entity));
try
{
@@ -106,7 +100,7 @@ namespace Umbraco.Core.Cache
/// <inheritdoc />
public override void Update(TEntity entity, Action<TEntity> persistUpdated)
{
if (entity == null) throw new ArgumentNullException("entity");
if (entity == null) throw new ArgumentNullException(nameof(entity));
try
{
@@ -138,7 +132,7 @@ namespace Umbraco.Core.Cache
/// <inheritdoc />
public override void Delete(TEntity entity, Action<TEntity> persistDeleted)
{
if (entity == null) throw new ArgumentNullException("entity");
if (entity == null) throw new ArgumentNullException(nameof(entity));
try
{
@@ -244,7 +238,7 @@ namespace Umbraco.Core.Cache
/// <inheritdoc />
public override void ClearAll()
{
Cache.ClearAllCache();
Cache.ClearCacheByKeySearch(GetEntityTypeCacheKey());
}
}
}
}
@@ -0,0 +1,147 @@
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using Umbraco.Core.Composing;
namespace Umbraco.Core.Cache
{
internal class DictionaryCacheProvider : ICacheProvider
{
private readonly ConcurrentDictionary<string, Lazy<object>> _items
= new ConcurrentDictionary<string, Lazy<object>>();
// for tests
internal ConcurrentDictionary<string, Lazy<object>> Items => _items;
public void ClearAllCache()
{
_items.Clear();
}
public void ClearCacheItem(string key)
{
_items.TryRemove(key, out _);
}
public void ClearCacheObjectTypes(string typeName)
{
var type = TypeFinder.GetTypeByName(typeName);
if (type == null) return;
var isInterface = type.IsInterface;
foreach (var kvp in _items
.Where(x =>
{
// entry.Value is Lazy<object> and not null, its value may be null
// remove null values as well, does not hurt
// get non-created as NonCreatedValue & exceptions as null
var value = DictionaryCacheProviderBase.GetSafeLazyValue(x.Value, true);
// if T is an interface remove anything that implements that interface
// otherwise remove exact types (not inherited types)
return value == null || (isInterface ? (type.IsInstanceOfType(value)) : (value.GetType() == type));
}))
_items.TryRemove(kvp.Key, out _);
}
public void ClearCacheObjectTypes<T>()
{
var typeOfT = typeof(T);
var isInterface = typeOfT.IsInterface;
foreach (var kvp in _items
.Where(x =>
{
// entry.Value is Lazy<object> and not null, its value may be null
// remove null values as well, does not hurt
// compare on exact type, don't use "is"
// get non-created as NonCreatedValue & exceptions as null
var value = DictionaryCacheProviderBase.GetSafeLazyValue(x.Value, true);
// if T is an interface remove anything that implements that interface
// otherwise remove exact types (not inherited types)
return value == null || (isInterface ? (value is T) : (value.GetType() == typeOfT));
}))
_items.TryRemove(kvp.Key, out _);
}
public void ClearCacheObjectTypes<T>(Func<string, T, bool> predicate)
{
var typeOfT = typeof(T);
var isInterface = typeOfT.IsInterface;
foreach (var kvp in _items
.Where(x =>
{
// entry.Value is Lazy<object> and not null, its value may be null
// remove null values as well, does not hurt
// compare on exact type, don't use "is"
// get non-created as NonCreatedValue & exceptions as null
var value = DictionaryCacheProviderBase.GetSafeLazyValue(x.Value, true);
if (value == null) return true;
// if T is an interface remove anything that implements that interface
// otherwise remove exact types (not inherited types)
return (isInterface ? (value is T) : (value.GetType() == typeOfT))
// run predicate on the 'public key' part only, ie without prefix
&& predicate(x.Key, (T)value);
}))
_items.TryRemove(kvp.Key, out _);
}
public void ClearCacheByKeySearch(string keyStartsWith)
{
foreach (var ikvp in _items
.Where(kvp => kvp.Key.InvariantStartsWith(keyStartsWith)))
_items.TryRemove(ikvp.Key, out _);
}
public void ClearCacheByKeyExpression(string regexString)
{
foreach (var ikvp in _items
.Where(kvp => Regex.IsMatch(kvp.Key, regexString)))
_items.TryRemove(ikvp.Key, out _);
}
public IEnumerable<object> GetCacheItemsByKeySearch(string keyStartsWith)
{
return _items
.Where(kvp => kvp.Key.InvariantStartsWith(keyStartsWith))
.Select(kvp => DictionaryCacheProviderBase.GetSafeLazyValue(kvp.Value))
.Where(x => x != null);
}
public IEnumerable<object> GetCacheItemsByKeyExpression(string regexString)
{
return _items
.Where(kvp => Regex.IsMatch(kvp.Key, regexString))
.Select(kvp => DictionaryCacheProviderBase.GetSafeLazyValue(kvp.Value))
.Where(x => x != null);
}
public object GetCacheItem(string cacheKey)
{
_items.TryGetValue(cacheKey, out var result); // else null
return result == null ? null : DictionaryCacheProviderBase.GetSafeLazyValue(result); // return exceptions as null
}
public object GetCacheItem(string cacheKey, Func<object> getCacheItem)
{
var result = _items.GetOrAdd(cacheKey, k => DictionaryCacheProviderBase.GetSafeLazy(getCacheItem));
var value = result.Value; // will not throw (safe lazy)
if (!(value is DictionaryCacheProviderBase.ExceptionHolder eh))
return value;
// and... it's in the cache anyway - so contrary to other cache providers,
// which would trick with GetSafeLazyValue, we need to remove by ourselves,
// in order NOT to cache exceptions
_items.TryRemove(cacheKey, out result);
eh.Exception.Throw(); // throw once!
return null; // never reached
}
}
}
@@ -2,7 +2,9 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.ExceptionServices;
using System.Text.RegularExpressions;
using Umbraco.Core.Composing;
namespace Umbraco.Core.Cache
{
@@ -22,8 +24,13 @@ namespace Umbraco.Core.Cache
protected abstract object GetEntry(string key);
// read-write lock the underlying cache
protected abstract IDisposable ReadLock { get; }
protected abstract IDisposable WriteLock { get; }
//protected abstract IDisposable ReadLock { get; }
//protected abstract IDisposable WriteLock { get; }
protected abstract void EnterReadLock();
protected abstract void ExitReadLock();
protected abstract void EnterWriteLock();
protected abstract void ExitWriteLock();
protected string GetCacheKey(string key)
{
@@ -44,7 +51,7 @@ namespace Umbraco.Core.Cache
}
catch (Exception e)
{
return new ExceptionHolder(e);
return new ExceptionHolder(ExceptionDispatchInfo.Capture(e));
}
});
}
@@ -74,33 +81,43 @@ namespace Umbraco.Core.Cache
internal class ExceptionHolder
{
public ExceptionHolder(Exception e)
public ExceptionHolder(ExceptionDispatchInfo e)
{
Exception = e;
}
public Exception Exception { get; private set; }
public ExceptionDispatchInfo Exception { get; }
}
#region Clear
public virtual void ClearAllCache()
{
using (WriteLock)
try
{
EnterWriteLock();
foreach (var entry in GetDictionaryEntries()
.ToArray())
RemoveEntry((string) entry.Key);
}
finally
{
ExitWriteLock();
}
}
public virtual void ClearCacheItem(string key)
{
var cacheKey = GetCacheKey(key);
using (WriteLock)
try
{
EnterWriteLock();
RemoveEntry(cacheKey);
}
finally
{
ExitWriteLock();
}
}
public virtual void ClearCacheObjectTypes(string typeName)
@@ -108,15 +125,16 @@ namespace Umbraco.Core.Cache
var type = TypeFinder.GetTypeByName(typeName);
if (type == null) return;
var isInterface = type.IsInterface;
using (WriteLock)
try
{
EnterWriteLock();
foreach (var entry in GetDictionaryEntries()
.Where(x =>
{
// entry.Value is Lazy<object> and not null, its value may be null
// remove null values as well, does not hurt
// get non-created as NonCreatedValue & exceptions as null
var value = GetSafeLazyValue((Lazy<object>)x.Value, true);
var value = GetSafeLazyValue((Lazy<object>) x.Value, true);
// if T is an interface remove anything that implements that interface
// otherwise remove exact types (not inherited types)
@@ -125,14 +143,19 @@ namespace Umbraco.Core.Cache
.ToArray())
RemoveEntry((string) entry.Key);
}
finally
{
ExitWriteLock();
}
}
public virtual void ClearCacheObjectTypes<T>()
{
var typeOfT = typeof(T);
var isInterface = typeOfT.IsInterface;
using (WriteLock)
try
{
EnterWriteLock();
foreach (var entry in GetDictionaryEntries()
.Where(x =>
{
@@ -140,7 +163,7 @@ namespace Umbraco.Core.Cache
// remove null values as well, does not hurt
// compare on exact type, don't use "is"
// get non-created as NonCreatedValue & exceptions as null
var value = GetSafeLazyValue((Lazy<object>)x.Value, true);
var value = GetSafeLazyValue((Lazy<object>) x.Value, true);
// if T is an interface remove anything that implements that interface
// otherwise remove exact types (not inherited types)
@@ -149,6 +172,10 @@ namespace Umbraco.Core.Cache
.ToArray())
RemoveEntry((string) entry.Key);
}
finally
{
ExitWriteLock();
}
}
public virtual void ClearCacheObjectTypes<T>(Func<string, T, bool> predicate)
@@ -156,8 +183,9 @@ namespace Umbraco.Core.Cache
var typeOfT = typeof(T);
var isInterface = typeOfT.IsInterface;
var plen = CacheItemPrefix.Length + 1;
using (WriteLock)
try
{
EnterWriteLock();
foreach (var entry in GetDictionaryEntries()
.Where(x =>
{
@@ -165,7 +193,7 @@ namespace Umbraco.Core.Cache
// remove null values as well, does not hurt
// compare on exact type, don't use "is"
// get non-created as NonCreatedValue & exceptions as null
var value = GetSafeLazyValue((Lazy<object>)x.Value, true);
var value = GetSafeLazyValue((Lazy<object>) x.Value, true);
if (value == null) return true;
// if T is an interface remove anything that implements that interface
@@ -176,30 +204,44 @@ namespace Umbraco.Core.Cache
}))
RemoveEntry((string) entry.Key);
}
finally
{
ExitWriteLock();
}
}
public virtual void ClearCacheByKeySearch(string keyStartsWith)
{
var plen = CacheItemPrefix.Length + 1;
using (WriteLock)
try
{
EnterWriteLock();
foreach (var entry in GetDictionaryEntries()
.Where(x => ((string)x.Key).Substring(plen).InvariantStartsWith(keyStartsWith))
.ToArray())
RemoveEntry((string) entry.Key);
}
finally
{
ExitWriteLock();
}
}
public virtual void ClearCacheByKeyExpression(string regexString)
{
var plen = CacheItemPrefix.Length + 1;
using (WriteLock)
try
{
EnterWriteLock();
foreach (var entry in GetDictionaryEntries()
.Where(x => Regex.IsMatch(((string)x.Key).Substring(plen), regexString))
.ToArray())
RemoveEntry((string) entry.Key);
}
finally
{
ExitWriteLock();
}
}
#endregion
@@ -210,12 +252,18 @@ namespace Umbraco.Core.Cache
{
var plen = CacheItemPrefix.Length + 1;
IEnumerable<DictionaryEntry> entries;
using (ReadLock)
try
{
EnterReadLock();
entries = GetDictionaryEntries()
.Where(x => ((string)x.Key).Substring(plen).InvariantStartsWith(keyStartsWith))
.ToArray(); // evaluate while locked
}
finally
{
ExitReadLock();
}
return entries
.Select(x => GetSafeLazyValue((Lazy<object>)x.Value)) // return exceptions as null
.Where(x => x != null); // backward compat, don't store null values in the cache
@@ -226,12 +274,17 @@ namespace Umbraco.Core.Cache
const string prefix = CacheItemPrefix + "-";
var plen = prefix.Length;
IEnumerable<DictionaryEntry> entries;
using (ReadLock)
try
{
EnterReadLock();
entries = GetDictionaryEntries()
.Where(x => Regex.IsMatch(((string)x.Key).Substring(plen), regexString))
.ToArray(); // evaluate while locked
}
finally
{
ExitReadLock();
}
return entries
.Select(x => GetSafeLazyValue((Lazy<object>)x.Value)) // return exceptions as null
.Where(x => x != null); // backward compat, don't store null values in the cache
@@ -241,10 +294,15 @@ namespace Umbraco.Core.Cache
{
cacheKey = GetCacheKey(cacheKey);
Lazy<object> result;
using (ReadLock)
try
{
EnterReadLock();
result = GetEntry(cacheKey) as Lazy<object>; // null if key not found
}
finally
{
ExitReadLock();
}
return result == null ? null : GetSafeLazyValue(result); // return exceptions as null
}
@@ -252,4 +310,4 @@ namespace Umbraco.Core.Cache
#endregion
}
}
}
@@ -1,8 +1,8 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core.Collections;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Entities;
using Umbraco.Core.Scoping;
namespace Umbraco.Core.Cache
@@ -19,28 +19,23 @@ namespace Umbraco.Core.Cache
/// keep as a whole in memory.</para>
/// </remarks>
internal class FullDataSetRepositoryCachePolicy<TEntity, TId> : RepositoryCachePolicyBase<TEntity, TId>
where TEntity : class, IAggregateRoot
where TEntity : class, IEntity
{
private readonly Func<TEntity, TId> _entityGetId;
private readonly bool _expires;
public FullDataSetRepositoryCachePolicy(IRuntimeCacheProvider cache, Func<TEntity, TId> entityGetId, bool expires)
: base(cache)
public FullDataSetRepositoryCachePolicy(IRuntimeCacheProvider cache, IScopeAccessor scopeAccessor, Func<TEntity, TId> entityGetId, bool expires)
: base(cache, scopeAccessor)
{
_entityGetId = entityGetId;
_expires = expires;
}
public override IRepositoryCachePolicy<TEntity, TId> Scoped(IRuntimeCacheProvider runtimeCache, IScope scope)
{
return new ScopedRepositoryCachePolicy<TEntity, TId>(this, runtimeCache, scope);
}
protected static readonly TId[] EmptyIds = new TId[0]; // const
protected string GetEntityTypeCacheKey()
{
return string.Format("uRepo_{0}_", typeof(TEntity).Name);
return $"uRepo_{typeof (TEntity).Name}_";
}
protected void InsertEntities(TEntity[] entities)
@@ -56,20 +51,22 @@ namespace Umbraco.Core.Cache
// set to ListCloneBehavior.CloneOnce ie it will clone *once* when inserting,
// and then will *not* clone when retrieving.
var key = GetEntityTypeCacheKey();
if (_expires)
{
Cache.InsertCacheItem(GetEntityTypeCacheKey(), () => new DeepCloneableList<TEntity>(entities), TimeSpan.FromMinutes(5), true);
Cache.InsertCacheItem(key, () => new DeepCloneableList<TEntity>(entities), TimeSpan.FromMinutes(5), true);
}
else
{
Cache.InsertCacheItem(GetEntityTypeCacheKey(), () => new DeepCloneableList<TEntity>(entities));
Cache.InsertCacheItem(key, () => new DeepCloneableList<TEntity>(entities));
}
}
/// <inheritdoc />
public override void Create(TEntity entity, Action<TEntity> persistNew)
{
if (entity == null) throw new ArgumentNullException("entity");
if (entity == null) throw new ArgumentNullException(nameof(entity));
try
{
@@ -84,7 +81,7 @@ namespace Umbraco.Core.Cache
/// <inheritdoc />
public override void Update(TEntity entity, Action<TEntity> persistUpdated)
{
if (entity == null) throw new ArgumentNullException("entity");
if (entity == null) throw new ArgumentNullException(nameof(entity));
try
{
@@ -99,7 +96,7 @@ namespace Umbraco.Core.Cache
/// <inheritdoc />
public override void Delete(TEntity entity, Action<TEntity> persistDeleted)
{
if (entity == null) throw new ArgumentNullException("entity");
if (entity == null) throw new ArgumentNullException(nameof(entity));
try
{
@@ -120,7 +117,7 @@ namespace Umbraco.Core.Cache
// see note in InsertEntities - what we get here is the original
// cached entity, not a clone, so we need to manually ensure it is deep-cloned.
return entity == null ? null : (TEntity) entity.DeepClone();
return (TEntity)entity?.DeepClone();
}
/// <inheritdoc />
@@ -128,11 +125,11 @@ namespace Umbraco.Core.Cache
{
// get all from the cache -- and only the cache, then look for the entity
var all = Cache.GetCacheItem<DeepCloneableList<TEntity>>(GetEntityTypeCacheKey());
var entity = all == null ? null : all.FirstOrDefault(x => _entityGetId(x).Equals(id));
var entity = all?.FirstOrDefault(x => _entityGetId(x).Equals(id));
// see note in InsertEntities - what we get here is the original
// cached entity, not a clone, so we need to manually ensure it is deep-cloned.
return entity == null ? null : (TEntity)entity.DeepClone();
return (TEntity) entity?.DeepClone();
}
/// <inheritdoc />
@@ -159,7 +156,7 @@ namespace Umbraco.Core.Cache
}
// does NOT clone anything, so be nice with the returned values
private IEnumerable<TEntity> GetAllCached(Func<TId[], IEnumerable<TEntity>> performGetAll)
internal IEnumerable<TEntity> GetAllCached(Func<TId[], IEnumerable<TEntity>> performGetAll)
{
// try the cache first
var all = Cache.GetCacheItem<DeepCloneableList<TEntity>>(GetEntityTypeCacheKey());
@@ -177,4 +174,4 @@ namespace Umbraco.Core.Cache
Cache.ClearCacheItem(GetEntityTypeCacheKey());
}
}
}
}
@@ -79,24 +79,26 @@ namespace Umbraco.Core.Cache
#region Lock
protected override IDisposable ReadLock
private bool _entered;
protected override void EnterReadLock() => EnterWriteLock();
protected override void EnterWriteLock()
{
// there's no difference between ReadLock and WriteLock here
get { return WriteLock; }
if (HasContextItems)
{
System.Threading.Monitor.Enter(ContextItems.SyncRoot, ref _entered);
}
}
protected override IDisposable WriteLock
{
// NOTE
// could think about just overriding base.Locker to return a different
// object but then we'd create a ReaderWriterLockSlim per request,
// which is less efficient than just using a basic monitor lock.
protected override void ExitReadLock() => ExitWriteLock();
get
protected override void ExitWriteLock()
{
if (_entered)
{
return HasContextItems
? (IDisposable) new MonitorLock(ContextItems.SyncRoot)
: new NoopLocker();
_entered = false;
System.Threading.Monitor.Exit(ContextItems.SyncRoot);
}
}
@@ -113,8 +115,9 @@ namespace Umbraco.Core.Cache
Lazy<object> result;
using (WriteLock)
try
{
EnterWriteLock();
result = ContextItems[cacheKey] as Lazy<object>; // null if key not found
// cannot create value within the lock, so if result.IsValueCreated is false, just
@@ -127,6 +130,10 @@ namespace Umbraco.Core.Cache
ContextItems[cacheKey] = result;
}
}
finally
{
ExitWriteLock();
}
// using GetSafeLazy and GetSafeLazyValue ensures that we don't cache
// exceptions (but try again and again) and silently eat them - however at
@@ -136,8 +143,7 @@ namespace Umbraco.Core.Cache
//return result.Value;
var value = result.Value; // will not throw (safe lazy)
var eh = value as ExceptionHolder;
if (eh != null) throw eh.Exception; // throw once!
if (value is ExceptionHolder eh) eh.Exception.Throw(); // throw once!
return value;
}
@@ -146,10 +152,10 @@ namespace Umbraco.Core.Cache
#region Insert
#endregion
private class NoopLocker : DisposableObject
private class NoopLocker : DisposableObjectSlim
{
protected override void DisposeResources()
{ }
}
}
}
}
@@ -50,14 +50,26 @@ namespace Umbraco.Core.Cache
#region Lock
protected override IDisposable ReadLock
protected override void EnterReadLock()
{
get { return new ReadLock(_locker); }
_locker.EnterReadLock();
}
protected override IDisposable WriteLock
protected override void EnterWriteLock()
{
get { return new WriteLock(_locker); }
_locker.EnterWriteLock();;
}
protected override void ExitReadLock()
{
if (_locker.IsReadLockHeld)
_locker.ExitReadLock();
}
protected override void ExitWriteLock()
{
if (_locker.IsWriteLockHeld)
_locker.ExitWriteLock();
}
#endregion
@@ -98,7 +110,7 @@ namespace Umbraco.Core.Cache
// on the Lazy lock to ensure that getCacheItem runs once and everybody waits on it, while the global
// application lock has been released.
// NOTE
// NOTE
// The Lazy value creation may produce a null value.
// Must make sure (for backward compatibility) that we pretend they are not in the cache.
// So if we find an entry in the cache that already has its value created and is null,
@@ -118,10 +130,16 @@ namespace Umbraco.Core.Cache
// reads. We first try with a normal ReadLock for maximum concurrency and take the penalty of
// having to re-lock in case there's no value. Would need to benchmark to figure out whether
// it's worth it, though...
using (new ReadLock(_locker))
try
{
_locker.EnterReadLock();
result = _cache.Get(cacheKey) as Lazy<object>; // null if key not found
}
finally
{
if (_locker.IsReadLockHeld)
_locker.ExitReadLock();
}
var value = result == null ? null : GetSafeLazyValue(result);
if (value != null) return value;
@@ -153,8 +171,7 @@ namespace Umbraco.Core.Cache
//return result.Value;
value = result.Value; // will not throw (safe lazy)
var eh = value as ExceptionHolder;
if (eh != null) throw new Exception("Exception while creating a value.", eh.Exception); // throw once!
if (value is ExceptionHolder eh) eh.Exception.Throw(); // throw once!
return value;
}
@@ -196,11 +213,17 @@ namespace Umbraco.Core.Cache
var absolute = isSliding ? System.Web.Caching.Cache.NoAbsoluteExpiration : (timeout == null ? System.Web.Caching.Cache.NoAbsoluteExpiration : DateTime.Now.Add(timeout.Value));
var sliding = isSliding == false ? System.Web.Caching.Cache.NoSlidingExpiration : (timeout ?? System.Web.Caching.Cache.NoSlidingExpiration);
using (new WriteLock(_locker))
try
{
_locker.EnterWriteLock();
//NOTE: 'Insert' on System.Web.Caching.Cache actually does an add or update!
_cache.Insert(cacheKey, result, dependency, absolute, sliding, priority, removedCallback);
}
finally
{
if (_locker.IsWriteLockHeld)
_locker.ExitWriteLock();
}
}
public void InsertCacheItem(string cacheKey, Func<object> getCacheItem, TimeSpan? timeout = null, bool isSliding = false, CacheItemPriority priority = CacheItemPriority.Normal, CacheItemRemovedCallback removedCallback = null, string[] dependentFiles = null)
@@ -215,4 +238,4 @@ namespace Umbraco.Core.Cache
#endregion
}
}
}
+1 -1
View File
@@ -55,7 +55,7 @@ namespace Umbraco.Core.Cache
IEnumerable<object> GetCacheItemsByKeySearch(string keyStartsWith);
IEnumerable<object> GetCacheItemsByKeyExpression(string regexString);
/// <summary>
/// Returns an item with a given key
/// </summary>
+18 -3
View File
@@ -1,18 +1,33 @@
using umbraco.interfaces;
using System;
using Umbraco.Core.Composing;
namespace Umbraco.Core.Cache
{
/// <summary>
/// The IcacheRefresher Interface is used for loadbalancing.
///
/// </summary>
public interface ICacheRefresher : IDiscoverable
{
Guid RefresherUniqueId { get; }
string Name { get; }
void RefreshAll();
void Refresh(int id);
void Remove(int id);
void Refresh(Guid id);
}
/// <summary>
/// Strongly type cache refresher that is able to refresh cache of real instances of objects as well as IDs
/// </summary>
/// <typeparam name="T"></typeparam>
/// <remarks>
/// This is much better for performance when we're not running in a load balanced environment so we can refresh the cache
/// against a already resolved object instead of looking the object back up by id.
/// against a already resolved object instead of looking the object back up by id.
/// </remarks>
interface ICacheRefresher<T> : ICacheRefresher
{
void Refresh(T instance);
void Remove(T instance);
}
}
}
@@ -1,6 +1,4 @@
using umbraco.interfaces;
namespace Umbraco.Core.Cache
namespace Umbraco.Core.Cache
{
/// <summary>
/// A cache refresher that supports refreshing or removing cache based on a custom Json payload
@@ -10,7 +8,7 @@ namespace Umbraco.Core.Cache
/// <summary>
/// Refreshes, clears, etc... any cache based on the information provided in the json
/// </summary>
/// <param name="jsonPayload"></param>
void Refresh(string jsonPayload);
/// <param name="json"></param>
void Refresh(string json);
}
}
}
@@ -1,16 +1,14 @@
using umbraco.interfaces;
namespace Umbraco.Core.Cache
namespace Umbraco.Core.Cache
{
/// <summary>
/// A cache refresher that supports refreshing cache based on a custom payload
/// </summary>
interface IPayloadCacheRefresher : IJsonCacheRefresher
interface IPayloadCacheRefresher<TPayload> : IJsonCacheRefresher
{
/// <summary>
/// Refreshes, clears, etc... any cache based on the information provided in the payload
/// </summary>
/// <param name="payload"></param>
void Refresh(object payload);
/// <param name="payloads"></param>
void Refresh(TPayload[] payloads);
}
}
@@ -1,33 +1,13 @@
using System;
using System.Collections.Generic;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Models.Entities;
using Umbraco.Core.Scoping;
namespace Umbraco.Core.Cache
{
internal interface IRepositoryCachePolicy<TEntity, TId>
where TEntity : class, IAggregateRoot
where TEntity : class, IEntity
{
// note:
// at the moment each repository instance creates its corresponding cache policy instance
// we could reduce allocations by using static cache policy instances but then we would need
// to modify all methods here to pass the repository and cache eg:
//
// TEntity Get(TRepository repository, IRuntimeCacheProvider cache, TId id);
//
// it is not *that* complicated but then RepositoryBase needs to have a TRepository generic
// type parameter and it all becomes convoluted - keeping it simple for the time being.
/// <summary>
/// Creates a scoped version of this cache policy.
/// </summary>
/// <param name="runtimeCache">The global isolated runtime cache for this policy.</param>
/// <param name="scope">The scope.</param>
/// <remarks>When a policy is scoped, it means that it has been created with a scoped
/// isolated runtime cache, and now it needs to be wrapped into something that can apply
/// changes to the global isolated runtime cache.</remarks>
IRepositoryCachePolicy<TEntity, TId> Scoped(IRuntimeCacheProvider runtimeCache, IScope scope);
/// <summary>
/// Gets an entity from the cache, else from the repository.
/// </summary>
@@ -94,4 +74,4 @@ namespace Umbraco.Core.Cache
/// </summary>
void ClearAll();
}
}
}
@@ -14,8 +14,8 @@ namespace Umbraco.Core.Cache
public interface IRuntimeCacheProvider : ICacheProvider
{
object GetCacheItem(
string cacheKey,
Func<object> getCacheItem,
string cacheKey,
Func<object> getCacheItem,
TimeSpan? timeout,
bool isSliding = false,
CacheItemPriority priority = CacheItemPriority.Normal,
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Concurrent;
namespace Umbraco.Core.Cache
@@ -7,7 +7,7 @@ namespace Umbraco.Core.Cache
/// Used to get/create/manipulate isolated runtime cache
/// </summary>
/// <remarks>
/// This is useful for repository level caches to ensure that cache lookups by key are fast so
/// This is useful for repository level caches to ensure that cache lookups by key are fast so
/// that the repository doesn't need to search through all keys on a global scale.
/// </remarks>
public class IsolatedRuntimeCache
@@ -29,7 +29,7 @@ namespace Umbraco.Core.Cache
/// Returns an isolated runtime cache for a given type
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
/// <returns></returns>
public IRuntimeCacheProvider GetOrCreateCache<T>()
{
return _isolatedCache.GetOrAdd(typeof(T), type => CacheFactory(type));
@@ -38,7 +38,7 @@ namespace Umbraco.Core.Cache
/// <summary>
/// Returns an isolated runtime cache for a given type
/// </summary>
/// <returns></returns>
/// <returns></returns>
public IRuntimeCacheProvider GetOrCreateCache(Type type)
{
return _isolatedCache.GetOrAdd(type, t => CacheFactory(t));
@@ -88,4 +88,4 @@ namespace Umbraco.Core.Cache
}
}
}
}
}
@@ -1,19 +1,29 @@
using Umbraco.Core.Sync;
using umbraco.interfaces;
namespace Umbraco.Core.Cache
{
/// <summary>
/// Provides a base class for "json" cache refreshers.
/// A base class for "json" cache refreshers.
/// </summary>
/// <typeparam name="TInstance">The actual cache refresher type.</typeparam>
/// <remarks>Ensures that the correct events are raised when cache refreshing occurs.</remarks>
public abstract class JsonCacheRefresherBase<TInstance> : CacheRefresherBase<TInstance>, IJsonCacheRefresher
where TInstance : ICacheRefresher
{
/// <typeparam name="TInstanceType">The actual cache refresher type.</typeparam>
/// <remarks>The actual cache refresher type is used for strongly typed events.</remarks>
public abstract class JsonCacheRefresherBase<TInstanceType> : CacheRefresherBase<TInstanceType>, IJsonCacheRefresher
where TInstanceType : class, ICacheRefresher
{
/// <summary>
/// Initializes a new instance of the <see cref="JsonCacheRefresherBase{TInstanceType}"/>.
/// </summary>
/// <param name="cacheHelper">A cache helper.</param>
protected JsonCacheRefresherBase(CacheHelper cacheHelper) : base(cacheHelper)
{ }
/// <summary>
/// Refreshes as specified by a json payload.
/// </summary>
/// <param name="json">The json payload.</param>
public virtual void Refresh(string json)
{
OnCacheUpdated(Instance, new CacheRefresherEventArgs(json, MessageType.RefreshByJson));
{
OnCacheUpdated(This, new CacheRefresherEventArgs(json, MessageType.RefreshByJson));
}
}
}
}
@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core.Models.Entities;
using Umbraco.Core.Scoping;
namespace Umbraco.Core.Cache
{
internal class NoCacheRepositoryCachePolicy<TEntity, TId> : IRepositoryCachePolicy<TEntity, TId>
where TEntity : class, IEntity
{
private NoCacheRepositoryCachePolicy() { }
public static NoCacheRepositoryCachePolicy<TEntity, TId> Instance { get; } = new NoCacheRepositoryCachePolicy<TEntity, TId>();
public IRepositoryCachePolicy<TEntity, TId> Scoped(IRuntimeCacheProvider runtimeCache, IScope scope)
{
throw new NotImplementedException();
}
public TEntity Get(TId id, Func<TId, TEntity> performGet, Func<TId[], IEnumerable<TEntity>> performGetAll)
{
return performGet(id);
}
public TEntity GetCached(TId id)
{
return null;
}
public bool Exists(TId id, Func<TId, bool> performExists, Func<TId[], IEnumerable<TEntity>> performGetAll)
{
return performExists(id);
}
public void Create(TEntity entity, Action<TEntity> persistNew)
{
persistNew(entity);
}
public void Update(TEntity entity, Action<TEntity> persistUpdated)
{
persistUpdated(entity);
}
public void Delete(TEntity entity, Action<TEntity> persistDeleted)
{
persistDeleted(entity);
}
public TEntity[] GetAll(TId[] ids, Func<TId[], IEnumerable<TEntity>> performGetAll)
{
return performGetAll(ids).ToArray();
}
public void ClearAll()
{ }
}
}

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