Compare commits

..

1746 Commits

Author SHA1 Message Date
Sebastiaan Janssen 3a4d0a02eb Fix redirect issue 2014-08-21 14:16:58 +02:00
Sebastiaan Janssen 2666742851 The admin (0) user in UaaS always has password "default" (unencrypted), checking for that for
now until we can fix this properly. If we didn't update this scheduled publishing would be broken
2014-08-21 14:10:54 +02:00
Sebastiaan Janssen 38c1e154d4 Fixes broken relation type manager 2014-08-21 12:08:43 +02:00
Shannon 067eceffce adds a couple of benchmark tests if we need to refer to them in the future (they are ignored so won't run as part of the normal build) 2014-08-20 19:36:03 -06:00
Shannon 573c08295a Adds a simple cache mechanism to hold reflected property info when cloning - reduces perf to 10% of what it used to be 2014-08-20 19:27:53 -06:00
Shannon fc558198d2 Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-08-20 18:04:11 -06:00
Shannon de1b69d5ae adds some notes 2014-08-20 18:04:05 -06:00
Shannon Deminick 03358ca1ca Merge pull request #454 from leekelleher/U4-5005
U4-5005 - YesNoValueConverter fails for int
2014-08-20 13:10:57 -06:00
Shannon 81d8a90f59 Adds some simple request based caching for the retrieval of the current member in the Umbraco helper. 2014-08-20 12:31:54 -06:00
Shannon 6a28f246f6 Removes the examine 'Azure' proj's from the sln, we don't currently ship these and the azuredirectory proj has been unlisted from nuget 2014-08-20 11:08:11 -06:00
Shannon 15a1887ccb Merge remote-tracking branch 'origin/6.2.2' into 7.1.5 2014-08-20 10:30:51 -06:00
Sebastiaan Janssen 2d5e5e9b3c Refactored initial relationtype creation as well and "Relate on copy" is now also using the relationservice so it fires events 2014-08-20 17:01:12 +02:00
Sebastiaan Janssen 03a845c957 Update relation type editors to use new RelationService so we can subscribe to it's events 2014-08-20 15:58:57 +02:00
Sebastiaan Janssen b0d03e7493 Fixed #U4-5373
Also cleaned up code a little
2014-08-20 15:16:39 +02:00
Sebastiaan Janssen ee2410ebe2 Fixed #U4-4287 Due in version 7.1.5
Added the locale name after each language so you know what exactly you're picking
2014-08-20 14:50:31 +02:00
Morten Christensen 7d52ed873e Merge pull request #449 from nul800sebastiaan/uaas-events
Adding events for use by Courier/UaaS
2014-08-20 14:12:38 +02:00
Sebastiaan Janssen de34379ddf Updating PR after feedback from @sitereactor 2014-08-20 14:08:45 +02:00
leekelleher b176d7dca0 Amends CreateTable, so if 'overwrite' is enabled, the table is dropped, then recreated. 2014-08-20 10:46:37 +02:00
Sebastiaan Janssen 12e2aa679b Merge pull request #455 from leekelleher/U4-4249
U4-4249 - PetaPocoExtensions CreateTable doesn't recreate the table
2014-08-20 10:45:56 +02:00
Sebastiaan Janssen 873eac7f24 Updating json.net dependency to 6.0.4 2014-08-20 10:44:05 +02:00
leekelleher 1978930fa2 Amends CreateTable, so if 'overwrite' is enabled, the table is dropped, then recreated. 2014-08-19 18:56:15 +01:00
leekelleher d2ee281bfa Refactored the YesNoValueConverter to evaluate non-string objects.
Added supporting unit-tests.
2014-08-19 18:40:03 +01:00
Sebastiaan Janssen 468cdf64ff Merge pull request #447 from Jeavon/UpdateImageProcessor
Update ImageProcessor to v1.9.0 and ImageProcessor.Web to v3.3.0
2014-08-19 14:37:34 +02:00
Sebastiaan Janssen 5752bb0d18 Merge pull request #412 from BatJan/7.1.5-ux-4913
Fix for U4-4913
2014-08-19 14:20:47 +02:00
Sebastiaan Janssen a0f5a717f2 Merge pull request #410 from BatJan/7.1.5-installer-fix-4493
Fix for U4-4493
2014-08-19 14:18:10 +02:00
Sebastiaan Janssen 8b34b4e8a1 Merge pull request #416 from Graphicnerd/7.1.5
Updated the sortable frame in Umbraco Backoffice
2014-08-19 14:02:28 +02:00
Sebastiaan Janssen 6152079af1 Merge pull request #450 from bjarnef/7.1.5
Fix for U4-5313 and U4-5330
2014-08-19 13:44:02 +02:00
Sebastiaan Janssen e638cbf4e6 Merge pull request #444 from netmester/7.1.5-packaging-bugfix
7.1.5 packaging bugfix
2014-08-19 13:16:55 +02:00
Sebastiaan Janssen a9277113b1 Added TODO's for when we want to make some methods public 2014-08-19 12:59:25 +02:00
Sebastiaan Janssen 1805857eea Refactor PartialView.IsValid with logic found in SaveFileController
Refactor FileService.CreatePartialView to use Attempt so that it gets rid of PartialView.SaveSucceeded
Refactor SaveFileController to move all saving logic into the FileService
Added SavingPartialView and SavedPartialView events to the FileService
2014-08-19 12:51:07 +02:00
Sebastiaan Janssen 32057bd7ee Macro instead of Macr. Removed events for SaveTemplate as the old Template class already has events 2014-08-19 10:39:52 +02:00
Sebastiaan Janssen 747ce1c013 Making sure memorystream is disposed 2014-08-19 10:21:01 +02:00
per ploug 3a0a839503 Increasing the search debounce from 100 to 300ms 2014-08-19 00:04:53 +02:00
Shannon f4c2b7419a Fixes: U4-4782 Duplicate content after validation error correction 2014-08-18 15:02:45 -06:00
Shannon bbe8c8e8e6 moves no-dirty-check directive to validation folder 2014-08-18 14:49:41 -06:00
Shannon 49d1171a99 renames utill folder to have a single l 2014-08-18 14:48:36 -06:00
Shannon b44699ff4a typo on docs 2014-08-18 11:55:31 -06:00
Shannon 086d81438c Merge branch 'AndyButland-u4-5003' into 7.1.5 2014-08-18 11:40:50 -06:00
Shannon 895ecf5f16 Merge branch 'u4-5003' of https://github.com/AndyButland/Umbraco-CMS into AndyButland-u4-5003 2014-08-18 11:38:09 -06:00
Shannon Deminick 9d95e9f4d3 Merge pull request #452 from kgiszewski/feature/rte-config-cache
Add caching to the RTE config
2014-08-18 10:34:07 -06:00
Sebastiaan Janssen bba0a58bac AssignedApp property is of no concern to FileService 2014-08-18 18:08:01 +02:00
Sebastiaan Janssen 14cbef5edf Add some logging to the cancelled event 2014-08-18 18:02:35 +02:00
Sebastiaan Janssen 65a2b79189 Moves PartialView save/delete to the FileService 2014-08-18 17:47:55 +02:00
Kevin Giszewski 42dd38fb29 Add caching to the RTE config 2014-08-18 09:23:46 -04:00
Shannon Deminick 023a8da5ba Updated DetectIsEmptyJson with more robust sln 2014-08-15 14:23:21 -06:00
Shannon 4dc559a8d1 Removes class constraint on RenderModel<T> and UmbracoTemplatePage<T> which will make things more flexible. 2014-08-15 14:14:05 -06:00
Shannon 1686e2f4bf Fixes: U4-5333 Datepicker starts on today's date instead of current value when you switch nodes 2014-08-15 13:48:07 -06:00
Shannon 69244f6991 Fixes: U4-4263 U7 - HasValue method returns true for Json editors when there is no value 2014-08-15 13:21:00 -06:00
Shannon 4fe029a695 Fixes: U4-5291 UmbracoVirtualNodeRouteHandler throws exception: parameter culture cannot be null and publicizes some routing extensions. 2014-08-15 12:47:50 -06:00
Shannon 0fd37d708d Merge branch 'U4-5332' of https://github.com/bjarnef/Umbraco-CMS into bjarnef-U4-5332 2014-08-15 12:04:54 -06:00
Shannon f6abb0f603 fixes more of the photo arrangements in the photo folder which also fixes unit tests 2014-08-15 11:58:41 -06:00
Shannon 9bb8ee5f95 ensure even when using the legacy api that the icon for media folder is correct 2014-08-15 11:57:01 -06:00
Shannon ac55724231 Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-08-15 09:34:47 -06:00
Morten Christensen 5789ac28d2 Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-08-15 14:45:54 +02:00
Morten Christensen bc6ef58235 Making a few consistency updates to the TagService 2014-08-15 14:45:26 +02:00
Morten Christensen 9236225bdf Adding and updating code comments for the Membership service interfaces and implementations 2014-08-15 14:42:05 +02:00
Morten Christensen 6dbc30e094 Correcting a few comments on the UserService 2014-08-15 14:41:25 +02:00
Morten Christensen 1d4d8066ed Adds and updates code comments on the UserService 2014-08-15 11:13:00 +02:00
Morten Christensen 7a39751101 Adds code comments to the TagService and surrounding classes 2014-08-15 10:30:12 +02:00
Stephan c4e4f9579b U4-4931 - fix tests 2014-08-15 09:54:04 +02:00
Stephan 43ae301683 U4-4931 - fix tests 2014-08-15 09:50:55 +02:00
bjarnef d978db588c Fix for U4-5313 and U4-5330
Make the bottom bar overlap the image cropper focal point and display
the scrollbar if there is overflow. I know the buttons are located a bit
(10px) closer to the top, but you can see the horizontal scrollbar then,
when there is one in e.g. a package. E.g. depending on the screen
resolution, I would in Matrix Property Editor (There is no spoon) prefer
the Umbracos editing section to scroll than add scroll inside the
property editor wrapper, because it give more editing space.
2014-08-15 01:06:20 +02:00
Stephan 9782f66507 U4-5084 - fix commit 2014-08-14 22:24:12 +02:00
Stephan 16f8db9dea U4-5084 - fix commit 2014-08-14 22:21:24 +02:00
Stephan e9938afc83 Merge pull request #418 from zpqrtbnk/6.2-4931
U4-4931 - lock contention & potential application lockdown
2014-08-14 20:52:13 +02:00
Stephan fcda9821d0 Merge branch '6.2.2' into 6.2-4931 2014-08-14 20:50:37 +02:00
Stephan bdc234b18a U4-5084 - DynamicPublishedContentList ext methods confusion 2014-08-14 20:49:49 +02:00
Stephan 648cf69d45 U4-5084 - DynamicPublishedContentList ext methods confusion 2014-08-14 20:37:04 +02:00
Stephan a0fcd2c7f9 Merge pull request #423 from zpqrtbnk/7.1-4931
U4-4931 - lock contention & potential application lockdown
2014-08-14 20:28:18 +02:00
Stephan d603c08e1f Merge branch '7.1.5' into 7.1-4931 2014-08-14 20:22:56 +02:00
AndyButland 53097a9b84 Moved added method from PetaPoco file to an extension method 2014-08-14 18:16:49 +02:00
AndyButland beda0968ae Removed debug line 2014-08-14 18:07:21 +02:00
Sebastiaan Janssen 1ccee3f305 Moved all logic of PartialViewTasks and PartialViewMacroTasks to a base class as the only difference was 3 variables
Added events: PartialView(Macro): Create, Save and Delete
Added events: Template: Save (there's already a legacy event, this is a new one to transition to)
PartialViewMacro.ascx.cs was adding ".cshtml" just so that it could strip it of again, crazy
2014-08-14 17:20:25 +02:00
Sebastiaan Janssen 908afbd264 #U4-2238 Fixed
Issue when saving/publishing special characters - '' hexadecimal value 0x03, is an invalid character
2014-08-14 10:26:38 +02:00
Sebastiaan Janssen c548ad6a98 Update failing unit test now that MaxInvalidPasswordAttempts is 20 by default 2014-08-14 10:16:02 +02:00
AndyButland ca2dd3eb47 Fixed issue with list view filter; further unit tests for list view paging 2014-08-14 08:42:36 +02:00
AndyButland 8ea5b6fb46 Unit tests for content repository paged queries; amends to fix ordering issues 2014-08-14 00:16:37 +02:00
AndyButland f6ec4798a6 Prevented list view filter box from setting dirty flag on form. Without this you get the save changes warning after using the filter, but there's nothing to save. 2014-08-13 22:11:41 +01:00
AndyButland 096e10aad4 Moved list view no results message into table body as otherwise if you apply a filter that returns no results, you can't clear it again 2014-08-13 20:06:55 +01:00
AndyButland 817d5aab0d Moved list view filter to repository, so can be applied with a database query 2014-08-13 20:02:51 +01:00
Shannon Deminick 0aff4b4d05 Merge pull request #446 from nul800sebastiaan/U4-2238-hexadecimal
U4-2238 6.0.5 - Issue when saving/publishing special characters - '' hexadecimal value 0x03, is an invalid character
2014-08-13 09:57:30 -06:00
per ploug 5e738a2b7b Fixed: U4-4734 Remove default alt text on images from RTE 2014-08-13 11:01:56 +02:00
per ploug 652b9d1a86 Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-08-13 10:42:54 +02:00
per ploug dd72fd04bd Fixed: U4-5025 Backoffice spelling errors 2014-08-13 10:42:46 +02:00
Sebastiaan Janssen 83668db6e3 Update failing unit test now that MaxInvalidPasswordAttempts is 20 by default 2014-08-13 09:44:25 +02:00
Sebastiaan Janssen ba7a5a0e8a #U4-2238 Fixed
Moved some methods around, made them internal, removed cleaning of tags as that's already done by cleaning each property
2014-08-13 09:38:40 +02:00
AndyButland a71bfaa14c Amends to generated SQL pre-paging to ensure only the latest content versions are returned 2014-08-12 23:32:13 +01:00
Jeavon Leopold 6b455aaa19 Add ImageProcessor httpmodule to web.template.config 2014-08-12 17:51:30 +01:00
Jeavon Leopold b2ca814fdb Update ImageProcessor to v1.9.0 and ImageProcessor.Web to v3.3.0 2014-08-12 16:59:31 +01:00
Sebastiaan Janssen 9523e5c854 U4-2238 6.0.5 - Issue when saving/publishing special characters - '' hexadecimal value 0x03, is an invalid character 2014-08-12 14:18:49 +02:00
Sebastiaan Janssen 99b2a2da38 #U4-5337 fixed Due in version: 7.1.5,6.2.2
Too easy to lock yourself out of the backoffice
2014-08-12 11:06:24 +02:00
Sebastiaan Janssen db22dfcf7d #U4-5337 fixed Due in version: 7.1.5,6.2.2
Too easy to lock yourself out of the backoffice
2014-08-12 11:05:25 +02:00
Sebastiaan Janssen 15ed458ad3 #U4-5258 Fixed
RelationService AreRelated should accepts two entity IDs and a relationTypeAlias
2014-08-12 10:25:33 +02:00
Sebastiaan Janssen 9fc51d8a12 #U4-5258 Fixed
RelationService AreRelated should accepts two entity IDs and a relationTypeAlias
2014-08-12 10:23:11 +02:00
AndyButland dc32138006 Set up database level paging for retrieving child content for list view 2014-08-12 08:15:43 +01:00
jakobdyrby 1a3d3994c3 added some ToArray() to ensure execution 2014-08-11 12:35:55 +02:00
jakobdyrby 4aedfc419e copy past error 2014-08-11 10:07:27 +02:00
jakobdyrby 21c6cf71cb fixed bug where root element is documents and not documentSet 2014-08-11 09:52:16 +02:00
Shannon 247b5b648d Merge branch '7.1.5_U4-5316' of https://github.com/bjarnef/Umbraco-CMS into bjarnef-7.1.5_U4-5316
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/common/dialogs/mediapicker.html
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/multicolorpicker.controller.js
2014-08-08 12:29:17 -06:00
Shannon fa4a268556 Updates some naming conventions and code formatting 2014-08-08 12:08:34 -06:00
Shannon 1449966537 Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-08-08 12:00:35 -06:00
Shannon 24a6ae4e32 Fixes: U4-4634 Image preview in Media is stretched 2014-08-08 12:00:30 -06:00
per ploug d2f9bd6896 Fixed: U4-5324 Users with a content root node, cant have custom tree roots 2014-08-08 10:54:05 +02:00
Shannon 6e3d0b5d91 fixes tests 2014-08-07 11:15:34 -06:00
Shannon bf58359eed fixed tests 2014-08-07 11:10:40 -06:00
Shannon Deminick 59b4940979 Merge pull request #439 from AndyButland/u4-5290
U4-5290 - allow for retrieval of a tag's count as well as it's text
2014-08-06 18:58:00 -06:00
AndyButland 8f2f4b579e Added unit test for tags NodeCount property 2014-08-06 22:38:46 +02:00
AndyButland 5efabee0bd Added ignore attribute to NodeCount property on TagDto 2014-08-06 22:38:14 +02:00
Shannon fc19748fbf Fixes: U4-5304 7.1.4 Media Picker can't view images RangeError: Maximum call stack size exceeded 2014-08-06 11:20:24 -06:00
AndyButland 6ea64c84d8 Removed parameter for requesting count for tags and made including the count the default behaviour 2014-08-06 07:36:25 +02:00
Shannon 7dfa633fb3 Merge remote-tracking branch 'origin/6.2.2' into 7.1.5
Conflicts:
	src/Umbraco.Core/Sync/DefaultServerMessenger.cs
	src/Umbraco.Tests/Services/ContentServiceTests.cs
2014-08-05 12:49:51 -06:00
Shannon 6ce303a918 Completes: U4-5264 Add Count methods to IContentService, IMediaService, etc... 2014-08-05 12:37:20 -06:00
Shannon 62d3dc78fa Ensures all caching is disabled for editing templates (master pages and views) 2014-08-05 10:59:54 -06:00
Shannon 3374f9e023 Ensures that the batched distributed calls doesn't cache refresh the server executing the distributed calls since tht will already be done locally. 2014-08-05 10:32:07 -06:00
Stephan 2675992d82 Merge branch '6.2.2' into 6.2-4931 2014-08-05 18:20:04 +02:00
Stephan 0a321e37fc Merge branch '7.1.5' into 7.1-4931 2014-08-05 18:15:51 +02:00
Stephan f3ca9e067b Merge remote-tracking branch 'origin/7.1.5' into 7.1.5 2014-08-05 18:08:20 +02:00
Stephan 4814fb3e96 U4-5276 - get package installer to respect binding redirects 2014-08-05 18:07:50 +02:00
Stephan ce29f54663 U4-4837 - bugfix Umbraco.Core.EnumerableExtensions.InGroupsOf 2014-08-05 17:52:43 +02:00
Shannon 7261162d8a Fixes some of U4-2633 Bundle all cache refresher transmissions into a single call per request for much better performance. See last note on issue. 2014-08-04 17:50:19 -06:00
Shannon Deminick 5f9b6c14f4 Merge pull request #441 from countrywide/U4-5110
U4-5110 Prevent IE Compatibility Mode
2014-08-04 10:59:27 -06:00
Shannon Deminick 7685e53cfe Merge pull request #440 from countrywide/7.1.5
Fix for issue U4-4162 - MacroContainer editing
2014-08-04 10:56:02 -06:00
Declan Cook 60e81a051d U4-5110 Prevent IE Compatibility Mode 2014-08-04 16:18:43 +01:00
Declan Cook b2436bd9b6 Fix for issue U4-4162 - MacroContainer editing
Allows editing of first element in a macro container.
2014-08-04 16:07:07 +01:00
Sebastiaan Janssen 1c83114c78 Merge pull request #436 from lucasch/U4-5109
U4-5109 - Added an icon for the Visual Blocks tinymce plugin to the skins CSS files
2014-08-04 09:11:54 +02:00
Sebastiaan Janssen 46c07e55e4 Merge pull request #438 from AndyButland/u4-5221
U4-5221 - Ensured multi-value data type prevalues are rendered sorted according to defined sort order
2014-08-04 08:57:35 +02:00
AndyButland 6ee078108d Added NodeCount property to ITag/Tag and an optional flag to tag retrieval methods on TagsService, in order to retrieve the count for the tag as well as it's text 2014-08-03 23:09:56 +02:00
AndyButland 90eb5dc7ac Ensured multi-value data type prevalues are rendered sorted according to defined sort order 2014-08-03 20:00:04 +02:00
user d6833c9b86 Updated the Umbraco TinyMCE skin to use the templates icon for visual blocks,
Visual blocks had no icon in the css
2014-08-01 11:58:33 -05:00
Shannon Deminick 2325c8a64f Merge pull request #434 from naepalm/7.1.5
Updated the dictionary table icons and the CSS
2014-07-31 18:46:29 -06:00
Sebastiaan Janssen d4e205a47a Merge branch 'AndyButland-wip-u4-3963' into 7.1.5 2014-07-31 12:43:03 +02:00
Sebastiaan Janssen 84df6e5315 Merge branch 'wip-u4-3963' of https://github.com/AndyButland/Umbraco-CMS into AndyButland-wip-u4-3963 2014-07-31 12:42:45 +02:00
Janae Cram af3b655073 Updated the dictionary table icons and the CSS to make the section more usable. 2014-07-30 09:12:06 -07:00
Shannon f8e366bb4a fixes minor bool check in js for jslint 2014-07-29 11:23:58 -06:00
Shannon Deminick 6439d7337d Merge pull request #433 from arknu/rte_imagesizing
U4-4729: Make max image dimension in RTE configurable
2014-07-29 10:59:43 -06:00
Stephan 56dddbca1c U4-5275 - use IPublishedContentModelFactory for members 2014-07-29 10:56:49 +02:00
Stephan 53ea491bd6 U4-5286 - add property converter for color picker 2014-07-29 09:52:00 +02:00
Shannon b5f900e789 added a couple of tests for member names 2014-07-28 19:37:44 -07:00
arknu cad946905c Bugfix: 0 value was ignored 2014-07-27 13:06:02 +02:00
arknu 49c26f4a5e Followup: make sure that defualt value is applied in RTE 2014-07-27 12:46:52 +02:00
arknu 45b173c0db U4-4729: Make max image dimension in RTE configurable 2014-07-27 01:25:39 +02:00
Stephan 5165d70fbb Merge branch '7.1.5' into 7.1-4931 2014-07-25 11:05:31 +02:00
Stephan c2816e759b Fail IPublishedContentFactory faster 2014-07-25 11:00:56 +02:00
Shannon Deminick 7ab8ea4da4 Merge pull request #432 from AndyButland/u4-5138
U4 5138 - fixed a couple of issues with list view styling and function
2014-07-24 15:24:51 -07:00
Shannon 1e8f016234 Fixes: U4-5111 7.1.4 JavaScript runtime error: 'UmbClientMgr' is undefined 2014-07-24 15:13:41 -07:00
Shannon d07ba12e73 Fixes merge 2014-07-24 14:50:06 -07:00
Shannon 7d7fa0e389 Merge remote-tracking branch 'origin/6.2.2' into 7.1.5
Conflicts:
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web/PropertyEditors/ValueConverters/RteMacroRenderingValueConverter.cs
	src/Umbraco.Web/Umbraco.Web.csproj
2014-07-24 09:42:44 -07:00
Shannon fdab6d5de5 Merge branch '6.2.2' of https://github.com/umbraco/Umbraco-CMS into 6.2.2 2014-07-24 09:39:12 -07:00
Shannon ff94eba3a7 Fixes: U4-5273 6.2: Umbraco.Field no longer rendering macro container 2014-07-24 09:39:05 -07:00
Shannon 834de2099f updates manifest watcher just to ensure we don't try to shut down the app domain more than once. 2014-07-24 09:06:45 -07:00
Shannon 904ee40a34 Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-07-24 08:57:07 -07:00
Shannon 99973841e3 Fixes up packaging service - problem with setting property values properly on import due to a wip portion of getting tag values set correctly, though this was solved at the repo level and i unfortunately forgot to re-update this code. 2014-07-24 08:57:02 -07:00
Sebastiaan Janssen e200e2fc48 Removes obsolete cachebrowser 2014-07-24 16:17:40 +02:00
Sebastiaan Janssen 69c7ecad59 Got bitten by stray files that were left behing in _BuildOutput folder, clean before build 2014-07-24 14:43:40 +02:00
Sebastiaan Janssen b1350fa4a6 Customize button was displayed lower than installer button 2014-07-24 14:40:33 +02:00
Sebastiaan Janssen 6014608d5a Microsoft.AspNet.WebApi.Host doesn't exist ;) 2014-07-24 14:24:13 +02:00
Shannon 929180224f Merge remote-tracking branch 'origin/6.2.2' into 7.1.5 2014-07-23 14:07:47 -07:00
Shannon 22dde5a421 U4-4738 Backoffice search should support node ID search 2014-07-23 14:07:21 -07:00
Shannon ee5c532be7 Fixes: U4-4738 Backoffice search should support node ID search 2014-07-23 14:07:05 -07:00
Shannon c9b27b5a70 Merge remote-tracking branch 'origin/6.2.2' into 7.1.5
Conflicts:
	src/Umbraco.Web/Umbraco.Web.csproj
2014-07-23 12:32:53 -07:00
Shannon 7f510c107a updates proj's with correct specific version attributes 2014-07-23 12:31:38 -07:00
Shannon 2ebfd8f3d4 updates nuspec to have latest versions for all dependencies 2014-07-23 12:31:16 -07:00
Shannon 6e20be993b updates nuspec to have latest versions for all dependencies 2014-07-23 12:31:03 -07:00
Shannon 84fad1300b All nuget refs are now up to date and installed correctly with copy local set correctly for all non gac 4.5 assemblies as well as the specific version attribute. 2014-07-23 12:19:40 -07:00
Shannon fd7930256b Uninstalls package CodeSharp.Package.AspNetWebPage and removes refs to Nuget.Core and Webpages.Administration - neither of which are used anywhere... but we've been shipping Umbraco with them for some reason. 2014-07-23 10:53:30 -07:00
Shannon 6319b10881 Merge remote-tracking branch 'origin/6.2.2' into 7.1.5
Conflicts:
	src/SQLCE4Umbraco/SqlCE4Umbraco.csproj
	src/SQLCE4Umbraco/app.config
	src/Umbraco.Core/app.config
	src/Umbraco.Tests/App.config
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/app.config
	src/umbraco.MacroEngines/App.Config
	src/umbraco.businesslogic/app.config
	src/umbraco.datalayer/app.config
	src/umbraco.editorControls/app.config
2014-07-23 10:08:01 -07:00
Shannon c24775adb0 re-installs mvc, webapi and ensures running the latest 2.0.x versions of webpages and razor, now all proj's are consistent with correct versions referenced and copy local set correctly. 2014-07-23 10:03:26 -07:00
Shannon 0d164ffb08 Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-07-23 09:04:01 -07:00
Shannon dd83dced4c Fixes up back office search, U4-5048, U4-5021, U4-5167, U4-5194 2014-07-23 09:03:54 -07:00
Sebastiaan Janssen ea56363f6d Adds logging to the RteEmbedController when there's an exception, instead of silently swallowing the error 2014-07-23 14:04:50 +02:00
Sebastiaan Janssen f86902bc89 Microsoft.Bcl 1.1.7 requires NuGet 2.8.1 - also registering MyGet feed from the build.bat file so that it actually works for everybody 2014-07-23 11:39:40 +02:00
Shannon b207521f4b Merge remote-tracking branch 'origin/6.2.2' into 7.1.5
Conflicts:
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web/Umbraco.Web.csproj
2014-07-22 16:15:02 -07:00
Shannon a2aaa9a1ea updates proj references to have SpecificVersion set to false 2014-07-22 16:14:13 -07:00
Shannon 217f591db0 updates proj references to have SpecificVersion set to false for libs 2014-07-22 16:13:26 -07:00
Shannon b835cfb76d Merge remote-tracking branch 'origin/6.2.2' into 7.1.5
Conflicts:
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/packages.config
2014-07-22 15:55:06 -07:00
Shannon 82cfbab17a Ensures all WebApi DLLs are copied local 2014-07-22 15:51:44 -07:00
Shannon d453aedd0d Microsoft.Net.Http required a reinstall command for the UI project as noted by it's persisted 'requiresReinstall' attribute in the packages.config - also ensures that ALL of the WebApi DLLs are copied local 2014-07-22 15:51:13 -07:00
Shannon 851181f861 Microsoft.Net.Http required a reinstall command for the UI project as noted by it's persisted 'requiresReinstall' attribute in the packages.config - and then the project wouldn't actually build anymore. 2014-07-22 15:39:07 -07:00
Shannon Deminick 4680b643f6 Merge pull request #426 from arknu/searchimprovements
Fix U4-5194 and U4-5167: Handle multiple spaces and quoted searches in the backoffice correctly
2014-07-22 15:26:38 -07:00
Shannon 05be2a5e86 adds test 2014-07-22 15:13:01 -07:00
AndyButland 8445c9c29b Applied styling to list view paging (active class on page numbers, disabled on prev and next when not available 2014-07-22 23:11:22 +01:00
AndyButland e8eea039e1 Reset page number to one when applying filter on list view 2014-07-22 22:35:58 +01:00
Shannon cd8b8dc704 Fixes: U4-5212 Preview button only greyed and not disabled while previewing. (was save button) 2014-07-22 11:33:58 -07:00
Shannon e98ed8561a Fixes: U4-5252 2014-07-23 04:10:48 +10:00
Shannon 626e155c07 Fixes SO issue when tags contain an empty string 2014-07-23 03:54:27 +10:00
Shannon Deminick de968a18dd Merge pull request #431 from AndyButland/u4-5097
U4-5097 - fixed issue with inital value of slider not being saved
2014-07-23 01:47:43 +10:00
AndyButland 8d1d2f2414 Initialised slider scope model value if not already set from a previous save 2014-07-21 22:27:04 +02:00
Stephan 4bb38609ad Merge pull request #429 from leekelleher/U4-5253
U4-5253 PublishedContentModelFactory case-sensitive dictionary
2014-07-21 16:45:13 +02:00
leekelleher 0370a1bcf2 PublishedContentModelFactory: Changes the private 'constructors' dictionary to be case-insensitive. 2014-07-21 15:32:16 +01:00
arknu 188613e5e7 U4-5167: Handle quoted searches in the backoffice correctly 2014-07-18 17:42:47 +02:00
arknu a9261d217e U4-5194: Fix handling of multiple words in backoffice search 2014-07-18 17:00:59 +02:00
Shannon 4693fb23c8 removes unneeded lock on master controller factory - must have been left over from some v5 stuff for some reason :( this will speed things up a bit! 2014-07-18 16:28:54 +10:00
Shannon 6e78a9f98f fix merge 2014-07-16 14:14:02 +10:00
Shannon 92c19ba76c Merge remote-tracking branch 'origin/6.2.2' into 7.1.5
Conflicts:
	src/Umbraco.Core/IO/UmbracoMediaFile.cs
2014-07-16 14:13:05 +10:00
Shannon 7848a3095d Fixes: U4-5207 User Type with a space in the name breaks User Content 2014-07-16 14:12:04 +10:00
Shannon 1a75e7beb1 Fixes: U4-5207 User Type with a space in the name breaks User Content 2014-07-16 14:10:24 +10:00
Shannon 388eea95e5 fixes a single vs first check with render route handler when there might be duplicate routes assigned to a controller, fixes short/int parse 2014-07-16 13:46:15 +10:00
Shannon fdf1218a9e fixes another short/int parse 2014-07-16 13:43:08 +10:00
Shannon 1a1aba92ef Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-07-16 13:41:11 +10:00
Shannon 39ee22cbd6 fixes a single vs first check with render route handler when there might be duplicate routes assigned to a controller 2014-07-16 13:41:02 +10:00
Shannon Deminick 119acaa28a Merge pull request #425 from jbreuer/patch-3
Fix for U4-5223
2014-07-16 13:36:30 +10:00
Jeroen Breuer e22282c1e8 Fix for U4-5223 2014-07-15 14:24:27 +02:00
Shannon 6167d1584a Fixes an xss vulnerability 2014-07-15 11:37:31 +10:00
Shannon 0c2d1f72b9 Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-07-15 11:36:13 +10:00
Shannon 8c36dac67a Fixes an xss vulnerability 2014-07-15 11:36:03 +10:00
Stephan d7f8b10b28 Merge pull request #424 from semmeo/7.1.5
Update fr.xml
2014-07-11 12:36:20 +02:00
Semmeo 7e8be5fd67 Update fr.xml
Updated french umbraco translation from scratch, by translating en.xml. Tested and working.
2014-07-11 12:31:20 +02:00
Stephan e515b716f0 U4-4931 - also for ObjectCacheRuntime provider
Conflicts:
	src/Umbraco.Core/Cache/ObjectCacheRuntimeCacheProvider.cs
2014-07-10 10:40:20 +02:00
Stephan fd49c81940 U4-4931 - fixing & refactoring
Conflicts:
	src/Umbraco.Core/Cache/HttpRequestCacheProvider.cs
2014-07-10 10:39:52 +02:00
Stephan cc6099c953 U4-4931 - fixing & refactoring
Conflicts:
	src/Umbraco.Core/Cache/DictionaryCacheProviderBase.cs
	src/Umbraco.Core/Cache/HttpRequestCacheProvider.cs
	src/Umbraco.Core/CacheHelper.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Tests/Cache/HttpRequestCacheProviderTests.cs
2014-07-10 10:39:28 +02:00
Stephan fdadd80414 U4-4931 - do not cache exceptions
Conflicts:
	src/Umbraco.Core/Cache/DictionaryCacheProviderBase.cs
	src/Umbraco.Core/Cache/HttpRequestCacheProvider.cs
2014-07-10 10:37:46 +02:00
Stephan fcd7e9517d U4-4931 - fixing & refactoring
Conflicts:
	src/Umbraco.Core/Cache/DictionaryCacheProviderBase.cs
	src/Umbraco.Core/Cache/DictionaryCacheWrapper.cs
	src/Umbraco.Core/Cache/DictionaryItemWrapper.cs
	src/Umbraco.Core/Cache/HttpRequestCacheProvider.cs
	src/Umbraco.Core/Cache/ObjectCacheRuntimeCacheProvider.cs
2014-07-10 10:37:15 +02:00
Stephan 72f53e4645 U4-4931 - fixing & refactoring
Conflicts:
	src/Umbraco.Core/Cache/ObjectCacheRuntimeCacheProvider.cs
2014-07-10 10:36:10 +02:00
Stephan 2c9a287bda U4-4931 - fixing & refactoring 2014-07-10 10:35:40 +02:00
Stephan e2f4cfaf82 U4-4931 - fixing & refactoring
Conflicts:
	src/Umbraco.Core/Cache/DictionaryCacheProviderBase.cs
	src/Umbraco.Core/Cache/HttpRuntimeCacheProvider.cs
	src/Umbraco.Core/Cache/ObjectCacheRuntimeCacheProvider.cs
2014-07-10 10:35:12 +02:00
Stephan 8729156fbf U4-4931 - lock contention & potential application lockdown
Conflicts:
	src/Umbraco.Core/Cache/ObjectCacheRuntimeCacheProvider.cs
	src/umbraco.cms/Actions/Action.cs
2014-07-10 10:34:17 +02:00
Stephan bfd0c5e309 U4-4931 - also for ObjectCacheRuntime provider 2014-07-10 10:25:51 +02:00
Stephan 43669e62b4 Merge branch '6.2.2' into 6.2-4931 2014-07-10 10:25:12 +02:00
Shannon 6b128ea7d4 Fixes: U4-5208 RenderActionInvoker needs to be able to run async so needs to inherit from AsyncControllerActionInvoker 2014-07-10 17:29:34 +10:00
Shannon 60d6ae44b5 Fixes: U4-5208 RenderActionInvoker needs to be able to run async so needs to inherit from AsyncControllerActionInvoker 2014-07-10 17:28:33 +10:00
Shannon b3035d160c adds another test 2014-07-10 13:48:32 +10:00
Shannon f27f458a5d Adds another test 2014-07-10 13:46:31 +10:00
Shannon 3f09453345 Fixes: U4-5198 Tags still appearing from items tagged in recycle bin 2014-07-10 13:40:22 +10:00
Shannon 4857107b5e Fixes: U4-4852 ContentService can add new permissions but not remove them 2014-07-10 12:24:36 +10:00
Shannon 080bf7293d replaces the tuple collection for bulk permission assignment to use a new model: EntityPermissionSet 2014-07-10 12:11:47 +10:00
Shannon b3288f0c91 fixes merge issue 2014-07-10 12:11:10 +10:00
Shannon d5993a4783 Backports fix from 7 for GetDimensions call to ensure the file exists 2014-07-10 12:09:26 +10:00
Shannon b254f81f4a Merge remote-tracking branch 'origin/6.2.2' into 7.1.5 2014-07-10 11:54:05 +10:00
Shannon 17b0547cfc Merge commit '874f464a2b51000920e2323f93bea116546e9b88' into 7.1.5
Conflicts:
	src/Umbraco.Core/IO/FileSystemExtensions.cs
	src/Umbraco.Core/IO/UmbracoMediaFile.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/channels/UmbracoMetaWeblogAPI.cs
2014-07-10 11:53:45 +10:00
Shannon 86c2a6e8a9 updates physical file system, now that files are being disposed of properly we don't need to delete first 2014-07-10 11:51:48 +10:00
Shannon 874f464a2b Fixes: U4-5190 Overwrite Media File in 6.2.1 - process cannot access along with a bunch of other undisposed disposables :/ 2014-07-10 11:45:57 +10:00
Shannon 93151a43ac Merge remote-tracking branch 'origin/6.2.2' into 7.1.5
Conflicts:
	src/Umbraco.Web/PublishedCache/MemberPublishedContent.cs
	src/Umbraco.Web/Security/MembershipHelper.cs
	src/Umbraco.Web/umbraco.presentation/content.cs
2014-07-10 11:14:20 +10:00
Shannon b3c41e051f Fixes: U4-5199 Appending certain query strings to URLs cause InvalidOperationException (The UmbracoContext.Current is null) 2014-07-10 11:10:49 +10:00
Shannon a88637910f updates content xml bits so if it's called outside a web req it still executes.
Conflicts:
	src/Umbraco.Web/umbraco.presentation/content.cs
2014-07-10 10:45:26 +10:00
Shannon 1af7649a87 updates content xml bits so if it's called outside a web req it still executes. 2014-07-10 10:44:40 +10:00
Shannon 431e93000e Fixes: U4-5157 Membership.GetUser() causes 13 SQL queries, including duplicates 2014-07-08 19:04:38 +10:00
Shannon f83bbdbf90 Fixes: U4-5157 Membership.GetUser() causes 13 SQL queries, including duplicates 2014-07-08 18:54:36 +10:00
Shannon 5a810b584e Fixing: U4-5157 Membership.GetUser() causes 13 SQL queries, including duplicates 2014-07-08 18:07:59 +10:00
Shannon bcae3afa45 fixes null check on tag extractor 2014-07-07 16:21:53 +10:00
Shannon 3aff474648 Fixes: #U4-4685 Default sorting of listview items 2014-07-07 16:21:12 +10:00
Shannon 1a821b4073 super quick performance win in the case where people don't pass in distinct values 2014-07-01 17:41:22 +10:00
Shannon efda233fcf super quick performance win in the case where people don't pass in distinct values 2014-07-01 17:40:41 +10:00
Shannon ed2e409707 Merge remote-tracking branch 'origin/6.2.2' into 7.1.5
Conflicts:
	src/Umbraco.Web/Security/MembershipHelper.cs
2014-07-01 12:54:48 +10:00
Shannon 8645e0b193 Fixes: U4-5140 Tags are not respected with bulk publish operations - just need to ensure all tests are passing and run some local tests 2014-07-01 12:53:07 +10:00
Shannon a89b9e9da6 ignores log4net tests 2014-07-01 11:16:57 +10:00
Shannon 8917701fa3 ignores failing test - need stephane to look 2014-07-01 11:03:47 +10:00
Shannon 68b17bff08 Ensures no membership user writing when checking public access 2014-07-01 10:52:29 +10:00
Shannon 9b2b961f83 Ensures no membership user writing when checking public access 2014-07-01 10:51:56 +10:00
Shannon 7a12060c37 Potentially fixes U4-5069 Deadlock occurring in MemberService.GetByUsername
Conflicts:
	src/Umbraco.Web/Security/MembershipHelper.cs
2014-07-01 10:46:52 +10:00
Shannon f3c7533796 Potentially fixes U4-5069 Deadlock occurring in MemberService.GetByUsername 2014-07-01 10:43:44 +10:00
Shannon 59116fc7fa un-does the tag export/import, instead need to look at the internal of a simple publish (without save) to see if tags get written or not. 2014-06-30 17:05:34 +10:00
Shannon a66670263f fixes null check 2014-06-30 17:04:59 +10:00
Shannon 1e1d49f305 fixes U4-5140 Package installation for content does not respect tags, however need to check with Morten if it's required because if we never actually publish content on package install then this wouldn't really matter. But surely we must publish on package install for some thing because starter kits are published... hrm. 2014-06-30 16:43:51 +10:00
Shannon 1be2706c30 fix merge 2014-06-30 15:09:41 +10:00
Shannon eaf2956524 Merge remote-tracking branch 'origin/6.2.2' into 7.1.5
Conflicts:
	src/umbraco.cms/businesslogic/Packager/PackageInstance/CreatedPackage.cs
2014-06-30 14:26:33 +10:00
Shannon 525280d466 fixed some tests 2014-06-30 14:09:36 +10:00
Shannon 496beca8f2 This Can_Find_Targetted_Migrations test needed a valid database to pass. This update ensures that the database is created with the old version 4.8 db schema. 2014-06-30 14:02:43 +10:00
Stephan 637a22293d U4-4931 - fixing & refactoring 2014-06-28 18:33:31 +02:00
Stephan 3c8517edcb Merge branch '6.2.2' into 6.2-4931 2014-06-28 16:26:44 +02:00
Stephan 45e6127d00 U4-4866 - fix the build 2014-06-28 16:26:27 +02:00
Stephan 6eb5d3f7ef Merge branch '6.2.2' into 6.2-4931 2014-06-28 16:06:30 +02:00
Stephan e6986432df U4-4931 - fixing & refactoring 2014-06-28 12:24:02 +02:00
Sebastiaan Janssen 5bee398d09 #U4-3838 fixed Due in version 7.1.5
Fixes ContentService Copy uses IOHelper.MapPath but should use fs.GetFullPath and a few other instances where IOHelper was used
2014-06-27 17:22:51 +02:00
Sebastiaan Janssen c53d812742 #U4-3154 Fixed Deleting single media item in recycle bin does not use the FileSystemProvider 2014-06-27 16:26:22 +02:00
Sebastiaan Janssen 966a29954c #U4-5010 fixed
Package editing view missing in distribution
2014-06-27 16:25:57 +02:00
Morten Christensen 9f28aea10d This Can_Find_Targetted_Migrations test needed a valid database to pass. This update ensures that the database is created with the old version 4.8 db schema. 2014-06-27 13:23:54 +02:00
Morten Christensen 097014454f Fixing issue in MacroRepository which was causing a test to fail.
Changing the alias of a macro property didn't alias work, so added a fallback to the Id of the property in the cases where the Alias wouldn't work.
2014-06-27 12:42:15 +02:00
Morten Christensen 48143bc0c3 Minor updates to the Package installation and extraction as part of PR #417 2014-06-27 12:37:56 +02:00
Morten Christensen 75c26e4d92 Merge pull request #417 from netmester/package_installer_service
Package installer service
2014-06-27 10:58:10 +02:00
Shannon ad4135f629 does a toarray to make sure it doesn't reiterate 2014-06-27 14:04:35 +10:00
Shannon 8e7ed865f0 Fixes: U4-5151 Backoffice controllers collide on name even if different namespace 2014-06-27 13:34:15 +10:00
Shannon f627de2433 tweaks orange 2014-06-26 17:38:24 +10:00
Shannon 303aa07235 migrates most of the xml serialization from the packaging service to the EntityXmlSerializer 2014-06-26 17:32:38 +10:00
Shannon b404cc6438 Fixes: U4-5141 Packager doesn't respect 'allow at root' or 'list view' 2014-06-26 17:18:00 +10:00
Shannon 80103e6155 Fixes: U4-4866 Select content root when creating a package 2014-06-26 16:55:44 +10:00
Shannon 4fbf65e684 Fixes: U4-4866 Select content root when creating a package 2014-06-26 16:45:59 +10:00
Shannon 0aeac407c5 removes extremely silly try catch all when using the packager - why was this here !? So that nobody would ever know why creating their package failed? 2014-06-26 16:33:56 +10:00
Shannon be98ceea6c Fixes: U4-5011 Auto collapsing tree structure 2014-06-26 16:14:50 +10:00
Shannon 07e0cd2957 uses a better orange 2014-06-26 14:08:51 +10:00
Shannon 9da7d56b9c Fixes styling on installer alert box so it's contained within the pane 2014-06-26 13:58:09 +10:00
Shannon 5a3890159f Fixes: U4-5142 Fix the horrible orange warning color in the back office 2014-06-26 13:52:59 +10:00
Shannon 70da51113c Streamlines form error colors to be inline with the rest of our color scheme 2014-06-26 13:31:39 +10:00
Shannon 0f7c407a7c Merge remote-tracking branch 'origin/6.2.2' into 7.1.5
Conflicts:
	build/Build.bat
	build/NuSpecs/UmbracoCms.Core.nuspec
	build/NuSpecs/UmbracoCms.nuspec
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Core/Services/PackagingService.cs
	src/Umbraco.Tests/Services/LocalizationServiceTests.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web/umbraco.presentation/content.cs
2014-06-26 11:51:25 +10:00
Shannon 392634eb76 bumps nuspec versions 2014-06-26 11:44:28 +10:00
Shandem 7bc5588d6d Merge pull request #420 from bjarnef/7.1.5_U4-3953
Fix for U4-3953
2014-06-26 11:38:25 +10:00
Shannon 259bc863f0 Removes Examine.dll deploy from nuspec 2014-06-26 11:32:43 +10:00
bjarnef 70514b88c5 Fix for U4-3953
Installing package - installing message progressbar causes horizontal
scrollbar
2014-06-26 02:57:47 +02:00
Shannon 582bafdefd Updates version 2014-06-26 10:02:09 +10:00
Shannon 9924ef2381 Merge branch '6.2.1' into 6.2.2 2014-06-26 09:57:16 +10:00
Morten Christensen 12cdd3326a The CopyFile extension method was not disposing the file stream, so any attempt to delete the source file afterwards would fail.
Removing unused using statements.
2014-06-25 16:00:21 +02:00
Shannon 859fbaaa05 Fixes: U4-5121 umbraco.content launches threadpool threads to reload the xml cache which causes lots of other issues
Conflicts:
	src/Umbraco.Web/umbraco.presentation/content.cs
2014-06-25 19:02:49 +10:00
Shannon 27764a2c82 merge issue 2014-06-25 18:58:29 +10:00
Shannon 5fdcec6904 Fixes: U4-5121 umbraco.content launches threadpool threads to reload the xml cache which causes lots of other issues 2014-06-25 18:56:51 +10:00
Shannon 0b678f1d3b Merge remote-tracking branch 'origin/6.2.1' into 7.1.5
Conflicts:
	src/umbraco.cms/businesslogic/Packager/Installer.cs
2014-06-25 15:59:20 +10:00
Shannon 72991334c4 little bit of code cleanup 2014-06-25 15:55:52 +10:00
Shannon 309adbfb20 Merge remote-tracking branch 'origin/6.2.1' into 7.1.5
Conflicts:
	src/Umbraco.Tests/Umbraco.Tests.csproj
2014-06-25 14:36:09 +10:00
Shannon c659d5b85e fixes dll ref 2014-06-25 14:35:14 +10:00
Shannon 3ecc974325 Merge remote-tracking branch 'origin/6.2.1' into 7.1.5
Conflicts:
	build/NuSpecs/UmbracoCms.Core.nuspec
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/Umbraco.Tests/packages.config
	src/Umbraco.Web.UI/packages.config
2014-06-25 14:33:32 +10:00
Shannon a4bf4b0977 Fixes: U4-5118 Examine not storing XML fragments - updates to latest examine 2014-06-25 14:19:31 +10:00
Shannon bef6ce66f1 Updated core nuspec to include Examine 2014-06-25 14:19:06 +10:00
Shannon a18a2198a8 removes comment 2014-06-25 12:25:27 +10:00
Shannon 38c4bc72cd Merge remote-tracking branch 'origin/6.2.1' into 7.1.5 2014-06-25 12:03:53 +10:00
Shannon 7cf7ac687c last issue with state/keep alive timer 2014-06-25 12:03:31 +10:00
Shannon 6b626baffb Merge remote-tracking branch 'origin/6.2.1' into 7.1.5 2014-06-25 11:56:56 +10:00
Shannon 7ce0272169 updates state param with timers to use singleton 2014-06-25 11:56:36 +10:00
Shannon acb934e3f1 ensures timer's are not GCd 2014-06-25 11:52:48 +10:00
Shannon 6485e625b1 Merge remote-tracking branch 'origin/6.2.1' into 7.1.5 2014-06-25 11:37:21 +10:00
Shannon 3aa486a463 another log 2014-06-25 11:36:58 +10:00
Shannon 5aa0621c90 adds some notes 2014-06-25 11:36:14 +10:00
Shannon 625b8f7e65 Ensures the 'Index' portion of the path is used for scheduled publishing 2014-06-25 11:26:08 +10:00
Shannon 72b7b443e9 Merge remote-tracking branch 'origin/6.2.1' into 7.1.5 2014-06-25 11:02:04 +10:00
Shannon 53c1c97aeb Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-06-25 11:01:03 +10:00
Shannon 5011eee037 fixes merge issue 2014-06-25 11:00:53 +10:00
Shannon e27163f3a7 adds logging to scheduled bits 2014-06-25 11:00:11 +10:00
Shandem 22bace9545 Merge pull request #419 from imulus/fix/u4-5128
Support virtual paths when defining PropertyEditors via Attributes (U4-5128)
2014-06-25 09:53:31 +10:00
jakobdyrby 8c36a683e6 Change some class from public to internal 2014-06-24 11:27:04 +02:00
Tom Fulton a23fb7bc74 Support virtual paths when defining PropertyEditors via Attributes (U4-5128) 2014-06-23 12:16:14 -04:00
Shannon 2ccec3be33 Merge remote-tracking branch 'origin/6.2.1' into 7.1.5
Conflicts:
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Web/LegacyScheduledTasks.cs
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/WebBootManager.cs
	src/Umbraco.Web/umbraco.presentation/publishingService.cs
2014-06-23 15:08:04 +10:00
Shannon 65ea6f94d3 adds authorization to the scheduled publishing , this new attribute can be used to secure scheduled tasks as well. 2014-06-23 15:02:23 +10:00
Morten Christensen 3af3e054d7 Minor refactoring of the MigrationRunner to allow a bit more flexibility for using it for non-Core migrations.
Allowing the list of migrations to be changed through the two migration events using the MigrationEventArgs.
2014-06-20 12:57:33 +02:00
Shannon 9158ea1ace fixes url returned in GetCurrentServerUmbracoBaseUrl 2014-06-20 14:45:45 +10:00
Shannon e8f7f77bb6 Fixes: U4-581 Automatic publishing not working in load balanced setup - added some more convention and configuration to distributed calls so that servers are aware of the master and how to call into themselves for scheduled tasks, ping and scheduled publishing. Will need to update the docs on LB regarding this too. Cleaned up the code that does the scheduling and separates it into proper segments. Obsoletes the old presentation classes that were doing it. 2014-06-20 14:34:21 +10:00
Shannon 6b5cb3a9cf Fixes: U4-4947 Tag Editor twitter typeahead 2014-06-19 18:04:32 +10:00
Shannon bb655afd72 Fixes: U4-5080 Error deleting property type that references tags 2014-06-19 17:39:31 +10:00
Shannon ad3502d438 Fixes: U4-5004 Pressing escape in the login screen causes a blank screen 2014-06-18 19:28:16 +10:00
Shannon dfb40802ff makes grunt vs and grunt dev a little faster 2014-06-18 17:31:00 +10:00
Shannon 8ded6fff93 adds vs task to grunt 2014-06-18 17:15:09 +10:00
Shannon 56111be82d Properly fixes: U4-4893 Inconsistent display of file extensions in the UI 2014-06-18 17:11:47 +10:00
Stephan 75e003185a U4-4931 - do not cache exceptions 2014-06-17 19:34:24 +02:00
Stephan 9d12e1c7df Merge branch '6.2.2' into 6.2-4931 2014-06-17 19:19:17 +02:00
Shannon f25463babe Merge remote-tracking branch 'origin/6.2.1' into 7.1.5 2014-06-17 19:05:22 +10:00
Shannon b8575ef158 Started writing test implementation to mimic what developers might test in their controllers to expose the pitfalls of umbraco testing so we can make this simpler - identifying what needs to be public and how to re-strcuture some objects constructors, etc... to simplify and make this possible. 2014-06-17 18:53:23 +10:00
jakobdyrby 3e0cd0a605 Now it works with a notimplimentet exception 2014-06-17 09:13:54 +02:00
Shannon 1c23940b0b Merge remote-tracking branch 'origin/6.2.1' into 7.1.5
Conflicts:
	src/Umbraco.Tests/packages.config
	src/Umbraco.Web.UI/packages.config
2014-06-17 16:09:29 +10:00
Shannon d3bb750f98 Updated to latest Examine with lock fixes 2014-06-17 16:07:08 +10:00
jakobdyrby 7ec13146b2 more revert 2014-06-17 07:34:49 +02:00
jakobdyrby 48e0e5da75 revert to org files 2014-06-17 07:31:22 +02:00
jakobdyrby 448bfc166f revert to org files 2014-06-17 07:12:59 +02:00
jakobdyrby 7b48a59ca2 added events 2014-06-17 07:06:07 +02:00
Shandem 1f161b2b9c Merge pull request #395 from Excommunicated/7.1.5
Close user dialog on logout
2014-06-17 14:07:45 +10:00
Morten Christensen 6f27f839e0 Related to U4-4199 lets get rid of all these Console.WriteLine's 2014-06-16 16:29:15 +02:00
jakobdyrby f7e046deaf Undo some non changes 2014-06-16 14:01:59 +02:00
jakobdyrby 09b34625b9 removed change to src/Umbraco.Core/Services/DataTypeService.cs 2014-06-16 13:58:50 +02:00
jakobdyrby 3b3e412450 Undo some changes 2014-06-16 12:29:32 +02:00
jakobdyrby 3c6bf1ce92 Removed some complex objects that didn't need to be complex 2014-06-16 12:13:01 +02:00
jakobdyrby dfb08b9ec7 Removed IStyleSheet 2014-06-16 12:13:00 +02:00
jakobdyrby eef7ce45d3 cleanup 2014-06-16 12:13:00 +02:00
jakobdyrby 697d4e3b23 more logical code 2014-06-16 12:12:59 +02:00
jakobdyrby 6d77121c05 Test for support stylesheets 2014-06-16 12:12:58 +02:00
jakobdyrby a7928f87ee small ajustments 2014-06-16 12:12:58 +02:00
jakobdyrby 07d431f52e more moving 2014-06-16 12:12:57 +02:00
jakobdyrby bb71efd4fa Move moving classes around 2014-06-16 12:12:57 +02:00
jakobdyrby 48b60961b5 removed unused code 2014-06-16 12:12:56 +02:00
jakobdyrby 2bea8c5691 back to const 2014-06-16 12:12:56 +02:00
jakobdyrby 32ed0de4f6 Moved and renamed classes to fit standard 2014-06-16 12:12:55 +02:00
jakobdyrby c67f0baf74 Method renaming and zip allowed 2014-06-16 12:12:54 +02:00
jakobdyrby 95ff1a03fb some renaming 2014-06-16 12:12:53 +02:00
jakobdyrby c0b22c4349 renamed a class 2014-06-16 12:12:53 +02:00
jakobdyrby 5d3d2e9331 added comments to IUnpackHelper 2014-06-16 12:12:52 +02:00
jakobdyrby de266351d1 Refactoring to move redundant code and added sanity check for doublet filenames in package 2014-06-16 12:12:52 +02:00
jakobdyrby f8b4caea85 Fixes
now the package does not die hard if data type not found
directories in umb packages are now ignored - not sure if this is th right behaver
small logical errors
2014-06-16 12:12:51 +02:00
jakobdyrby 5691bb0de8 Xml elements case sensitive problems 2014-06-16 12:12:50 +02:00
jakobdyrby fa56413d02 undo rename of argument 2014-06-16 12:12:50 +02:00
jakobdyrby cb5fa8ac13 Removed "double" file 2014-06-16 12:12:49 +02:00
jakobdyrby 531eba6e28 corrected comment 2014-06-16 12:12:49 +02:00
jakobdyrby 4c6ec3ac4b Removed som out commentet code 2014-06-16 12:12:48 +02:00
jakobdyrby 46eaba668c Missed this in last commit 2014-06-16 12:12:48 +02:00
jakobdyrby 889736f63b now loosely testet. 2014-06-16 12:12:47 +02:00
jakobdyrby a03e46339d small layout stuff 2014-06-16 12:12:46 +02:00
jakobdyrby 37fbc3bab4 Now uses new constants 2014-06-16 12:12:46 +02:00
jakobdyrby 9f146753b5 used the right method that returns a single object 2014-06-16 12:12:45 +02:00
jakobdyrby acc6d46b4b splittet into more single resposebility classes 2014-06-16 12:12:45 +02:00
jakobdyrby d57c572116 moved strings to constants 2014-06-16 12:12:44 +02:00
jakobdyrby 70fcd6fab7 more updates 2014-06-16 12:12:44 +02:00
jakobdyrby 45076491cb Added new PackagingService 2014-06-16 12:12:43 +02:00
Henrik Andersen 6019ab13df Updated sortdiaglog frame
Updated the dialog frame to use dynamic height.
2014-06-13 09:28:57 +02:00
Henrik Andersen 83fd0ab7e3 Updated modals.less
Added background color to umb-dialog footer
2014-06-13 09:21:45 +02:00
Jan Skovgaard 4421681538 Fix for U4-4913 2014-06-09 22:38:49 +02:00
Sebastiaan Janssen e59768dda0 Capitalize Caturday 2014-06-09 20:57:15 +02:00
Sebastiaan Janssen 0b114c88f0 Merge pull request #397 from lesleyauk/7.1.5
Correct English days of the week on login screen
2014-06-09 20:55:31 +02:00
Jan Skovgaard 4238b79c67 Fix for U4-4493
Makes it possible to go back if you don't want to customize.
2014-06-09 16:48:27 +02:00
Stephan d9374c34d1 Add IPropertyValueConverterMeta interface
Conflicts:
	src/Umbraco.Core/Models/PublishedContent/PublishedPropertyType.cs
	src/Umbraco.Core/Umbraco.Core.csproj
2014-06-09 15:31:35 +02:00
Sebastiaan Janssen 2b7526ab2e Merge pull request #409 from JimBobSquarePants/7.1.5
Improving grammar in installer facts.
2014-06-09 15:30:46 +02:00
Shannon 2fde10494c Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-06-09 15:32:52 +02:00
Shannon 0da4879400 downgrades mini profiler to what it used to be 2014-06-09 15:32:44 +02:00
Sebastiaan Janssen 07172067ab Merge pull request #408 from BatJan/7.1.5-wording-fix-4382
Fix of U4-4382
2014-06-09 15:28:36 +02:00
James South 681a3e3046 Improving grammar in installer facts. 2014-06-09 15:20:28 +02:00
Sebastiaan Janssen e5dea8e4be Merge pull request #407 from BatJan/7.1.5-translation-fix-4538
Fix of U4-4538
2014-06-09 14:09:19 +02:00
Sebastiaan Janssen 087dd1fe9e Merge pull request #404 from BatJan/7.1.5-installer-fix-4416
Fix of U4-4416
2014-06-09 13:58:08 +02:00
Sebastiaan Janssen 37afe6dd29 Merge pull request #406 from BatJan/7.1.5-spelling-fix-5007
Fix of  issue U4-5007
2014-06-09 13:51:57 +02:00
Sebastiaan Janssen 338a125eaa Merge pull request #405 from JimBobSquarePants/7.1.5
Fixing broken preview dialog U4-4977
2014-06-09 13:49:45 +02:00
Jan Skovgaard 18fc6ccc99 Fix of U4-4382 2014-06-09 13:23:01 +02:00
Stephan 8a1db41fc4 Implement content.FirstChild 2014-06-09 13:04:40 +02:00
James South d2119c17c1 Fixing broken preview dialog U4-4977 2014-06-09 13:01:00 +02:00
Jan Skovgaard 9d4afbd007 Fix of U4-4538 2014-06-09 12:44:07 +02:00
Jan Skovgaard c4f764d5fc Fix of issue U4-5007 2014-06-09 12:28:29 +02:00
Sebastiaan Janssen db3d86aeca Merge pull request #402 from leekelleher/U4-3596
U4-3596 Recycle bin, use the listview on the recycle bin instead of showing the deleted items as children
2014-06-09 10:56:24 +02:00
Sebastiaan Janssen c17e60f709 Merge pull request #401 from leekelleher/U4-5066
U4-5066 Display message on empty list-view.
2014-06-09 10:45:13 +02:00
Sebastiaan Janssen 68860b6c54 Update Umbraco version everywhere 2014-06-09 10:32:09 +02:00
Sebastiaan Janssen 5834757476 Merge pull request #403 from BatJan/7.1.5-installer-fix-5040
Fix of U4-5040
2014-06-09 10:15:06 +02:00
leekelleher 91ddbff990 U4-5066 Display message on empty list-view. 2014-06-08 18:18:50 +01:00
Niels Hartvig 5fd1d7c9e5 Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-06-08 19:18:43 +02:00
Niels Hartvig 32cfdbe968 Fixes: U4-4892 Inconsistent (lack of) instructions regarding file extensions in the UI 2014-06-08 19:18:37 +02:00
Shannon a754cecaf7 Allows any Controller to use PreRenderViewActionFilterAttribute 2014-06-08 19:12:40 +02:00
leekelleher 8ccb06c91d Tidied up the "Recycle Bin" headers for both content/media 2014-06-08 18:09:07 +01:00
Shannon d8e35ffc08 Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-06-08 19:05:54 +02:00
Shannon 34dcde645c Half completes: U4-2462 Does the app_plugins manager monitor file changes? 2014-06-08 19:05:48 +02:00
Jan Skovgaard 0474605d36 Fix of U4-4416
http://issues.umbraco.org/issue/U4-4416
2014-06-08 18:47:07 +02:00
Sebastiaan Janssen 4dd3f2f8ac Merge pull request #399 from leekelleher/U4-3575
U4-3575 Get Started Dashboard does not changes when changing sections using Left Menu icons
2014-06-08 18:38:43 +02:00
Jan Skovgaard d7a0447e2e Fix of U4-5040 2014-06-08 18:31:50 +02:00
Sebastiaan Janssen cbe23663e3 Merge pull request #400 from BatJan/7.1.5-installer-fix-4874
7.1.5 installer fix 4874
2014-06-08 18:23:21 +02:00
Niels Hartvig bff415a4c6 Fixes: U4-4893 Inconsistent display of file extensions in the UI 2014-06-08 17:55:05 +02:00
leekelleher caa59f2c80 Updated recycle-bin dashboard controller to handle both content and media items. 2014-06-08 16:46:04 +01:00
leekelleher 2ff1c973e0 Set the listview row item to 'inactive' if the item isTrashed.
(As media items do not have a published state.)
2014-06-08 16:45:22 +01:00
leekelleher f056d3fae7 Modified MediaTypeController.GetAllowedChildren to return an empty collection if the "node ID" is the content/media recycle-bin.
Removed the media recycle-bin node ID from the `ContentTypeController.GetAllowedChildren `.
2014-06-08 16:43:55 +01:00
leekelleher 41a455c9ac Added treeHeaders_mediaRecycleBin to the localization mocks 2014-06-08 16:28:13 +01:00
Shannon f834155763 updated version to 7.1.5 2014-06-08 17:26:23 +02:00
leekelleher 15cc3d19c1 Modified ContentTypeController.GetAllowedChildren to return an empty collection if the "node ID" is the content/media recycle-bin. 2014-06-08 16:18:33 +01:00
leekelleher 3bb563ec55 Modified the 'listview' view + controller - added isTrashed property/state 2014-06-08 16:17:16 +01:00
Shannon b5282244f0 Umbraco MVC style routes now implemented. 2014-06-08 17:16:28 +02:00
Shannon aa5b5708b2 Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-06-08 17:15:58 +02:00
Shannon ec0d6959a9 mini profiler in back office now enabled with query string 2014-06-08 17:15:52 +02:00
leekelleher 320df6706e Modified content tree controller to point the recycle bin node to the dashboard. 2014-06-08 16:15:28 +01:00
leekelleher 519dd8b476 Modified the existing 'recyclebin' dashboard view.
Added view for media 'recyclebin'
2014-06-08 16:14:35 +01:00
leekelleher 0434b3e5bd #U4-3575 Get Started Dashboard does not changes when changing sections using Left Menu icons
Switching sections updates the route/location; thus displays the corresponding dashboard.
2014-06-08 16:02:18 +01:00
BatJan ff42a1b79c Fix of http://issues.umbraco.org/issue/U4-5025 2014-06-08 16:32:03 +02:00
BatJan 4e433becd6 Fix of http://issues.umbraco.org/issue/U4-5025 2014-06-08 16:29:10 +02:00
Niels Hartvig 8aafc583de New styling for content / media titles 2014-06-08 16:29:04 +02:00
Jan Skovgaard d6b0ed2d40 Fix for U4-4874
Added id's to the input fields, so labels are connected properly.
2014-06-08 16:09:06 +02:00
Shannon ebbbd80bb3 Fixes: U4-5065 Add event to modify the model on front-end for IRenderMvcControllers 2014-06-08 14:14:12 +02:00
Morten Christensen 02eff33d29 Fixes U4-2640 LocalizationService throws exception when getting dictionary items and adds tests for the LocalizationService 2014-06-08 13:16:32 +02:00
Shannon 7b33eca014 disables dist call 2014-06-08 13:14:27 +02:00
Shannon f8e06e54de Merge branch '7.1.5' of https://github.com/umbraco/Umbraco-CMS into 7.1.5 2014-06-08 13:09:37 +02:00
Shannon 23d9ef624b Merge remote-tracking branch 'origin/6.2.1' into 7.1.5
Conflicts:
	build/Build.bat
	build/NuSpecs/build/UmbracoCms.targets
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web/Umbraco.Web.csproj
2014-06-08 13:09:31 +02:00
Morten Christensen cdb5b0470d Implementing tests for all methods in the LocalizationService. 2014-06-08 12:59:30 +02:00
Shannon b43f39a0cb disables dist call 2014-06-08 12:50:45 +02:00
Shannon d0cb27d1c1 Completes: U4-2633 Bundle all cache refresher transmissions into a single call per request for much better performance 2014-06-08 12:49:20 +02:00
Shannon e8990eb6b2 Merge commit 'beb1979b4655a529b703ceec094a50f6a3dd8602' into 7.1.5
Conflicts:
	src/Umbraco.Web.UI/config/umbracoSettings.config
2014-06-08 12:24:29 +02:00
Shannon 05524c643e Merge branch '7.1.5-backoffice-miniprofiler' into 7.1.5 2014-06-08 12:08:34 +02:00
Shannon ed989079b4 positions mini profiler to the bottom right 2014-06-08 12:08:05 +02:00
Morten Christensen feed5c5e51 Fixes #U4-4593 EntityService.GetObjectType with passed in integer id or guid unique id 2014-06-08 09:46:43 +02:00
Lesley 754a6e327e Correct capitals for English days of the week (part 2). 2014-06-07 15:56:17 +01:00
Lesley 650fb94057 Correct capitals for English days of the week. 2014-06-07 14:12:01 +01:00
Stephan 0af19fa442 U4-5057 - fix UmbracoHelper.TypedSearch 2014-06-05 17:30:58 +02:00
Matthew Sheeley a4b25c3f84 Close user dialog on logout 2014-06-04 15:44:22 -05:00
Shandem 5b17bc6d5f Merge pull request #393 from henrikrossen/7.1.5
Migrated obsolete method calls and cleaned ContentTypeServiceTests.cs
2014-06-04 10:46:36 +10:00
Henrik Rossen Jakobsen 06a1f790dd Migrated obsolete method calls and cleaned ContentTypeServiceTests.cs 2014-06-03 21:47:18 +02:00
Shannon e7994d077e minor logic change for checking if sort exists 2014-06-02 15:40:24 +10:00
Shannon f55f9edb71 Ensures each property type has a real sort order when adding to the property type collection 2014-06-02 14:04:40 +10:00
Shannon df3bc873df Upgrades mini profiler and enables it in the back offfice. 2014-05-30 15:26:22 +10:00
Sebastiaan Janssen d1c5ddc03d Merge branch 'AndrewSwerlick-7.1.1' into 7.1.5 2014-05-29 18:19:52 +02:00
Sebastiaan Janssen f11d209177 Merge branch '7.1.1' of https://github.com/AndrewSwerlick/Umbraco-CMS into AndrewSwerlick-7.1.1 2014-05-29 18:19:22 +02:00
Stephan 16a1720bf7 Merge remote-tracking branch 'origin/6.2.1' into 6.2.1 2014-05-28 17:11:56 +02:00
Sebastiaan Janssen ea32776174 Bump version 2014-05-28 17:07:51 +02:00
Sebastiaan Janssen 92ef071883 Don't do a ToString() in a IsNullOrEmpty.. 2014-05-28 16:37:16 +02:00
Sebastiaan Janssen b42d0bc17e Bump version and fix dashboard 2014-05-28 16:04:11 +02:00
Sebastiaan Janssen 020a416dc5 en_us lang also updated like en 2014-05-28 13:15:20 +02:00
Sebastiaan Janssen d491c133a7 Merge pull request #391 from danlister/patch-1
Updated en.xml to fix some minor spelling mistakes
2014-05-28 13:13:01 +02:00
Sebastiaan Janssen b68dd6b35c U4-5006 Typo: "struture" in the Copy and Move dialogs 2014-05-28 13:12:10 +02:00
Sebastiaan Janssen ba9d023cc0 Additional fix for U4-4950 U7.1.3 multiple media picker 2014-05-28 13:10:17 +02:00
Sebastiaan Janssen eb6fe1e4d3 Fix unit test that was failing after moving from yepnope to LazyLoad.js 2014-05-28 13:06:23 +02:00
Stephan c972ae566e Merge remote-tracking branch 'origin/6.2.1' into 7.1.4
Conflicts:
	src/Umbraco.Core/Dynamics/PropertyResult.cs
	src/Umbraco.Core/Models/IPublishedProperty.cs
	src/Umbraco.Core/Models/PublishedContent/PublishedPropertyBase.cs
	src/Umbraco.Tests/PublishedContent/PublishedContentTestElements.cs
2014-05-28 11:45:45 +02:00
Stephan 320b53ae3c U4-4773 - bring back IPublishedContentProperty Alias and Version (compat) 2014-05-28 11:36:31 +02:00
Sebastiaan Janssen 84f94d6471 U4-4752 No "change password" dialog available in 7.x backoffice 2014-05-28 11:17:33 +02:00
Morten Christensen f758eb6a62 Extra open namespace for hackers 2014-05-28 10:54:52 +02:00
Shannon 7ec4d3f26d Fixes: U4-4950 U7.1.3 multiple media picker 2014-05-28 13:33:03 +10:00
Shannon 2a0d2bdb86 Fixes: U4-4945 Slider type stops working on ajax load in 7.1.3 2014-05-28 13:25:47 +10:00
Shannon 24d3e465ea Merge remote-tracking branch 'origin/6.2.1' into 7.1.4 2014-05-28 12:42:43 +10:00
Shannon d987dfb5a2 Fixes: U4-4141 7.0.2 "Save and send for approval" fails for a writer user on a newly created unsaved content page 2014-05-28 12:40:43 +10:00
Shannon 2ede32fe70 minor change, using non obsolete user id 2014-05-28 12:39:12 +10:00
Shannon fce8c9d3ec Fixes: U4-4141 7.0.2 "Save and send for approval" fails for a writer user on a newly created unsaved content page 2014-05-28 12:38:11 +10:00
Shannon f5194efb6e Fixes: U4-4999 Image cropper - Image file duplicated each time the page (content) is saved/published 2014-05-28 12:29:41 +10:00
Dan Lister 1b360226d6 Updated en.xml to fix some minor spelling mistakes 2014-05-27 12:01:41 +01:00
Stephan 74806984b3 U4-4931 - fixing & refactoring 2014-05-27 12:17:48 +02:00
Stephan c8c278c7bc Merge remote-tracking branch 'origin/6.2.1' into 6.2.1 2014-05-27 12:17:43 +02:00
Sebastiaan Janssen 524d6fb76a U4-4914 Add icon for 'Import Document Type' action menu 2014-05-27 12:12:34 +02:00
Sebastiaan Janssen 7185a6dba5 Merge pull request #383 from imulus/colorpicker-toggle
Allow colors to be toggled on/off in Color Picker - U4-4935
2014-05-27 11:53:55 +02:00
Sebastiaan Janssen 2496a8e77e Merge branch '6.2.1' of https://github.com/umbraco/Umbraco-CMS into 7.1.4
Conflicts:
	src/Umbraco.Web/Models/PublishedContentBase.cs
	src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs
2014-05-27 11:49:31 +02:00
Sebastiaan Janssen 13e8e972eb U4-4956 UserService.SavePassword method always throws a not supported exception 2014-05-27 11:43:50 +02:00
Stephan a8e4c3eb9a Merge remote-tracking branch 'origin/6.2.1' into 6.2.1 2014-05-26 18:07:45 +02:00
Stephan d631039c0d U4-4928 - issue with missing media content properties 2014-05-26 18:07:20 +02:00
Stephan b1e879bf68 U4-4928 - issue with missing media content properties 2014-05-26 15:59:28 +02:00
Stephan 113b866485 U4-4931 - fixing & refactoring 2014-05-26 15:56:29 +02:00
Stephan 6c6ef8d144 Merge remote-tracking branch 'origin/6.2.1' into 6.2.1 2014-05-26 15:03:38 +02:00
Stephan 95b9a46b88 U4-4928 - issue with missing media content properties 2014-05-26 15:02:05 +02:00
Stephan 99250cefbb U4-4931 - fixing & refactoring 2014-05-23 10:46:41 +02:00
Stephan dc651a1c42 Merge remote-tracking branch 'origin/6.2.1' into 6.2.1 2014-05-23 10:46:13 +02:00
Shannon 766ca78725 Merge remote-tracking branch 'origin/6.2.1' into 7.1.4 2014-05-23 10:00:34 +10:00
Shannon 3ca4fb76b2 Merge branch 'darrenferguson-7.1.2' into 7.1.4 2014-05-23 09:52:11 +10:00
Shannon 0a76757cea Merge branch '7.1.2' of https://github.com/darrenferguson/Umbraco-CMS into darrenferguson-7.1.2 2014-05-23 09:51:48 +10:00
Sebastiaan Janssen 8fb446960c U4-4927 Image Cropper Crop URL is wrong in 6.2.0
Reverts part of 067268a96e which was refactored wrong
2014-05-22 19:39:25 +02:00
Stephan 1cf40aca07 U4-4922 - add details to error message 2014-05-22 18:32:20 +02:00
Stephan 4e9fd5a223 U4-4931 - fixing & refactoring 2014-05-22 13:43:55 +02:00
Stephan e2c36d7212 Merge remote-tracking branch 'origin/6.2.1' into HEAD 2014-05-22 13:40:58 +02:00
Shannon aadcdc9c15 ensures session id is set on user data on login. 2014-05-22 13:17:15 +10:00
Shannon e04eed41e7 Merge remote-tracking branch 'origin/6.2.1' into 7.1.4
Conflicts:
	src/Umbraco.Core/Models/DeepCloneHelper.cs
	src/Umbraco.Core/Models/PreValue.cs
	src/Umbraco.Core/Models/PreValueCollection.cs
	src/Umbraco.Tests/Persistence/Repositories/TemplateRepositoryTest.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/editContent.aspx.cs
2014-05-22 13:01:23 +10:00
Shannon 62887607ff fixes csrf with mediauploader.ashx 2014-05-22 12:44:04 +10:00
Shandem 54a639ffcd Merge pull request #387 from lars-erik/Fix-U4-4264
Fixes U4-4264 (dictionary tree collapses) while we wait for angularification.
2014-05-22 10:47:47 +10:00
Shannon 9f16bee040 Fixes: U4-4952 RTE: macro editing - parameter dialog blank 2014-05-21 15:27:10 +10:00
Stephan 976d1b1ff6 Merge pull request #385 from zpqrtbnk/7.1.4
U4-4618 - public PublishedContentModel & Factory
2014-05-20 15:41:41 +02:00
Lars-Erik Aabech 8a4e39a999 Fixes U4-4264 while we wait for angularification. 2014-05-20 15:05:45 +02:00
Stephan 695cc07912 Merge remote-tracking branch 'origin/6.2.1' into 6.2.1 2014-05-20 09:32:54 +02:00
Stephan f325794523 U4-4949 - fix issue with domains 2014-05-20 09:32:26 +02:00
Stephan 0b3733f992 Merge remote-tracking branch 'origin/7.1.4' into 7.1.4 2014-05-20 09:28:03 +02:00
Stephan 2926a79c3f U4-4949 - fix issue with domains 2014-05-20 09:24:40 +02:00
Stephan ef7a6f19ba Fix the build 2014-05-20 08:57:27 +02:00
Stephan 95a4bb9ba6 refactor PublishedContentModelFactory 2014-05-19 13:15:47 +02:00
Stephan 32b7871eaf Rename PublishedContentModelFactoryImpl 2014-05-19 13:01:49 +02:00
Sebastiaan Janssen 3ec6d2b82f U4-4861 6.2.0 Nuget package copies wrong files 2014-05-19 10:08:26 +02:00
Stephan cd03e80410 Optimize PublishedContentModelFactoryImpl 2014-05-18 21:57:59 +02:00
Stephan 9ed3561b56 Fix the build 2014-05-18 21:41:34 +02:00
Stephan 28da44f0de Refactor PublishedContentModelFactory 2014-05-18 21:31:53 +02:00
Stephan f8d7aeec80 Merge branch '7.1.4' into HEAD 2014-05-18 21:29:37 +02:00
Stephan dacec47cd9 Fix the build 2014-05-18 21:27:41 +02:00
Stephan 57f06ba447 U4-4618 - public PublishedContentModel & Factory 2014-05-18 19:57:39 +02:00
Stephan 46f57a3115 U4-4931 - lock contention & potential application lockdown 2014-05-18 19:13:22 +02:00
Stephan 82c1c95e35 Detached PublishedProperty - refactor 2014-05-18 19:06:28 +02:00
Tom Fulton fa6c215849 Merge branch '7.1.4' into colorpicker-toggle 2014-05-17 15:06:15 -06:00
Shannon 420746397d fixes macro property saving issue in editor (to ensure the alias/key can be changed) 2014-05-17 15:35:56 +10:00
Shannon 142a9963af Fixes macro property saving issue in repo 2014-05-17 15:35:30 +10:00
Tom Fulton b656db3af3 Allow colors to be toggled on/off in Color Picker - U4-4935 2014-05-16 21:59:34 -06:00
Sebastiaan Janssen d697c590e7 U4-4930 NuGet update fails to copy new Umbraco binaries 2014-05-16 18:54:49 +02:00
Sebastiaan Janssen 1dd103caa3 U4-4930 NuGet update fails to copy new Umbraco binaries 2014-05-16 18:53:23 +02:00
Sebastiaan Janssen a55cd67fd6 U4-4650 Pluralization of document type aliases doesn't always work 2014-05-16 14:33:25 +02:00
Sebastiaan Janssen 43bfd6e472 U4-4650 Pluralization of document type aliases doesn't always work 2014-05-16 14:33:03 +02:00
Sebastiaan Janssen afa81be102 Fixes U4-4650 Pluralization of document type aliases doesn't always work 2014-05-16 14:23:40 +02:00
Sebastiaan Janssen b07665f4d4 Fixes U4-4650 Pluralization of document type aliases doesn't always work 2014-05-16 14:22:13 +02:00
Sebastiaan Janssen 0ebd66d926 Merge branch 'dampee-oembed_slideshare' into 7.1.3 2014-05-16 12:51:26 +02:00
Sebastiaan Janssen 8d45898274 UmbracoVersion property no longer needed. Added data folder to the targets. 2014-05-16 12:44:02 +02:00
Sebastiaan Janssen a99a33477a Centralized the current Umbraco version number in UmbracoVersion.txt that will be read by
buildbelle.bat, build.bat and the umbraco.web.ui.csproj so it works in VS, command line and
also in TeamCity.
2014-05-16 12:27:54 +02:00
Sebastiaan Janssen b42d3b226d Bump version 2014-05-16 11:29:35 +02:00
Sebastiaan Janssen b6925f9f07 Merge branch 'gambrose-7.1.2' into 7.1.3 2014-05-16 11:28:02 +02:00
Stephan ddd0e8abb5 Bugfix media cache property alias case sensitivity 2014-05-16 10:10:55 +02:00
Stephan e07f573683 Fix the build 2014-05-16 09:57:21 +02:00
Shannon ffbb1a85ab Fixes: U4-4312 Spelling error on "Retreive" should be Retrieve -U7.0.0.4 2014-05-16 12:43:23 +10:00
Shannon ac9c938e92 Fixes: U4-4923 Failed to retrieve data for application tree media after upgrade to 7.1.2 2014-05-16 12:42:21 +10:00
Shannon 1f88960b3f Fixes: U4-4926 Pre-values need to be cloned in/out of the cache
Conflicts:
	src/Umbraco.Core/Models/PreValue.cs
	src/Umbraco.Core/Models/PreValueCollection.cs
2014-05-16 12:09:47 +10:00
Shannon d8edf67b82 Fixes: U4-4842 Unable to edit "name" and "alias" to MediaType property 2014-05-16 12:09:08 +10:00
Shannon 762656e964 Fixes: U4-4926 Pre-values need to be cloned in/out of the cache 2014-05-16 12:08:17 +10:00
Shannon 46a4f9242c fixes test 2014-05-16 11:43:20 +10:00
Shannon 8cae2526d5 Fixes: U4-4842 Unable to edit "name" and "alias" to MediaType property 2014-05-16 11:34:10 +10:00
Graham Ambrose 6b313aba48 CopyUmbracoFilesToWebRoot assumes packages loacation
CopyUmbracoFilesToWebRoot assumes packages folder is always one dir up from
project file which is not always the case.

I have changed to use MSBuildThisFileDirectory which makes the path
relative the the UmbracoCms.targets file.
MSBuildThisFileDirectory is supported from MSBuild 4 but as ToolsVersion is
already set to 4.0 that should not be a problem.

UmbracoVersion property is no longer required but removing it may break
external target files depending on it. Have moved it to props file as this
makes it more reliable for external targets files.
2014-05-15 22:43:24 +01:00
Shannon 365a8e85e9 Fixes: U4-2356 2014-05-15 16:13:54 +10:00
Shannon 7b4c58538d wrote test to confirm: U4-2356 2014-05-15 16:11:59 +10:00
Shannon e41c99d5bc Merge branch 'ma1f-7.1.2' into 7.1.3 2014-05-15 15:44:56 +10:00
Shannon a49dd36461 Merge branch '7.1.2' of https://github.com/ma1f/Umbraco-CMS into ma1f-7.1.2 2014-05-15 15:43:53 +10:00
Mark van Schaik 82a1e85431 solves issue U4-2356 when deleting templates 2014-05-15 16:37:32 +12:00
Shannon 5f9dddafd8 fixed an upgrade script when upgrading from old 4.x versions 2014-05-15 14:11:43 +10:00
Shannon 836297df58 Fixes error message on publishing when it fails due to any of these statuses: FailedHasExpired, FailedAwaitingRelease, FailedIsTrashed 2014-05-15 13:35:52 +10:00
Shannon 1c7d83f589 Undoes the comma encoding for tags and istead adds support to store the tags as json or csv (U4-4741) 2014-05-15 12:49:03 +10:00
Shannon 157428dbc8 ensures multiple commas in tags still work. 2014-05-14 20:54:01 +10:00
Darren Ferguson a2a81222e6 Adding extension methods to PartialViewMacroModel to allow: Model.GetParameterValue<DateTime>("datey")
Model.GetParameterValue<int>("booly", 8) //optional default value if parsing can't happen
Model.GetParameterValue("booly",8) // can be used like this as type is implied by default value argument
2014-05-14 11:33:40 +01:00
Darren Ferguson 5abbca0f5d Adding extension methods to PartialViewMacroModel to allow: Model.GetParameterValue<DateTime>("datey")
Model.GetParameterValue<int>("booly", 8) //optional default value if parsing can't happen
Model.GetParameterValue("booly",8) // can be used like this as type is implied by default value argument
2014-05-14 11:32:39 +01:00
Shannon 0bcaa0da7f ensures that when querying for a tag with a comma that we encode it so that it finds it. 2014-05-14 20:31:32 +10:00
Shannon 922942197f Fixes: U4-4741 Tags Property Editor Mishandles Tags with Commas 2014-05-14 19:57:40 +10:00
Shannon b8975de04d Fixes: U4-4666 SQL Error when saving content with Tags property with @ value 2014-05-14 18:55:08 +10:00
Shannon f00950bfe4 adds unit test for image helper 2014-05-14 18:38:05 +10:00
Shannon 80d012f3ad Fixes: U4-4771 u7.1.1 Media section can't view images RangeError: Maximum call stack size exceeded 2014-05-14 18:25:50 +10:00
Shannon 654efd1128 Fixes: U4-3492 Recent history list persist between logged in users 2014-05-14 15:26:52 +10:00
Shannon aa2375b8ba Fixes client side mem leak for dialogs and not correctly removing their scopes. 2014-05-14 15:18:28 +10:00
Shannon f6532d2743 un-does the distinct check, in the past it was never like this, duplicate values were always allowed so by doing this it is a breaking change 2014-05-14 13:09:02 +10:00
Shannon 8c334a8c95 Fixes: U4-4880 SEO Checker fails after upgrading from 7.1.1 to 7.1.2 2014-05-14 12:29:38 +10:00
Shannon 42cd71ef6c Fixes: U4-4865 Umbraco 7.1.2 Date Picker not rendering icon or calendar control 2014-05-14 12:01:38 +10:00
Shannon 5956394bf1 Fixes: U4-4877 Editing macro parameters fails because of new item validation 2014-05-14 10:52:08 +10:00
Shannon d1e9fb6d9f re-fixes Core proj since it would not build 2014-05-14 09:42:34 +10:00
Damiaan 48dcc373dc Oembed for slideshare not working anymore 2014-05-13 22:29:59 +02:00
Stephan c9961b5192 Fix Umbraco.Core project (missing files, would not build) 2014-05-13 15:24:36 +02:00
Stephan 03d3503531 Don't throw when validating doctype/property aliases with dangerous chars 2014-05-13 12:39:35 +02:00
Stephan 9acba1d6d7 U4-4857 - issue with document type new property alias 2014-05-13 09:53:22 +02:00
Shannon 659f47c038 Merge remote-tracking branch 'origin/6.2.1' into 7.1.3 2014-05-13 15:47:38 +10:00
Shannon 78613823ae Fixes: U4-4853 Richtext Editor doesn't render macros after upgrade to Umbraco 6.2.0 2014-05-13 15:22:16 +10:00
Shannon cb7f26c998 Fixes: U4-4197 Error 400 on admin area login 2014-05-13 13:39:18 +10:00
Shannon 16b5c86192 Fixes: U4-4869 Cannot save tags - was due to adding the loading... message and the ng-if creating a new scope and not targeting the $parent in the view, also fixes up clearing the value with typeahead is used 2014-05-13 12:55:31 +10:00
Shannon c83ab00827 Merge remote-tracking branch 'origin/6.2.1' into 7.1.3 2014-05-13 10:46:14 +10:00
Shannon 937e840104 Fixes: U4-4873 RuntimeCacheRefresher does not remove items when media or content requires cache refreshing & U4-4871 Synced media indexes between load balanced servers do not sync all properties 2014-05-13 10:40:56 +10:00
Shannon 8d49c730d5 Merge branch 'meixger-hotfix/imagecropper' into 7.1.3 2014-05-13 09:33:34 +10:00
Shannon fadb503b97 Merge branch 'hotfix/imagecropper' of https://github.com/meixger/Umbraco-CMS into meixger-hotfix/imagecropper 2014-05-13 09:33:22 +10:00
Martin Meixger 289bed8fd2 change negative coordinates to zero 2014-05-12 15:34:50 +02:00
Shannon eec1048631 Merge branch '6.2.1' into 7.1.3 2014-05-12 17:50:33 +10:00
Shannon 313d77eb91 Fixes: U4-4789 PluginCache doesn't update with code defined PropertyEditors in package and publicizes a couple things 2014-05-12 17:19:17 +10:00
Shannon b048341da0 Fixes: U4-4789 PluginCache doesn't update with code defined PropertyEditors in package and publicizes a couple things 2014-05-12 17:07:29 +10:00
Shannon 03cb54e931 fixed merge issue 2014-05-12 14:37:54 +10:00
Shannon 150b67d10f Merge remote-tracking branch 'origin/6.2.1' into 7.1.3
Conflicts:
	src/Umbraco.Tests/Models/ContentTests.cs
	src/Umbraco.Tests/Models/ContentTypeTests.cs
2014-05-12 14:37:19 +10:00
Shannon ac88da4188 Fixes: U4-4856 ApplicationContext.Current.Services.ContentService.Save throw exception 2014-05-12 14:32:34 +10:00
Shannon cca27e064a Fixes: U4-4855 Can't use macro parameters at all 2014-05-12 13:48:56 +10:00
Stephan 4e5019d5af U4-4851 - Umbraco.Field legacy names 2014-05-11 21:33:56 +02:00
Stephan f1a312b14a U4-4851 - Umbraco.Field legacy names 2014-05-11 21:06:33 +02:00
Sebastiaan Janssen e12f24af94 Merge branch '7.1.2' of https://github.com/umbraco/Umbraco-CMS into 7.1.2 2014-05-09 13:31:41 +02:00
Sebastiaan Janssen cbad216387 Update the install ps to do logging of copies and to actually copy the /umbraco folder properly 2014-05-09 13:07:41 +02:00
Sebastiaan Janssen 00880fcbfa I was confused, these files exist just fine :) 2014-05-09 13:07:03 +02:00
Stephan 080ed612e8 U4-4837 - bugfix Umbraco.Core.EnumerableExtensions.InGroupsOf 2014-05-09 10:22:23 +02:00
Stephan 5661a34e00 Bugfix media cache property alias case sensitivity 2014-05-09 10:21:31 +02:00
Sebastiaan Janssen 85012ee82a Renaming files that don't exist led to the NuGet package not being created correctly somehow 2014-05-09 09:16:51 +02:00
Shannon 53a9cdb7a0 fixes a couple tests 2014-05-09 17:10:56 +10:00
Shannon 6b6ca615ba Updates build to ignore bower and commits typeahead. 2014-05-09 17:02:14 +10:00
Shannon da0b935604 Fixes merge 2014-05-09 16:08:05 +10:00
Shannon b91a06ab98 Fixes: U4-4849 Cannot change a users language/sections in the back office 2014-05-09 16:00:30 +10:00
Shannon d61fb5d94d Fixes user cloning issues with allowed sections 2014-05-09 15:59:30 +10:00
Shannon 2eef061c42 attempting to add the default git path to the path variable - hopefully the server has the same one 2014-05-09 15:58:09 +10:00
Shannon 3b424274ee ensure properties reset on deep clone of ContentType (this is just a fail safe check) 2014-05-09 15:57:17 +10:00
Shannon b763c2ab2f Fixes deep clone of User object 2014-05-09 15:56:45 +10:00
Shannon 70f65583d7 Fixes: U4-4546 Error: Failed to retreive data for media ids 2014-05-09 15:50:07 +10:00
Shannon 0d37a1f6e8 Fixes: U4-4849 Cannot change a users language/sections in the back office 2014-05-09 15:19:00 +10:00
Shannon 389724cba5 Re-fixes: U4-4211 User without media section permission will be logged out immediately when accessing a document type using a media picker datatype (u7.0.3) 2014-05-09 14:06:15 +10:00
Shannon 0382902984 Fixes user cloning issues with allowed sections 2014-05-09 14:01:20 +10:00
Shannon e0a0216b2d Fixes build in unit tests with ctor for service context 2014-05-09 13:28:03 +10:00
Shannon b02f7e0d3a ensure properties reset on deep clone of ContentType (this is just a fail safe check) 2014-05-09 13:26:50 +10:00
Shannon 9d96a4411f Fixes deep clone of macro object 2014-05-09 13:26:16 +10:00
Shannon 8e9a9dc996 Fixes deep clone of User object 2014-05-09 13:25:18 +10:00
Shannon b1603a21a2 Fixes up strange culture issue with thread switching with the update to the AngularJsonMediaTypeFormatter. 2014-05-09 10:46:15 +10:00
Sebastiaan Janssen 59cb1ad31e Revert "Fixes: U4-4211 User without media section permission will be logged out immediately when accessing a document type using a media picker datatype (u7.0.3) - this is done by using the entityResource in the mediaPicker but to do this we need to return a cut down version of the media properties in the additionalData which is tricky because the cropper stores json which is ntext and the existing sql didn't cater for this. This also cleans up the entity service and we no longer have this internal collection of properties, everything is just added to additionalData, then had to add mediaHelper method to deal with getting urls from a media 'entity' not just a media object."
This reverts commit c38c2ede11.
2014-05-08 16:08:16 +02:00
Sebastiaan Janssen 215ebb78ca Oops, this really needs to be Release mode 2014-05-08 13:56:19 +02:00
Sebastiaan Janssen c1796dd5ac Update ImageProcessor dependency to latest version 2014-05-08 13:28:46 +02:00
Sebastiaan Janssen 28550e3bb7 Require a recent version of NuGet in order to install Umbraco. 2014-05-08 13:28:32 +02:00
Sebastiaan Janssen bc59ff2e8c Clarified /base obsoletion to point out UmbracoApiController 2014-05-08 11:14:00 +02:00
Shannon 614327a273 Merge branch '7.1.2' of https://github.com/umbraco/Umbraco-CMS into 7.1.2 2014-05-08 19:03:58 +10:00
Shannon ed292d34db oops fixed build 2014-05-08 19:03:40 +10:00
Shandem 5ac3eb7fef Merge pull request #364 from tomfulton/patch-1
Fix U4-4779: Media Picker not working as single picker
2014-05-08 18:49:36 +10:00
Shannon 94732cff00 Renames GetCurrent to GetCurrentMember to be inline with GetCurrentMemberId 2014-05-08 18:13:59 +10:00
Shandem 7947682cf0 Merge pull request #373 from sniffdk/patch-1
Fix for issue U4-4826
2014-05-08 18:13:23 +10:00
Shannon 6506768f10 Adds GetCurrentMemberId as a method to MembershipHelper 2014-05-08 18:12:28 +10:00
Shannon 9e0d10d0a3 Adds Logout as a wrapper to formsauth in membershiphelper 2014-05-08 18:10:01 +10:00
Shannon 392b18f4dd Adds GetCurrent() to MembershipHelper 2014-05-08 18:08:06 +10:00
Shannon c3ecc9e942 Fixes: U4-4505 Add obsolete messages to /base restextentions methods ( i think i got them all ) 2014-05-08 17:25:06 +10:00
Shannon c47f9ae26d Fixes: U4-4835 If you've changed data on a content item and then attempt to logout, the 'discard changes' dialog pops up however the logout continues but the URL and view remains 2014-05-08 16:57:29 +10:00
Shannon 22b506e2fb Fixes: U4-4827 The new speechbubble container is placed over the save and publish buttons 2014-05-08 12:26:59 +10:00
Shannon 516723d31d Merge branch '7.1.2' of https://github.com/umbraco/Umbraco-CMS into 7.1.2 2014-05-08 11:38:38 +10:00
Shannon 7c30f26505 Fixes: U4-4845 Publicize INotificationService 2014-05-08 11:38:05 +10:00
Shandem 6b84a6adec Merge pull request #374 from sniffdk/patch-2
Fix for issue U4-4827
2014-05-08 11:31:22 +10:00
Shannon 6e2493854a makes Reset protected internal on ResolverBase 2014-05-08 11:22:44 +10:00
Shandem 1e13746cd0 Merge pull request #375 from rustyswayne/7.1.2
Makes HasCurrent property protected on ResolverBase.  #U4-4829
2014-05-08 11:11:12 +10:00
Shannon 8c7adf80b2 Fixes: U4-4573 7.0.4 Save and Send For Approval button not sending notification email 2014-05-08 00:45:54 +10:00
Shannon c38c2ede11 Fixes: U4-4211 User without media section permission will be logged out immediately when accessing a document type using a media picker datatype (u7.0.3) - this is done by using the entityResource in the mediaPicker but to do this we need to return a cut down version of the media properties in the additionalData which is tricky because the cropper stores json which is ntext and the existing sql didn't cater for this. This also cleans up the entity service and we no longer have this internal collection of properties, everything is just added to additionalData, then had to add mediaHelper method to deal with getting urls from a media 'entity' not just a media object. 2014-05-07 23:55:20 +10:00
Shannon a6cd2b9e18 Fixes: U4-4420 TagQuery / TagService missing method to get content with tag. 2014-05-07 14:27:10 +10:00
Rusty Swayne 5fa128697b Makes HasCurrent property protected on ResolverBase. #U4-4829 2014-05-06 10:04:14 -07:00
Mads Krohn 62c3bf6afe Fix for issue U4-4827
I simply placed the container a little higher up, just above the Save and Publish buttons.
2014-05-06 13:39:11 +02:00
Mads Krohn aec862a9de Fix for issue U4-4826
When editing an existing link in tinymce the following error is thrown:
Could not find the tree content, activeTree has not been set 

This is caused by passing a wrong value as parameter to the doLoad method in the loadActiveTree function.
2014-05-06 13:02:47 +02:00
Shannon cfd21bc924 Got this working: U4-4420 TagQuery / TagService missing method to get content with tag - just need to add some unit tests. 2014-05-06 19:04:49 +10:00
Shannon d264792e18 Fixes: U4-4819 Publicize AuthenticationExtensions 2014-05-06 18:15:38 +10:00
Shannon af732955fb Fixes up a bit more with tags look ahead, fixes up rte to show a loading... text so the UI is handled much better 2014-05-06 18:06:41 +10:00
Shannon a846ba64eb Fixes: U4-4799 Ensure image logic found in the ContentService is duplicated for the new cropper 2014-05-06 15:27:53 +10:00
Shannon d3e925add9 Fixes: U4-4803 Need to expose CurrentUser on WebSecurity as public since IUser is now public 2014-05-06 14:49:43 +10:00
Shannon 683f0c5725 Fixes: U4-4503 Tags datatype does not autocomplete 2014-05-06 14:44:24 +10:00
Shannon 6827def8ba Merge branch '7.1.2' of https://github.com/umbraco/Umbraco-CMS into 7.1.2 2014-05-06 10:41:10 +10:00
per ploug dbbe3fe5fb Removes remaining yepnop dependencies 2014-05-05 12:59:34 +02:00
Shannon d2a20b10aa nearly got tag typeahead working 2014-05-05 19:07:57 +10:00
Shannon 27e6b8c80c Adds bower to node dependencies, uses bower to get the typeahead dependency, gets bower dependencies on npm install 2014-05-05 15:55:48 +10:00
Shannon 956a92f5b4 removes unused moment.js from core/release 2014-05-05 13:35:20 +10:00
Shannon 36c7fd53cb Fixes merge issues with left over IPublishedContentProperty 2014-05-05 13:21:18 +10:00
Shannon 3df2d03fc8 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
Conflicts:
	build/Build.bat
	build/NuSpecs/UmbracoCms.Core.nuspec
	build/NuSpecs/build/UmbracoCms.targets
	src/Umbraco.Core/Models/IPublishedContentProperty.cs
	src/Umbraco.Core/Models/PublishedContent/IPublishedContentExtended.cs
	src/Umbraco.Core/Models/PublishedContent/PublishedContentExtended.cs
	src/Umbraco.Core/Models/PublishedContent/PublishedContentWrapped.cs
	src/Umbraco.Core/Models/PublishedContent/PublishedPropertyBase.cs
	src/Umbraco.Core/Models/PublishedContent/PublishedPropertyType.cs
	src/Umbraco.Core/Models/Template.cs
	src/Umbraco.Core/Persistence/Migrations/MigrationRunner.cs
	src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.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/Services/PackagingService.cs
	src/Umbraco.Tests/PublishedContent/PublishedContentMoreTests.cs
	src/Umbraco.Tests/PublishedContent/PublishedContentTestElements.cs
	src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedFragment.cs
	src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs
	src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs
	src/Umbraco.Web/PublishedContentPropertyExtension.cs
	src/Umbraco.Web/Search/ExamineEvents.cs
	src/Umbraco.Web/UmbracoHelper.cs
	src/Umbraco.Web/umbraco.presentation/CompatibilityHelper.cs
	src/Umbraco.Web/umbraco.presentation/macro.cs
	src/umbraco.cms/businesslogic/template/Template.cs
2014-05-05 12:49:06 +10:00
Sebastiaan Janssen 16c360de88 Merge pull request #363 from aweber1/patch-1
Update ImageCropMode.cs
2014-05-02 10:43:59 +02:00
Sebastiaan Janssen c661fc6537 Merge pull request #370 from BatJan/patch-5
Fix of spelling mistake in "minumum".
2014-05-01 16:44:44 +02:00
BatJan c2c5098045 Fix of spelling mistake in "minumum".
Corrected "minumum" to "minimum" according to http://issues.umbraco.org/issue/U4-4804
2014-05-01 16:35:22 +02:00
Sebastiaan Janssen 16d98488e4 Losen up the requirement for json.net dependency 2014-05-01 14:06:28 +02:00
Morten Christensen 5a862f5c64 Fixes import of nested dictionary items #U4-4663 2014-05-01 13:51:33 +02:00
Sebastiaan Janssen caf41b74b8 Add failing test - dictionary items don't get properly nested 2014-05-01 12:26:18 +02:00
Sebastiaan Janssen e858f4ff1e U4-4775 creating new member group shows error message in dialog... 2014-05-01 11:45:14 +02:00
Sebastiaan Janssen 851961ef2b U4-4775 creating new member group shows error message in dialog... 2014-05-01 10:48:27 +02:00
Sebastiaan Janssen c139c5d93e U4-3925 Cancel Document_BeforePublish event gives YSOD 2014-05-01 09:55:14 +02:00
Shannon c4603ee5cd Fixes: U4-4798 When new property types are added, the internal Examine index isn't notified and will ignore them 2014-05-01 12:43:40 +10:00
Shannon 1e9d1007b6 Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0 2014-05-01 11:36:33 +10:00
Shannon f23af85253 Fixes: U4-4624 Media cache hits the DB on every empty property, U4-4338 Umbraco fails to enumerate TypedMedia 2014-05-01 11:36:17 +10:00
Sebastiaan Janssen b0c5d16ba7 U4-4127 Turkish culture prevents Macros embedded 2014-04-30 19:29:32 +02:00
Stephan cd5581bef6 Back to IPublishedContentProperty (for 6 only) 2014-04-30 16:53:14 +02:00
Stephan 7d8da56dcb Revert "Reintroduce IPublishedContentProperty"
This reverts commit d33cc29f98.
2014-04-30 16:39:51 +02:00
Stephan 0501b181ce Refactor template aliases to strict aliases 2014-04-30 15:46:26 +02:00
Stephan 6d076a09e4 Refactor template aliases to strict aliases (cont) 2014-04-30 15:44:29 +02:00
Stephan 3cd3230b55 Refactor template aliases to strict aliases 2014-04-30 15:38:47 +02:00
Sebastiaan Janssen 3134668cec Bump version number 2014-04-30 12:00:19 +02:00
Shannon a8cc8fa688 Fixes case sensitivity with MySQL 2014-04-30 19:58:59 +10:00
Shannon cf2217cfe1 Fixes MySQL upgrades from < 6.0 2014-04-30 19:41:40 +10:00
Shannon e88e809e29 Use new YouTube oembed https end-point (old http one redirects) and make sure videos are embedded over https to allow for https Umbraco sites. 2014-04-30 17:39:13 +10:00
Shandem b404f3b56b Merge pull request #368 from uber-rob/u4-4785
Use new YouTube oembed https end-point (old http one redirects) and make...
2014-04-30 17:31:43 +10:00
Shannon c5559d7721 Specifying assembly for membership/user provider
Addresses http://issues.umbraco.org/issue/U4-4781
2014-04-30 11:27:47 +10:00
Shandem e9da4121bd Merge pull request #365 from aaronpowell/patch-2
Specifying assembly for membership/user provider
2014-04-30 11:24:08 +10:00
Shannon 771e216813 U4-2635 Skip past replaced word when checking
Avoids infinite loop if search and replacement are equal
2014-04-30 11:21:12 +10:00
Shannon 877ae6e026 Merge remote-tracking branch 'origin/7.1.1' into 7.1.2 2014-04-30 11:16:33 +10:00
Shandem e1d99855f6 Merge pull request #367 from lctjohn/7.1.1-U4-2635
fix for: U4-2635 Replace [...] method only replaces first ocurrence of oldString
2014-04-30 11:10:28 +10:00
Rob Church 9d9db577b4 Use new YouTube oembed https end-point (old http one redirects) and make sure videos are embedded over https to allow for https Umbraco sites. 2014-04-29 19:09:45 +01:00
John b4127294e5 U4-2635 Skip past replaced word when checking
Avoids infinite loop if search and replacement are equal
2014-04-29 14:06:05 +02:00
Aaron Powell d369af5fe0 Specifying assembly for membership/user provider
Addresses http://issues.umbraco.org/issue/U4-4781
2014-04-29 21:49:56 +10:00
John 74dd1f9181 U4-2635 Skip already-checked part of source input 2014-04-29 13:33:48 +02:00
John 86f7d79e7a Fixes: U4-2635 Umbraco.Core.Strings string Rep...
...lace(this string source, string oldString, string newString,
StringComparison stringComparison) method only replaces first ocurrence
of oldString
2014-04-29 13:24:54 +02:00
John c1781c2f4b U4-2635 add failing test
Only first occurrence of oldString is replaced.
2014-04-29 12:54:51 +02:00
per ploug d0dae43dd1 Merge branch '7.1.2' of https://github.com/umbraco/Umbraco-CMS into 7.1.2 2014-04-29 11:38:29 +02:00
per ploug 90bf600378 Replaces yepnope.js with lazyload.js
Solves the caching and multi-load of the same file problems - adds a bit
of promise-based loading logic ontop of ll.js to ensure order and count
2014-04-29 11:38:13 +02:00
Stephan d33cc29f98 Reintroduce IPublishedContentProperty 2014-04-29 09:47:30 +02:00
Tom Fulton 472c9d3a88 Fix U4-4779: Media Picker not working as single picker 2014-04-29 01:00:36 -06:00
Shannon e23d7d1af3 Fixes: U4-3404 Pressing preview should save the changes and then open preview window 2014-04-29 15:09:01 +10:00
Shandem 4b97eb2a9a Merge pull request #354 from JackieNagel/link-picker-issue
fix for issue U4-4707 - When a mediaitem is selected in the linkpicker, the id is not returned
2014-04-29 14:03:48 +10:00
Shannon dadf063ad5 Fixes: U4-4777 Preview with related links property editor doesn't work - this is just a temp fix, ensures that the YSOD is not created but doesn't fix the way preview pages are created. 2014-04-29 13:46:32 +10:00
Shannon 86e18ef89d Fixes merge issues 2014-04-29 13:36:21 +10:00
Shannon e0c3eda675 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
Conflicts:
	src/Umbraco.Core/Configuration/UmbracoSettings.cs
	src/Umbraco.Core/Models/PropertyExtensions.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IMemberRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
	src/Umbraco.Core/Security/MembershipProviderBase.cs
	src/Umbraco.Core/Services/ContentService.cs
	src/Umbraco.Core/Services/MediaService.cs
	src/Umbraco.Core/Services/PackagingService.cs
	src/Umbraco.Tests/Models/DataValueSetterTests.cs
	src/Umbraco.Web.UI/web.Template.config
	src/umbraco.cms/businesslogic/media/Media.cs
	src/umbraco.cms/businesslogic/member/Member.cs
2014-04-29 13:06:10 +10:00
Shannon b98fbbc75d Fixes: U4-4770 Preview XML is not generated for many operations in the ContentService, also moves some more CRUD logic in the content service to the content repo. 2014-04-29 11:11:48 +10:00
Shannon aba1862811 Fixes: U4-4754 Member and Media repositories need to generate preview xml when EnableGlobalPreviewStorage is true 2014-04-29 09:58:38 +10:00
Adam Weber 470913f796 Update ImageCropMode.cs
Fixed spelling error in ImageCropMode.Stretch
2014-04-28 10:17:41 -05:00
Shannon 2f53698bc5 Fixes: U4-4766 UmbracoMembershipProvider.ChangePassword() is seal, what might be a breaking change? 2014-04-28 19:19:48 +10:00
Shannon e0e12d5773 Moves content xml crud logic for member service to member repo 2014-04-28 19:04:53 +10:00
Shannon 2e96de5449 Moves the CRUD logic from the media service to the media repo for dealing with content xml items and ensures it's done in the same transaction, streamlines how this process is done between the content, media, member services, adds test for it. 2014-04-28 18:53:21 +10:00
Shannon c5bce3b8cc completes: U4-4769 Remove the circular references from services for calls like ToXml which then calls into the PackagingService 2014-04-28 17:46:05 +10:00
Shannon b4286a7d4e works on U4-4769 - removing circular refs from media service 2014-04-28 17:38:24 +10:00
Shannon 31e018c045 Moves XML serialization for content/media/members to a resusable class: EntityXmlSerializer to remove the circular references we have by using the ToXml extension methods from directly in the services. This has been completed for the ContentService, next is Media and Member services. Updates the ContentService to not perform CUD operations for preview or published xml, this is now done at the repository level and now done in a single transaction for the saving and publishing events. Still need to do that for the member and media services too and the remaining methods in the content service 2014-04-28 17:28:40 +10:00
Shannon e964d52548 Merge branch 'U4-898' of https://github.com/leekelleher/Umbraco-CMS into leekelleher-U4-898 2014-04-28 12:49:28 +10:00
Shannon 50b71faff9 Adds .woff mime type 2014-04-28 12:45:12 +10:00
Shannon d7bd38386e Merge branch '7.1.2' of https://github.com/umbraco/Umbraco-CMS into 7.1.2 2014-04-28 12:40:01 +10:00
Shannon 1f581c1fcb Merge branch 'patch-1' of https://github.com/aaronpowell/Umbraco-CMS into aaronpowell-patch-1 2014-04-28 12:39:20 +10:00
Shandem 475e6970f9 Merge pull request #356 from mattbrailsford/7.1.2-rtetinymcecheck
Added check to rte controller so as not to reload tinymce script
2014-04-28 12:32:15 +10:00
Shandem 32c8a83449 Merge pull request #360 from Jwheuvel/7.1.2
Update web.config with .woff mime support
2014-04-28 12:28:31 +10:00
Shandem 33ee2a4e48 Merge pull request #362 from Jeavon/U4-4767
Fixes U4 4767 and adds 2 Tests
2014-04-28 12:26:36 +10:00
Shannon b420941ff4 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
Conflicts:
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
2014-04-28 12:26:21 +10:00
Shannon 033fd1b7ff Fixes: U4-4765 backoffice user section does not save password changes in v6.2 2014-04-28 12:24:39 +10:00
Jeavon Leopold 5f0b09544a Added Test for getting a crop on a Upload property type instead of a Cropper 2014-04-27 22:17:24 +01:00
Jeavon Leopold 7aa618cbfb Fixes U4-4767 and adds a Test for it 2014-04-27 22:06:48 +01:00
Jwheuvel 44fbc29541 Update web.config with .woff mime support
Bootstrap icons aren't visible on Windows Phone because it uses the .woff variant but the mimetype isn't available. Updated the web.config and added .woff to the staticContent section of system.webServer.
2014-04-24 20:34:57 +02:00
Sebastiaan Janssen e3162d223d Tiny update 2014-04-24 17:37:15 +02:00
Sebastiaan Janssen 6e53e19e60 Adding an Allbinaries NuSpec for use on UaaS 2014-04-24 14:03:28 +02:00
Shannon d9ac529e7e Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
Conflicts:
	src/Umbraco.Core/Models/PropertyType.cs
	src/Umbraco.Web.UI/umbraco_client/GenericProperty/genericProperty.js
	src/Umbraco.Web/WebServices/CoreStringsController.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/create/nodetypeTasks.cs
	src/umbraco.providers/members/UmbracoMembershipProvider.cs
2014-04-24 16:33:04 +10:00
Shannon 2621b25fd3 Ensures that member saving events don't get raised for normal member operations like validating and getting a user and flagging them as online. This fixes: U4-3451 Cache on Partial View refreshed, after member execute login 2014-04-24 16:28:37 +10:00
Shannon 61055380c5 Ensures that member saving events don't get raised for normal member operations like validating and getting a user and flagging them as online. This fixes: U4-3451 Cache on Partial View refreshed, after member execute login 2014-04-24 16:26:21 +10:00
Shannon adf09d925f adds a comment 2014-04-24 14:51:41 +10:00
Shannon 12170fd787 fixes ysod overlay for ajax errors 2014-04-24 14:23:17 +10:00
Shannon c32cae16db Fixes: U4-4696 Macro personalized cache with custom membership provider not working - for any membership provider regardless of provider user key type 2014-04-24 12:14:06 +10:00
Shannon 437d1b759b fix for: U4-4696. Macro personalized cache with custom membership provider not working 2014-04-24 12:13:50 +10:00
Shannon e10e04aabf Fixes: U4-4696 Macro personalized cache with custom membership provider not working - for any membership provider regardless of provider user key type 2014-04-24 12:12:06 +10:00
Shannon 2c1807bb37 Merge branch '7.1.2' of https://github.com/umbraco/Umbraco-CMS into 7.1.2 2014-04-24 11:58:31 +10:00
Shannon c6e3340be1 Updates an error msg for media resource, performs a null check 2014-04-24 11:58:18 +10:00
Shandem 3bac4877eb Merge pull request #353 from eerrecart/fix-U4-4696
fix for: U4-4696. Macro personalized cache with custom membership provider not working
2014-04-24 11:54:54 +10:00
Stephan f46811ff67 U4-3027 - fix content & property types alias casing 2014-04-24 00:18:24 +02:00
Stephan ee210ae5d8 U4-3027 - fix content & property types alias casing 2014-04-24 00:17:21 +02:00
Stephan 6d50b46bd8 U4-4747,3027... - bugfix content type editor / aliases 2014-04-23 19:28:04 +02:00
Stephan 0810e90478 U4-4747,3027... - bugfix content type editor / aliases 2014-04-23 19:26:48 +02:00
Shannon e8989de82e Merge remote-tracking branch 'origin/6.2.0' into 7.1.2 2014-04-23 22:29:54 +10:00
Shannon a51bf232ec Fixes issue with data type pre-values and using PreValueAsArray when they are dictionary formatted. 2014-04-23 22:24:16 +10:00
Shannon cefc319bfb Fixes issue with data type pre-values and using PreValueAsArray when they are dictionary formatted. 2014-04-23 22:15:33 +10:00
Shannon b60ee9944d fix merge issues 2014-04-23 20:54:31 +10:00
Shannon 0d8ffc0e67 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
Conflicts:
	src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs
	src/Umbraco.Core/Services/ContentService.cs
	src/Umbraco.Core/Services/ServiceContext.cs
	src/Umbraco.Tests/MockTests.cs
	src/Umbraco.Web/Cache/DistributedCacheExtensions.cs
	src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs
2014-04-23 20:45:02 +10:00
Shannon fd19411e65 Fixes: U4-4743 Add IMemberService and IUserService to ServiceContext ctor 2014-04-23 20:41:03 +10:00
Shannon 7ac7bb9714 Fixes: U4-4746 Examine does not index updated paths/levels for moved/trashed media, U4-4744 Examine events do not listen for recycle bin emptying 2014-04-23 20:28:09 +10:00
Shandem 95cd32ad8c Merge pull request #359 from Jeavon/7.1.2-ImageCropper
Adding support for Image Crop Ratio Dimension Support & UpScale to GetCropUrl & More Tests
2014-04-23 20:20:09 +10:00
Shannon 021cac9ca5 Fixes: U4-4746 Examine does not index updated paths/levels for moved/trashed media, U4-4744 Examine events do not listen for recycle bin emptying 2014-04-23 20:19:36 +10:00
Stephan aaa56002a9 Merge remote-tracking branch 'origin/7.1.2' into 7.1.2 2014-04-23 11:23:39 +02:00
Stephan c00c59af1d U4-4676 - fix property alias corruption issue 2014-04-23 11:22:47 +02:00
Sebastiaan Janssen 56d949ab9d Correcting some more paths, come on, work! 2014-04-23 11:22:45 +02:00
Sebastiaan Janssen 65ecff4248 D'oh, automated builds make obj folders, not bin folders 2014-04-23 10:57:21 +02:00
Sebastiaan Janssen 9c82e8bc8c Build needs to be in debug mode to get all the pdb files 2014-04-23 10:42:38 +02:00
Sebastiaan Janssen 421162d809 Bump version + Attempt at U4-4742 Publish debugging symbols for NuGet package 2014-04-23 10:11:36 +02:00
Shannon 360c324511 updates examine events for media to update media if it is moved to recycle bin 2014-04-23 16:11:12 +10:00
Shannon 949447c25f Fixes examine lookup for children to ignore recycled media 2014-04-23 13:40:11 +10:00
Shannon 99d7bf91b7 Fixes null check in recycle bin repo
Conflicts:
	src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs
2014-04-23 13:39:34 +10:00
Shannon cc3a6f8c7a Fixes examine lookup for children to ignore recycled media 2014-04-23 13:34:57 +10:00
Shannon 9bbe8e7a93 Fixes null check in recycle bin repo 2014-04-23 13:34:25 +10:00
Shannon 508a40cd50 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
Conflicts:
	src/Umbraco.Web/Controllers/UmbRegisterController.cs
	src/Umbraco.Web/Models/RegisterModel.cs
2014-04-23 12:00:32 +10:00
Shannon a92c232178 Fixes: U4-4653 MembershipHelper RegisterMember does not set password and ignores logMemberIn, adds a new flag to the model as to whether or not to have the cookie set as a persistent cookie (default is true) 2014-04-22 19:03:43 +10:00
Shannon 30901446e1 Fixes: U4-1853 Tinymce with the format dropdown added as soon as you interact with it the content tree stops working [Uncaught TypeError: Cannot set property 'href' of undefined (anonymous function) DependencyHandler.axd:57] Chrome Only.. 2014-04-22 18:17:28 +10:00
Stephan e42149e8d9 Detached PublishedProperty remains internal for now 2014-04-22 10:13:39 +02:00
Shannon a4949a1132 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2 2014-04-22 17:49:01 +10:00
Shannon 0725d95941 fixes merge 2014-04-22 17:48:36 +10:00
Shannon d772336c0f Fixes: U4-4695 Copy document type to new parent seems to lose some data, U4-4535 Create Copy method on the content type Service 2014-04-22 17:48:08 +10:00
Shannon 4f8485e7d9 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2 2014-04-22 14:00:28 +10:00
Shannon f673cb024a Adds unit test for ensuring reset identities on cloning a content type 2014-04-22 14:00:03 +10:00
Shannon c4046ecb32 Fixes 'Clone' methods to ensure a Deep clone is used 2014-04-22 13:48:51 +10:00
Shannon b978582675 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
Conflicts:
	src/Umbraco.Web/Mvc/RenderViewEngine.cs
2014-04-22 13:05:30 +10:00
Shannon 7823609500 Fixes: U4-4682 Get EditorTemplates and DisplayTemplates working with RenderViewEngine 2014-04-22 13:03:47 +10:00
Shannon 069ae9930a Fixes: U4-3425 App_Code XSLT Extensions aren't recognized 2014-04-22 12:20:35 +10:00
Shannon 509d3f2647 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
Conflicts:
	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
2014-04-22 12:01:59 +10:00
Shannon a88cb3f724 Fixes: U4-3425 App_Code XSLT Extensions aren't recognized 2014-04-22 11:59:21 +10:00
Sebastiaan Janssen 2881118a02 Fixes U4-4026 Inline styling on container affect header text - properly 2014-04-21 16:37:20 +02:00
Sebastiaan Janssen 464cfb34f2 Merge pull request #358 from nabbed/patch-1
Update README.md
2014-04-21 13:25:03 +02:00
Sebastiaan Janssen 7a04881428 Fixes U4-4728 Public Access Error Page Choose link not selectable 2014-04-21 11:42:53 +02:00
Ben Norman 8556cf5702 Update README.md 2014-04-21 19:32:36 +10:00
Sebastiaan Janssen 1c0038ead3 Fixes U4-4726 Image Cropper Listed Dimensions Inversed From Settings 2014-04-21 10:58:15 +02:00
Jeavon Leopold ef787fc769 Adding upScale parameter to GetCropUrl 2014-04-21 09:45:05 +01:00
Jeavon Leopold ec04469b16 If only one dimension specified with Ratio mode then assume a square 2014-04-21 09:27:53 +01:00
Jeavon Leopold 80db81a7c5 Adding GetCropUrl ratio mode tests 2014-04-21 08:53:40 +01:00
Jeavon Leopold 7787c51156 Creating the internal GetBaseCropUrl method and moving the logic from the Model GetCropUrl method to ImageCropperBaseExtensions so that it can be used by both the Model method and the template extensions
Also added some new tests
2014-04-21 08:38:53 +01:00
Stephan 1a02e6be97 Detached PublishedProperty 2014-04-19 18:39:11 +02:00
Stephan 536b8ee921 U4-3425 - TypeHelper referenced assemblies issue 2014-04-19 17:44:52 +02:00
Stephan 12acdd8122 U4-3425 - TypeHelper referenced assemblies issue 2014-04-19 16:48:08 +02:00
Stephan 3bf1041041 U4-3787 - Ensure we republish published descendants when republishing 2014-04-19 14:31:36 +02:00
Stephan cd459e8b7d Merge remote-tracking branch 'origin/7.1.2' into 7.1.2 2014-04-19 14:21:24 +02:00
Stephan 7ae522b511 U4-3787 - Ensure we republish published descendants when republishing 2014-04-19 14:20:26 +02:00
Jeavon Leopold 1cf20597a4 Getting Ratio mode to work with Crop dimensions and also moving cache buster to always being the last variable 2014-04-19 11:04:32 +01:00
Jeavon Leopold e8d41a1b5e Adding Ratio Mode parameter to GetCropUrl helper 2014-04-18 22:04:23 +01:00
Jeavon Leopold 9a14a29a53 Updating ImageProcessor to v1.8.8 and ImageProcessor.Web to v3.2.2 2014-04-18 20:39:38 +01:00
mattbrailsford d66998a3e3 A better test (checks to see if it's even defined) 2014-04-18 15:52:26 +01:00
mattbrailsford fe4da60b15 Added check to rte controller so as not to reload tinymce script if it's already loaded (we don't check the CSS, but I figure this is ok) [This is temp bandaid for #U4-4724] 2014-04-18 15:43:36 +01:00
Shannon 52186f5cb2 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
Conflicts:
	src/Umbraco.Core/Models/Member.cs
2014-04-17 20:08:07 +10:00
Shannon b13251778e Fixes: U4-4713 Provider Name not set when using Custom Connection String from the Installer 2014-04-17 20:05:55 +10:00
Shannon 51309e62ec Fixes: U4-4714 Sql Azure no longer a database option in 7.1 2014-04-17 19:55:17 +10:00
Shannon fee23fac0a updates deep clone to have the false flag for resetting properties (we don't want to remember them when cloning)
Conflicts:
	src/Umbraco.Core/Models/Member.cs
2014-04-17 18:54:55 +10:00
Shannon 15f4de4ed0 fixes build issues 2014-04-17 18:52:07 +10:00
Shannon 8c303893d2 updates deep clone to have the false flag for resetting properties (we don't want to remember them when cloning) 2014-04-17 18:46:37 +10:00
Shannon 7d556a0318 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
Conflicts:
	src/Umbraco.Core/Cache/CacheProviderExtensions.cs
	src/Umbraco.Core/Cache/DictionaryCacheProviderBase.cs
	src/Umbraco.Core/Cache/ICacheProvider.cs
	src/Umbraco.Core/Cache/ObjectCacheRuntimeCacheProvider.cs
	src/Umbraco.Core/Models/Member.cs
	src/Umbraco.Core/Models/PreValue.cs
	src/Umbraco.Core/Models/PropertyType.cs
	src/Umbraco.Core/Services/DataTypeService.cs
	src/Umbraco.Tests/Models/Collections/PropertyCollectionTests.cs
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/Umbraco.Web/Models/PublishedProperty.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/webservices/MediaUploader.ashx.cs
2014-04-17 18:10:42 +10:00
Shannon cf6775ec31 moves an internal class 2014-04-17 18:05:12 +10:00
Shannon 1a13366cc9 Working on U4-4701 Fixup DataTypeService and repository with cache - the deletion logic all now happens in the transaction before it was done quite poorly for updating content types :( 2014-04-17 18:03:34 +10:00
Shannon 595b039ebe Working on U4-4701 Fixup DataTypeService and repository with cache, pre-values are now persisted properly using units of work with it's own mini internal repo. 2014-04-17 17:41:08 +10:00
Shannon e6406e9757 Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0 2014-04-17 14:23:52 +10:00
Shannon bf65bf5bab Got pre-values caching properly and data types using the runtime cache provider correctly + unit tests. 2014-04-17 14:23:37 +10:00
Stephan a39a659858 Bugfix published content extension .Next() 2014-04-16 19:10:50 +02:00
Stephan 306d83cbd6 Bugfix published content extension .Next() 2014-04-16 19:04:49 +02:00
Stephan a4eedb9f8b U4-4575 - refactor 2014-04-16 18:51:12 +02:00
Stephan 1da901be96 U4-4575 - refactor prop. conversion logic 2014-04-16 18:25:41 +02:00
Shannon d953966248 Completes: U4-4670 Add .ContainsAny string extension to Umbraco.Core.StringExtensions 2014-04-16 17:01:26 +10:00
Shannon 2f679a52f4 fix build 2014-04-16 16:52:45 +10:00
Shannon ad8ab9f46e Fixes media uploader issue to ensure non-approved file types are not saved 2014-04-16 16:48:52 +10:00
Shannon 9b344a5a69 Added tests for member groups and member cloning. Added tests to verify that all entities can be serialized without issue. 2014-04-16 16:44:08 +10:00
Shannon 0a28bdafc2 Merge remote-tracking branch 'origin/6.2.0' into 6.2-cachefixing 2014-04-16 15:54:37 +10:00
Shannon a3a0f1a0bf adds some logging 2014-04-16 15:38:16 +10:00
Shannon f69527eac1 Fixes media uploader issue to ensure non-approved file types are not saved 2014-04-16 15:38:01 +10:00
Shannon 7aa1f480c9 Fixes up some cloning with value types and collections 2014-04-16 15:33:21 +10:00
Shannon 998f031877 Merge branch '6.2.0' into 6.2-cachefixing 2014-04-16 14:01:38 +10:00
Shannon ac7cb8febe Fixes cache providers to ensure it stores and resolves clones 2014-04-16 14:01:26 +10:00
Shannon 6e166bdba7 publicizes DeepCloneHelper 2014-04-16 13:40:20 +10:00
Shannon 1f2e46a195 Simplifies much of the deep cloning with the DeepCloneHelper and adds tests 2014-04-16 13:39:42 +10:00
Shannon bb22f5a283 More code and tests written for deep cloning. 2014-04-16 11:23:00 +10:00
Jackie Nagel 4890e97168 Added removal of isMedia whenever a contentnode is selected 2014-04-15 19:59:31 +02:00
Jackie Nagel e4f63c0576 Now inserting mediaId in the link picker and setting the isMedia flag so that you can get mediaId's from the linkPicker dialogservice 2014-04-15 18:07:40 +02:00
Shannon dcac5d4709 More code and tests written for deep cloning. 2014-04-15 20:31:32 +10:00
Shannon 0e4e12d0ba More code and tests written for deep cloning. 2014-04-15 19:12:42 +10:00
Shannon 9118701669 More test written for deep cloning. 2014-04-15 14:53:19 +10:00
Shannon 58758e7a41 More work on deep cloning, have test passing for IContent 2014-04-15 13:52:49 +10:00
curiosoelbicho 1eaf02b221 fix for: U4-4696. Macro personalized cache with custom membership provider not working 2014-04-14 21:39:31 -03:00
Shannon 5697809ce9 Merge branch '7.1.2' of https://github.com/umbraco/Umbraco-CMS into 7.1.2 2014-04-14 18:33:04 +10:00
Shannon 4f5cae55c2 Fixes: U4-4654 7.1.1 InsertMacroController unescapes objects to string 2014-04-14 18:32:28 +10:00
Sebastiaan Janssen e5b4769109 Remove test code 2014-04-14 09:27:25 +02:00
Shannon 5990a95d13 Fixes: U4-4610 Unmapped members in Automapper 2014-04-14 15:20:02 +10:00
AndyButland 309e460f07 Merge from 7.1.1 2014-04-13 22:52:41 +02:00
per ploug e3c4ed5bf7 Changes grunt to accept a buildversion param
use grunt build --buildversion=7.1.2 to set it in all client files
2014-04-10 14:25:26 +02:00
Sebastiaan Janssen 02a4c2f4fc Update for WebPI 2014-04-09 09:35:02 +02:00
Sebastiaan Janssen b60aa3031c Post.cshtml shouldn't be there 2014-04-08 12:03:55 +02:00
Sebastiaan Janssen 2a0e3d803f Merge branch '7.1.1' of https://github.com/umbraco/Umbraco-CMS into 7.1.1 2014-04-08 11:37:50 +02:00
Sebastiaan Janssen 670a67225a Upgrade to Json.Net 6.0.2 2014-04-08 11:37:40 +02:00
perploug 0bedf09f48 Fixes: U4-4609 v7.1 Media Picker datatype only allows selection of images not PDFs 2014-04-08 11:34:42 +02:00
perploug 41ad18deef Removes autocomplete from installer password field 2014-04-08 11:07:23 +02:00
perploug 4745be4765 Fixes missing listview icons 2014-04-08 11:07:02 +02:00
Andrew Swerlick 6fae57c5e9 Fix for U4-4636. Changed to pass in the defined fileAddition names for preset sizes and pass in an empty string for additional file sizes 2014-04-08 01:10:06 -04:00
perploug 13891bb033 Merge branch '7.1.1' of https://github.com/umbraco/Umbraco-CMS into 7.1.1 2014-04-07 16:08:45 +02:00
perploug a2efd7ab53 Fixes: U4-4619 Make sure installer pings stats 2014-04-07 16:08:34 +02:00
Sebastiaan Janssen 3c204da150 Spelling error 2014-04-07 16:05:21 +02:00
Sebastiaan Janssen ab7371e146 Bump version number 2014-04-07 14:29:59 +02:00
Sebastiaan Janssen 0f5c79afbc Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.1 2014-04-07 13:02:56 +02:00
Sebastiaan Janssen 4a516f7da9 Manually applying PR #347 2014-04-07 13:01:43 +02:00
Sebastiaan Janssen fcb080658d Reverting 221bfa5f3d so that views are found in partials again
Tested creating/editing members with custom properties in combination with our snippets and
that seems to work fine now, so not sure what this was supposed to fix.
Fixes U4-4604 Surface Controller functionality changed in 7.1 breaking site
2014-04-07 12:16:45 +02:00
Aaron Powell f45edbe2fe U4-4629 - Detecting existing macros
By setting the ID of the macro the repository layer will update the existing instance rather than trying to create a new one, which would result in a duplicate alias and that violates a table index.
2014-04-07 18:10:09 +10:00
perploug 08d74e3320 Tiny tweak more 2014-04-03 14:01:25 +02:00
perploug 98fd75b55d Updating user screen on the installer 2014-04-03 13:52:18 +02:00
perploug e7da70e076 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-04-03 11:52:01 +02:00
perploug 200cec0e23 Hardcodes starterkit guid into the installer
This way we can change it remotely to another package instead of relying
on just getting the first guid in the collection of kits
2014-04-03 11:51:51 +02:00
perploug 807778a737 Fixes: U4-4592 U7.1 - You can trigger a lot "Unsaved changes" bars 2014-04-03 11:50:50 +02:00
Sebastiaan Janssen 66d61c9d20 One more ImageProcessor update 2014-04-03 11:29:13 +02:00
Sebastiaan Janssen ecae5a856a Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0
Conflicts:
	src/Umbraco.Core/Services/IRelationService.cs
	src/Umbraco.Web/Models/PublishedProperty.cs
	src/Umbraco.Web/PublishedCache/MemberPublishedContent.cs
2014-04-03 11:13:13 +02:00
Sebastiaan Janssen bf8add4f8d Manually picked up PR #343 2014-04-03 11:10:43 +02:00
perploug 256fa3385a Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-04-03 09:31:47 +02:00
perploug ebaa46b2fc Fixes: U4-4212 Insert Image in RTE not resizing image 2014-04-03 09:31:32 +02:00
Sebastiaan Janssen e207185d51 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-04-03 09:30:12 +02:00
Sebastiaan Janssen 5efc45a7dd Bump version number 2014-04-03 09:29:52 +02:00
Sebastiaan Janssen c3fc27565d Update version of ImageProcessor and refer to NuGet in the csproj instead of the bin (!) 2014-04-03 09:26:51 +02:00
Sebastiaan Janssen 0af3f9dce0 Fixes U4-4278 Multiple RadioButtonList on one Document
Manually applying pull request as it's a bit faster to copy&paste instead of resolve merge conflicts
2014-04-03 08:55:19 +02:00
perploug 426b02b08a Sets zoom throttle to 100 instead of 300
To limit the number of re-calculations, but still keep it somewhat
fluent
2014-04-03 00:41:27 +02:00
perploug a4e23ef82b Missing files in last commit 2014-04-03 00:40:36 +02:00
perploug d0c6c4aafa Fixes: U4-4332 MediaPicker - Typealias is hardcode several places 2014-04-03 00:37:59 +02:00
perploug 3ea7e6fb8a Partially fixes: U4-4479 Cropper preview in backoffice is a bit off from the actual crop
Makes the cropper card UI reset on save, ensuring changes populate
2014-04-02 23:04:37 +02:00
Stephan 9940b78a57 U4-4575 - fix 8371105 2014-04-02 17:00:24 +02:00
Stephan 8371105c10 U4-4575 - property converters use wrong source value 2014-04-02 16:00:46 +02:00
perploug d4b0f3c570 Resizing safeguards to ensure we only return positive 2014-04-02 14:21:40 +02:00
perploug 29416320d2 Fixes failing macrospec tests
doooh, it referenced marcoParamsDictionary - instead of
macroParamsDictionary - whats up with that Marco guy?
2014-04-02 13:43:03 +02:00
perploug d11eb485e1 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-04-02 13:19:41 +02:00
perploug 300bd3bed4 Fixes: U4-4558 U7 Macro Parameter Editors needs some love!
Adds some config to the media picker and fixes thumbnail issues
2014-04-02 13:19:26 +02:00
Sebastiaan Janssen 3ca5443350 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-04-02 12:02:29 +02:00
Sebastiaan Janssen f6d56f51d4 Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0
Conflicts:
	src/Umbraco.Core/Services/IRelationService.cs
	src/Umbraco.Web/Controllers/UmbRegisterController.cs
2014-04-02 12:01:55 +02:00
Sebastiaan Janssen 53c0bd6938 Fixes: Password is not saved when using the Register snippet 2014-04-02 11:59:16 +02:00
perploug 174aa9f4ad Fixes: U4-4581 Hotkey - Click on disabled element 2014-04-02 11:51:56 +02:00
Sebastiaan Janssen a768fe5bb3 Ports behaviour from membershiphelper from v7 to 6 to make them the same 2014-04-02 11:42:48 +02:00
Sebastiaan Janssen d9c66cd4b3 Adds AddRelation and missing events in RelationService from v7 into v6 2014-04-02 11:41:59 +02:00
Stephan 6d3e8e1f6d U4-4559 - tests 2014-04-02 11:40:05 +02:00
Stephan b6185b847f U4-4575 - property converters use wrong source value 2014-04-02 11:39:53 +02:00
perploug c8877d0a2c Fixes failing dropdown prop editor tests 2014-04-02 11:35:23 +02:00
perploug 891810b045 Adds newsletter to installer
With the good ol' V6 installer code, ahhh the smell of code patina
2014-04-02 11:20:35 +02:00
Sebastiaan Janssen 77d910b6b6 We don't really need to scream greetings to people who try to use the member picker 2014-04-01 19:14:42 +02:00
Sebastiaan Janssen 47044b3a77 Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-04-01 16:46:43 +02:00
Sebastiaan Janssen 5b693f9310 Adds ability to add/remove a single role to/from a single member, which is much nicer than having to instantiate arrays 2014-04-01 16:43:11 +02:00
Sebastiaan Janssen 40ebc1295c Fixes error thrown when saving password and actually using the Umbraco membership provider 2014-04-01 15:30:42 +02:00
Sebastiaan Janssen b769b224c2 Fixes error thrown when saving password and actually using the Umbraco membership provider 2014-04-01 15:29:16 +02:00
Sebastiaan Janssen 89efe40f41 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-04-01 14:27:47 +02:00
Sebastiaan Janssen 51660d918c Assembly redirect seems to help a lot installing NuGet pkg, should finally be able to close U4-4510 nuget targets file creates an invalid path in the property group 2014-04-01 14:22:13 +02:00
Sebastiaan Janssen ea7b053106 Merge pull request #340 from leekelleher/U4-4550
Fixes: U4-4550 Media Picker preview with transparent images
2014-04-01 13:06:58 +02:00
Sebastiaan Janssen 3e17201ce7 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-04-01 11:59:26 +02:00
Sebastiaan Janssen 1f03983628 Clean up belle/build folder when building with build.bat to make sure it's pristine 2014-04-01 11:54:25 +02:00
Sebastiaan Janssen 15aa6fc4b8 Fixed U4-4576 7.0.4 : InternalMemberSearcher config incorrectly uses 'enableLeadingWildcards', should be 'enableLeadingWildcard' 2014-04-01 11:53:56 +02:00
Sebastiaan Janssen 41e8a9ef2d Fixed U4-4576 7.0.4 : InternalMemberSearcher config incorrectly uses 'enableLeadingWildcards', should be 'enableLeadingWildcard' 2014-04-01 11:51:51 +02:00
perploug a492976a32 Fixes: U4-4557 Color Picker - default is black, but it can't be added without choosing another color first
Sets color to be black by default, so will be added if you click add
without setting anything, so its consistent with the default swatch
2014-04-01 10:08:50 +02:00
perploug 88e09f9077 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-04-01 10:02:23 +02:00
perploug 65a1709bd3 Fixes: U4-4537 Macro Textbox parameter in RTE Encoding issue 2014-04-01 10:02:10 +02:00
Sebastiaan Janssen 6478a8424a Fixes test, additional Tag mapper requires count to be updated 2014-04-01 09:11:07 +02:00
leekelleher 55ade4e491 Replaced solid/semi-transparent background, with a checkered background image. 2014-03-31 22:45:35 +01:00
Stephan a767aa9f3a Merge pull request #342 from kipusoep/7.1.0
Changed $('#form1') usage to $('form')
2014-03-31 18:19:29 +02:00
Sebastiaan Janssen 50321e5936 Merge pull request #336 from bjarnef/7.1.0_-_U4-4026
Fix for U4-4026 Inline styling affect header text
2014-03-31 17:32:50 +02:00
perploug 1321702d19 Fixes: U4-3649 Bottom button bar gradient overlaps last field
Temp fix, as we will likely refactor or editor directives before
building more core editors
2014-03-31 13:24:30 +02:00
perploug 005ff2f830 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-31 13:17:27 +02:00
perploug dff3fde840 Fixes: U4-4553 7.1 Template drop down has values but is blank
patches the it on the clientside for now, longerterm solution is to have
templates being returned as prevalues, but will leave that to shannon as
there could be other things accidentally being poked doing that.
2014-03-31 13:17:15 +02:00
Sebastiaan Janssen 44504ff6af Fixes summary for the TagMapper 2014-03-31 12:59:28 +02:00
Sebastiaan Janssen 25d3389759 Merge pull request #341 from robertjf/7.1.0
Fixes #U4-4544 Issue: TagService.GetAllTags(group) throws Exception in MappingResolver
2014-03-31 12:57:51 +02:00
Robert Foster 3f97c74712 removed commented out code 2014-03-31 22:00:54 +11:00
perploug 1152b61fb0 7.1 login greetings update 2014-03-31 12:43:05 +02:00
perploug b1842de045 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-31 12:37:26 +02:00
perploug 750a2862ee Fixes: U4-4562 Images and markdown editor 2014-03-31 12:37:08 +02:00
perploug 7632075df4 Fixes: U4-4536 Tree points to wrong views after install 2014-03-31 12:29:44 +02:00
perploug aa75cd4ea8 Fixes: U4-4549 Related Links "New Window" checkbox has css "display: none" 2014-03-31 12:28:56 +02:00
Sebastiaan Janssen 06827bd7a5 Merge pull request #338 from vnbaaij/7.1.0
Solution for  U4-4548
2014-03-31 11:57:13 +02:00
Stefan Kip 9a82ab7d4a Changed $('#form1') usage to $('form')
I'm having an issue with v6.1.6 where the form's id is 'aspnetForm' instead of 'form1', I don't know why.
Using $('form') is much safer than using $('#form1').
2014-03-31 09:56:16 +02:00
Robert Foster b1037d1936 Added a TagMapper class to resolve ITag back to TagDto. 2014-03-30 19:07:35 +11:00
leekelleher ccdc3a1eab Fixes: U4-4550 Media Picker preview with transparent images 2014-03-28 16:59:34 +00:00
leekelleher 655d629621 Rebased web.Template.config - reapplied the whitespace fixes. 2014-03-28 16:31:03 +00:00
leekelleher c8e0fedce4 Made the whitespace consistent in config files.
This may ease the frustration of web-developers doing upgrades.
2014-03-28 16:25:01 +00:00
Vincent Baaij a47387fec0 Solution for U4-4548 2014-03-28 16:03:51 +01:00
perploug c29d08c915 Fixes: U4-4489 7.1 RC, warn about changes partially overlays breadcrumb 2014-03-28 11:00:29 +01:00
perploug b8f796eb2c Fixes: U4-4532 Unable to insert Image in TinyMCE when Image property 'umbracoFile' is changed from type 'Upload' to the new 'Image Cropper' 2014-03-28 10:39:24 +01:00
Shannon b9088c9ac0 fixes build 2014-03-28 08:51:25 +11:00
Shannon 7a8f8ac0fe Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-03-28 08:31:52 +11:00
Shannon 49cf0f98ce U4-1752 - Add GetPreValueAsString(id) method to the @Umbraco helper 2014-03-28 08:31:21 +11:00
Shandem 22ffa86e18 Merge pull request #301 from Jeavon/U4-1752
U4-1752 - Add GetPreValueAsString(id) method to the @Umbraco helper
2014-03-28 08:21:32 +11:00
perploug c4e2d98138 U4-4532 Unable to insert Image in TinyMCE when Image property 'umbracoFile' is changed from type 'Upload' to the new 'Image Cropper'
Replaces the old media api with the resolveFile helper methods
2014-03-27 02:46:32 -07:00
Shannon c01211c62d Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/moveOrCopy.aspx.cs
2014-03-27 17:28:46 +11:00
Shannon d8a3e00440 Fixes: U4-2843 Copying Document Type when Selecting Master Doesn't Work (Master ignored), U4-3552 Copy nested document type is failing 2014-03-27 17:26:55 +11:00
Shannon 264c537b50 Fixes: U4-4530 Edit Profile Snippet: Check for null before loop 2014-03-27 16:52:43 +11:00
Shannon f26c61d736 renames file 2014-03-27 16:43:34 +11:00
Shannon 43f647fd94 Fixes U4-4531 dialogService.macroPicker callback wrong property name 2014-03-27 16:43:20 +11:00
Shannon cc0bcc2d59 Fixes unit tests 2014-03-27 16:27:57 +11:00
Shannon 1b23540b87 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web/Cache/DistributedCache.cs
2014-03-27 16:12:37 +11:00
Shannon c309e18f13 Fixes: U4-459 Public Access permissions not set on distributed servers 2014-03-27 16:11:34 +11:00
Shannon dec60885b4 Fixes more thread safety issues with Access.cs 2014-03-27 15:50:56 +11:00
Shannon eee09ec45b Completes: U4-459 Public Access permissions not set on distributed servers 2014-03-27 14:43:07 +11:00
Shannon b4daab2856 started fixing: U4-459 Public Access permissions not set on distributed servers but have commented that code out for now because it will cause problem in some LB scenarios. 2014-03-27 14:28:45 +11:00
Shannon fdfbad254d Fixes some very badly handled threading issues with the Access (public access) class 2014-03-27 14:28:12 +11:00
bjarnef 0c6e766030 Fix for U4-4026 Inline styling affect header text
Inline styling on container affect header text and dropdown with
text-align:center on language in settings section.
2014-03-27 02:42:21 +01:00
Shannon 7444363cef adds another null check to the other TranslateItem method 2014-03-27 08:13:05 +11:00
Shandem a82097b92b Merge pull request #334 from Jeavon/U4-4527
Fix for U4-4527 U7 - Creating initial Folder in media section causes exc...
2014-03-27 08:05:56 +11:00
Jeavon Leopold 07934161a4 Fix for U4-4527 U7 - Creating initial Folder in media section causes exception 2014-03-26 10:07:20 +00:00
Shandem 9194030a9a Merge pull request #333 from Nicholas-Westby/7.1.0
Replaced "retreive" with "retrieve".
2014-03-26 17:45:03 +11:00
Shannon 1cbaace777 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	build/Build.proj
	build/NuSpecs/UmbracoCms.Core.nuspec
	build/NuSpecs/build/UmbracoCms.targets
	build/NuSpecs/tools/install.ps1
	src/Umbraco.Web.UI/umbraco_client/Editors/EditScript.js
2014-03-26 15:06:03 +11:00
Nicholas-Westby ef5052324b Replaced "retreive" with "retrieve". 2014-03-25 20:49:52 -07:00
Nicholas-Westby 204a8d813c Replaced "retreive" with "retrieve". 2014-03-25 20:48:05 -07:00
Nicholas-Westby 8009cb3892 Replaced "retreive" with "retrieve". 2014-03-25 20:46:23 -07:00
Nicholas-Westby 284d168cd7 Replaced "retreive" with "retrieve". 2014-03-25 20:45:28 -07:00
Nicholas-Westby fdd025aefd Replaced "retreive" with "retrieve". 2014-03-25 20:44:47 -07:00
Nicholas-Westby e36d4768e1 Replaced "retreive" with "retrieve". 2014-03-25 20:44:08 -07:00
Nicholas-Westby df2047e8f8 Replaced "retreive" with "retrieve". 2014-03-25 20:43:32 -07:00
Nicholas-Westby d9280d5238 Replaced "retreive" with "retrieve". 2014-03-25 20:42:29 -07:00
Nicholas-Westby 388249f500 Replaced "retreive" with "retrieve". 2014-03-25 20:41:32 -07:00
Nicholas-Westby a08b75592e Replaced "retreive" with "retrieve". 2014-03-25 20:40:44 -07:00
Nicholas-Westby 38ea6dfbfe Replaced "retreive" with "retrieve". 2014-03-25 20:39:45 -07:00
Nicholas-Westby 39ccde221a Replaced "retreive" with "retrieve". 2014-03-25 20:38:58 -07:00
Nicholas-Westby 17b6366ea3 Replaced "retreive" with "retrieve". 2014-03-25 20:37:20 -07:00
Nicholas-Westby 3d6a608b12 Replaced "retreive" with "retrieve". 2014-03-25 20:36:46 -07:00
Nicholas-Westby 851f58df9c Replaced "retreive" with "retrieve". 2014-03-25 20:35:36 -07:00
Nicholas-Westby 0ff0cc6366 Replaced "retreive" with "retrieve". 2014-03-25 20:34:44 -07:00
Nicholas-Westby 08004ecc68 Replaced "retreive" with "retrieve". 2014-03-25 20:33:59 -07:00
Nicholas-Westby 4a2544d0e6 Replaced "retreive" with "retrieve". 2014-03-25 20:32:39 -07:00
Nicholas-Westby bace1cce74 Replaced "retreive" with "retrieve". 2014-03-25 20:31:31 -07:00
Nicholas-Westby acc88e25d8 Replaced "retreive" with "retrieve". 2014-03-25 20:30:17 -07:00
Nicholas-Westby 2a1a16d478 Replaced "retreive" with "retrieve". 2014-03-25 20:28:47 -07:00
Nicholas-Westby a5afb8ed19 Replaced "retreive" with "retrieve". 2014-03-25 20:27:57 -07:00
Nicholas-Westby d02678e05c Replaced "retreive" with "retrieve". 2014-03-25 20:26:58 -07:00
Nicholas-Westby 9e0bbd3c99 Replaced "retreive" with "retrieve". 2014-03-25 20:26:06 -07:00
Nicholas-Westby 539efcc669 Replaced "retreive" with "retrieve". 2014-03-25 20:25:24 -07:00
Nicholas-Westby d0d9d85151 Replaced "retreive" with "retrieve". 2014-03-25 20:24:27 -07:00
Nicholas-Westby ffa307613c Replaced "retreive" with "retrieve". 2014-03-25 20:23:36 -07:00
Nicholas-Westby 19ea6d6005 Replaced "retreive" with "retrieve". 2014-03-25 20:22:34 -07:00
Nicholas-Westby 155b1737d3 Replaced "retreive" with "retrieve". 2014-03-25 20:20:51 -07:00
Nicholas-Westby b66253f33e Replaced "retreive" with "retrieve". 2014-03-25 20:19:50 -07:00
Nicholas-Westby bcbadfe648 Replaced "retreive" with "retrieve". 2014-03-25 20:19:12 -07:00
Nicholas-Westby 3325b06873 Replaced "retreive" with "retrieve". 2014-03-25 20:18:30 -07:00
Nicholas-Westby 852914bf6b Replaced "retreive" with "retrieve". 2014-03-25 20:17:55 -07:00
Nicholas-Westby 3e14807370 Replaced "retreive" with "retrieve". 2014-03-25 20:17:18 -07:00
Nicholas-Westby e44cb6708d Replaced "retreive" with "retrieve". 2014-03-25 20:16:31 -07:00
Nicholas-Westby fd43b27d00 Replaced "retreive" with "retrieve". 2014-03-25 20:15:34 -07:00
Nicholas-Westby 524f113611 Replaced "retreive" with "retrieve". 2014-03-25 20:14:54 -07:00
Nicholas-Westby 04dcf50218 Replaced "retreive" with "retrieve". 2014-03-25 20:14:23 -07:00
Nicholas-Westby 2b497deaa3 Replaced "retreive" with "retrieve". 2014-03-25 20:13:30 -07:00
Nicholas-Westby dbe2f8ea37 Replaced "retreive" with "retrieve". 2014-03-25 20:12:50 -07:00
Nicholas-Westby 7dc0239ad1 Replaced "retreive" with "retrieve". 2014-03-25 20:11:46 -07:00
Nicholas-Westby 72fdc5f472 Replaced "retreive" with "retrieve". 2014-03-25 20:10:34 -07:00
Shannon cde3c42cec Fixes: U4-4455 Javascript error with single quotes in literals
Conflicts:
	src/Umbraco.Web.UI/umbraco_client/Editors/EditScript.js
2014-03-26 13:34:26 +11:00
Shannon 10b544abb9 Fixes: U4-4455 Javascript error with single quotes in literals 2014-03-26 13:31:15 +11:00
Shannon 88aecdf672 fixes U4-4517 Color picker not showing colors 2014-03-26 13:07:07 +11:00
Shannon ad95736eaa Fixes issues relating to adding ability to sort pre-values, had to update all property editors that use the shared sortable pre-values, ensure the list items are an array and then sorted. 2014-03-26 13:01:53 +11:00
Shannon 34a21a78a0 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-26 11:23:58 +11:00
Shannon 1e01c2669f fixes missing semi-colon 2014-03-26 11:23:48 +11:00
Shandem d3a7389b89 Fixes file name casing 2014-03-26 11:21:31 +11:00
Shandem bc8b6c4bea Fixes file name casing 2014-03-26 11:21:08 +11:00
Shandem 3953a48a3b Merge pull request #332 from arknu/7.1_U4-3744
U4-3744: Make it possible to make individual selections while still selecting the entire text on first click
2014-03-26 11:08:50 +11:00
Shannon 2f44e94bd0 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-26 11:00:46 +11:00
Shannon 5eeb8d7df6 Fixes: U4-4520 Issue: MultipleTextStringValueConverter returns an empty string array due to mismatched XML value format 2014-03-26 11:00:32 +11:00
arknu 231f23cc6e Cleaned up the code a bit 2014-03-25 22:26:05 +01:00
Sebastiaan Janssen 3235678d29 U4-4510 nuget targets file creates an invalid path in the property group
That should fix this one properly now
2014-03-25 20:40:44 +01:00
Sebastiaan Janssen f13ddddc16 U4-4510 nuget targets file creates an invalid path in the property group
That should fix this one properly now
2014-03-25 20:39:46 +01:00
arknu 490c346fcf U4-3744: Make it possible to make individual selections while still selecting the entire text on first click 2014-03-25 19:34:19 +01:00
Shannon 8f1d8419a0 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	build/NuSpecs/build/net40/UmbracoCms.targets
	build/NuSpecs/build/net45/UmbracoCms.targets
	build/NuSpecs/build/net451/UmbracoCms.targets
	src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
2014-03-25 15:47:57 +11:00
Shannon be8320bb4b fixes some compatibility issues with PR for sortable pre-vals 2014-03-25 14:14:09 +11:00
Shannon 1d4b6178e5 Merge branch 'wip-u4-3951' of https://github.com/AndyButland/Umbraco-CMS into AndyButland-wip-u4-3951
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/prevalueeditors/multivalues.html
2014-03-25 13:31:21 +11:00
Shannon 3427f596e3 fixes up a few notes. 2014-03-25 13:07:16 +11:00
Shannon c31ea7409f Merge branch 'fix-u4-3839' of https://github.com/lars-erik/Umbraco-CMS into lars-erik-fix-u4-3839 2014-03-25 12:47:26 +11:00
Shannon f88e60bcb5 Fixes: U4-3481 Adding Scripting Files and Partial View Macro File with the same name and 'create macro' selected fails. 2014-03-25 12:16:27 +11:00
Shannon c81919e269 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-25 11:45:57 +11:00
Shannon c936aaa517 Fixes: U4-3845 v7.0.0 keepUserLoggedIn issue 2014-03-25 11:45:38 +11:00
Shandem b8f88e0459 Merge pull request #330 from Jeavon/7.1.0-ImageCropper-JeavonWIP
7.1.0 image cropper - removal of lots of duplicated code, fixes for various param options and some further unit tests
2014-03-25 10:47:09 +11:00
Shannon 1628ac917c Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-25 10:45:14 +11:00
Shannon ab586a49ce Fixes: U4-4508 Save causes content to vanish in IE 2014-03-25 10:44:55 +11:00
Jeavon Leopold ff2ee540e2 Fixing the CacheBusting on GetCropUrl as it was totally random which meant the server cache was creating a new cache file for every request. Now changed it to use item updateDate.ToFileTimeUtc as the cache busting value so it will change only when the item is updated in Umbraco. 2014-03-24 19:27:00 +00:00
Jeavon Leopold b450299d45 GetCropUrl - moved propertyAlias and cropAlias to after width and height so that GetCropUrl(100,100,"myProperty") is possible and renamed useFocalPoint to preferFocalPoint 2014-03-24 18:37:15 +00:00
Jeavon Leopold 0ebe535922 ImageCropDataSet - a little bit of Stylecop 2014-03-24 17:58:12 +00:00
Jeavon Leopold f5f8fe7b42 GetCropUrl - Stylecop and an additional test 2014-03-24 17:51:52 +00:00
Jeavon Leopold f51a66b728 GetCropUrl - further code duplication removal and 2 new unit tests 2014-03-24 16:32:50 +00:00
Sebastiaan Janssen f8a7b453c7 Sync the en and en_us translations 2014-03-24 17:26:04 +01:00
Sebastiaan Janssen 89235f707c Sync the en and en_us translations 2014-03-24 17:25:31 +01:00
Jeavon Leopold 550166c41b Removing HasPropertyAndValueAndCrop method as it's no longer needed 2014-03-24 15:49:04 +00:00
Jeavon Leopold 40be3957f6 GetCropUrl - ensuring that GetCropUrl(width,height) works and also adding the useFocalPoint parameter 2014-03-24 15:44:04 +00:00
Sebastiaan Janssen 6ccce4d914 U4-4515 GenericProperty.ascx.cs references non-existent lblAlias control, causing YSOD of death when editing certain document types
Whoops, missed some references
2014-03-24 16:01:47 +01:00
Sebastiaan Janssen 14ea374b24 Also removing stray semicolons here for U4-4510 nuget targets file creates an invalid path in the property group 2014-03-24 15:44:09 +01:00
Sebastiaan Janssen 4d49268c47 U4-4515 GenericProperty.ascx.cs references non-existent lblAlias control, causing YSOD of death when editing certain document types
Codebehind file somehow got out of sync
2014-03-24 15:16:57 +01:00
Sebastiaan Janssen a569796adb Removes stray semicolons from the nuget targets files 2014-03-24 14:00:12 +01:00
Jeavon Leopold 59de0613f5 GetCropUrl - Removing duplicate code 2014-03-24 11:43:55 +00:00
Sebastiaan Janssen 8391c32886 Fix whitespace 2014-03-24 09:34:48 +01:00
Sebastiaan Janssen bf2efd30e9 U4-4073 Audit Trail is missing from action menu
Removed the icons for now as they are missing and should be new style icons anyway
2014-03-24 09:34:47 +01:00
Shannon 187373132f Completes: U4-4154 convert existing property data from XML to JSON during upgrade v6 - 7 2014-03-24 18:44:18 +11:00
Shannon 79584a9cf9 Fixes thread safety issue with RichTextPreValueController 2014-03-24 16:32:42 +11:00
Shannon 96fa8c7dc9 Publicizes a few things, including the fix for U4-3981 Make Umbraco.Web.WebApi.Filters.UmbracoApplicationAuthorizeAttribute public 2014-03-24 15:41:46 +11:00
Shannon 5e43ddc13c Fixes: U4-4502 Umbraco7.0.4 media picker shows uploaded images minus 1 2014-03-24 13:43:20 +11:00
Shannon 98f76a989f Adds better error handling for the media picker - we were not detecting image types before and were getting loads of server errors. Fixes up some method return calls 2014-03-24 12:38:49 +11:00
Shannon 2e8993adb8 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	build/NuSpecs/build/net40/UmbracoCms.targets
	build/NuSpecs/build/net45/UmbracoCms.targets
	build/NuSpecs/build/net451/UmbracoCms.targets
	build/NuSpecs/tools/Readme.txt
	build/NuSpecs/tools/install.ps1
	src/Umbraco.Web/umbraco.presentation/umbraco/members/EditMember.aspx.cs
2014-03-24 11:31:52 +11:00
Shannon 81600f0f3c Merge branch 'patch-2' of https://github.com/designagencytom/Umbraco-CMS into designagencytom-patch-2
Conflicts:
	src/Umbraco.Web/umbraco.presentation/umbraco/members/EditMember.aspx.cs
2014-03-24 11:18:11 +11:00
Shannon 74ccd79408 Merge branch 'patch-1' of https://github.com/designagencytom/Umbraco-CMS into designagencytom-patch-1 2014-03-24 11:13:07 +11:00
Shandem 3e0a754dc0 Merge pull request #328 from arjanpot/7.1.0
CropUrl should be formatted with InvariantCulture.
2014-03-24 11:04:59 +11:00
Sebastiaan Janssen 006a89e136 U4-4498 Doc & Media Type, Server Error when upgrade, 7.0.4 to 7.1.0 RC via Nuget
Have to copy in the Umbraco and Umbraco_Client folder during NuGet updates as well.
2014-03-23 16:10:58 +01:00
Sebastiaan Janssen 29dbbee173 Imageprocessor config files are no longer required and shouldn't ship with Umbraco 2014-03-23 15:02:54 +01:00
arjanpot cd31637371 CropUrl should be formatted with InvariantCulture. 2014-03-22 11:22:01 +01:00
Shannon beb1979b46 Fixes small bug when distributed cache is called with invalid params. 2014-03-21 17:04:30 +11:00
Shannon 672672d0aa Completes: U4-2633 Bundle all cache refresher transmissions into a single call per request for much better performance 2014-03-21 14:50:24 +11:00
perploug ab70c98d4c Ensures the config is cleared properly every time 2014-03-20 09:41:30 -07:00
Sebastiaan Janssen 424ff02734 Forgot a few includes, fixed! 2014-03-20 17:29:16 +01:00
Sebastiaan Janssen 80bd8d962b Make sure the App_Plugins folder is there 2014-03-20 16:58:35 +01:00
Sebastiaan Janssen 4b4efde490 Make sure the App_Plugins folder is there 2014-03-20 16:57:53 +01:00
Sebastiaan Janssen 956364decd v7 NuGet changes also apply to v6 2014-03-20 16:02:24 +01:00
Sebastiaan Janssen 7bc2bdae75 Merge pull request #327 from Jeavon/7.1.0-ImageCropper-JeavonWIP
7.1.0 image cropper - GetCropUrl not using .Url anymore
2014-03-20 15:45:24 +01:00
Sebastiaan Janssen c43ab7942a Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-20 15:38:52 +01:00
Morten Christensen 166f9b939c Moving the sqlce dlls to UmbracoFile in the nuspec 2014-03-20 15:37:41 +01:00
Morten Christensen ede9e00a7f Updating the targets to include a few more folders 2014-03-20 15:37:21 +01:00
Sebastiaan Janssen 0bfbacfd66 No need to back up the config files, they don't get overwritten if you answer "No"
Updated the readme.
2014-03-20 15:33:41 +01:00
Jeavon Leopold 5c5827e319 If cropper property editor not in use on umbracoFile then we can use mediaItem.Url 2014-03-20 14:31:21 +00:00
Sebastiaan Janssen 05ca98219d Also copy the new config files over 2014-03-20 14:57:07 +01:00
Sebastiaan Janssen a83a0f1e25 Fix merge conflict 2014-03-20 14:27:39 +01:00
Sebastiaan Janssen ea7d476559 Backup config files properly 2014-03-20 14:26:11 +01:00
Jeavon Leopold 2d2f57a71b GetCropUrl - needed to get the url from within the json within the check for a crop otherwise a exception can occur 2014-03-20 13:22:45 +00:00
designagencytom 6133e8f8c2 Update loadMemberGroups.cs
Sort the roles alphabetically to make it easier to manage the list when it becomes very large.
2014-03-20 13:02:25 +00:00
Morten Christensen bfaace373c Updating the install ps1 to only copy over the web.config on initial install to ensure that the web.config is correct. 2014-03-20 14:00:43 +01:00
Morten Christensen a6d24fce93 Updating the targets files to copy in umbraco backoffice client dependencies AfterBuild with condition !Exists. 2014-03-20 14:00:42 +01:00
Jeavon Leopold 7e8aaebfce Merge remote-tracking branch 'origin/HEAD' into 7.1.0-ImageCropper-JeavonWIP 2014-03-20 12:42:14 +00:00
Jeavon Leopold 6a3fb87499 GetCropUrl to not use .Url property but get directly from cropper JSON 2014-03-20 12:42:05 +00:00
Sebastiaan Janssen 74cad56a6b Merge pull request #324 from Jeavon/7.1.0-ImageCropper-JeavonWIP
7.1.0 image cropper - fix and basic unit test and new overload GetCropUrl(cropAlias)
2014-03-20 13:30:09 +01:00
Jeavon Leopold 9b02457f7a Adding a basic unit test for GetCropUrl - more to come 2014-03-20 12:22:50 +00:00
Jeavon Leopold 6077e24685 Add GetCropUrl(string cropAlias) overload and fix mediaItem.Url 2014-03-20 11:23:17 +00:00
Sebastiaan Janssen 39a3a9dc56 Reference the correct ImageProcessor version to get it included in the build 2014-03-20 09:42:06 +01:00
Shannon 801a3731a2 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-03-20 17:55:03 +11:00
Shannon bcb7561e74 fixes unit test 2014-03-20 17:44:13 +11:00
Shannon f077520781 Fixes: U4-4154 convert existing property data from XML to JSON during upgrade v6 - 7 to ensure that other data types that have this property editor are upgraded as well. Fixes some of the installer bits so that the steps are not marked as completed if they have problems. 2014-03-20 17:35:51 +11:00
Shannon 61ec1e4c35 Fixes the Url property to work with the image cropper to be consistent with the upload field. 2014-03-20 14:58:18 +11:00
Shannon 3710c0916c Fixes up the Image cropper extensions, ensures that we don't recursively call Url (this is a special property). 2014-03-20 14:57:48 +11:00
Shannon 863667f5bd Moves the image crop enums to their correct location and renames them to be more descriptive (less generic). 2014-03-20 14:27:58 +11:00
Shannon 7475851bb5 Ensures that we log exceptions instead of completely ignoring them 2014-03-20 14:17:00 +11:00
Shannon a721ed5e0f Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web/Cache/UserPermissionsCacheRefresher.cs
2014-03-20 13:19:50 +11:00
Shannon 0bc621c40f Merge branch 'Jeavon-7.1.0-ImageCropper-JeavonWIP' into 7.1.0 2014-03-20 13:19:26 +11:00
Shannon 620fbde1db Merge branch '7.1.0-ImageCropper-JeavonWIP' of https://github.com/Jeavon/Umbraco-CMS into Jeavon-7.1.0-ImageCropper-JeavonWIP
Conflicts:
	src/Umbraco.Web/ImageCropperBaseExtensions.cs
2014-03-20 13:18:57 +11:00
Shannon 39e7947435 fixes merge issues 2014-03-20 13:15:53 +11:00
Shannon 2792937b17 Merge branch '7.1_U4-4447' of https://github.com/arknu/Umbraco-CMS into arknu-7.1_U4-4447
Conflicts:
	src/Umbraco.Web/PropertyEditors/FileUploadPropertyEditor.cs
	src/Umbraco.Web/PropertyEditors/ImageCropperPropertyEditor.cs
2014-03-20 13:10:39 +11:00
Shannon af9a9a9a7a Fixes: U4-4481 Image cropper pre value editor doesn't validate properly 2014-03-20 13:03:30 +11:00
Shannon 83f4c0262e Fixes: U4-4475 Creating new member doesn't put it in examine. Fixes up some cache refreshers to ensure they are calling the base method so that events fire consistently.
Conflicts:
	src/Umbraco.Web/Cache/UserPermissionsCacheRefresher.cs
2014-03-20 12:38:19 +11:00
Shannon 08d4ce7667 Fixes: U4-4475 Creating new member doesn't put it in examine. Fixes up some cache refreshers to ensure they are calling the base method so that events fire consistently. 2014-03-20 12:36:13 +11:00
Shannon 2340adbe94 Fixes: U4-4425 Umbraco Macros break on quote, U4-4290 RTE changes Macro parameter values containing right angle brackets, U4-4442 Line break in macro text area breaks the Macro 2014-03-20 12:21:40 +11:00
Shannon fb6b234491 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-03-20 10:38:40 +11:00
Shannon 15222e176e Fixes: U4-4474 YSOD when expanding Members tree 2014-03-20 10:37:54 +11:00
Shannon 63b92eaee5 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Models/MemberType.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs
2014-03-20 09:54:13 +11:00
Shannon 84dd7dc61a Fixes: U4-4466 6.2-beta - Creating Member Type without Alias results in no viewable Member Types in back office 2014-03-20 09:52:31 +11:00
Sebastiaan Janssen 5a4b09f9d1 Make sure we use the latest ImageProcessor version in VS as well, not just in the nuget package. 2014-03-19 19:56:48 +01:00
perploug bbbd03f001 Final tweak to the U4-4477 - media items could not be retreived on refreshing the editor 2014-03-19 19:14:39 +01:00
perploug 4a721ddf34 Fixes: U4-4477 Single Media picker doesn't show thumbnail any more 2014-03-19 18:44:46 +01:00
Jeavon Leopold d88745bf49 Adding ToLowerInvariant to compares and also removing a redundant method copied in from my cropper package but not needed 2014-03-19 16:53:13 +00:00
perploug 3543204794 Revert "Merge"
This reverts commit 1573eb2f74.
2014-03-19 09:51:07 -07:00
arknu c565744a9b Fix drag-and-drop upload 2014-03-19 17:46:04 +01:00
perploug 2470ec3ded Minor addition to the U4-4477 fix 2014-03-19 09:38:27 -07:00
perploug 7b4f7abbcd Fixes: U4-4477 Media picker doesn't show thumbnail any more 2014-03-19 09:38:24 -07:00
perploug 1573eb2f74 Merge 2014-03-19 09:38:22 -07:00
Jeavon Leopold e8e8b536f1 Fix for GetCropUrl method when mediaItem.Url has JSON data 2014-03-19 16:12:30 +00:00
Sebastiaan Janssen 704c3df597 No more need for imageprocessor configs in web.config, yay! 2014-03-19 16:59:06 +01:00
Sebastiaan Janssen 36c107c0ef Quick fix for U4-4206 - not the absolute correct fix, but it'll get rid of that horrible null reference error 2014-03-19 14:30:53 +01:00
Sebastiaan Janssen 70f5641b83 Change to overflow:auto so there's no horizontal scroll bar when not necessary 2014-03-19 13:28:28 +01:00
Sebastiaan Janssen bbb5fe728a Better styling of ChangeDocType dialog 2014-03-19 13:25:16 +01:00
Sebastiaan Janssen 307ea6bd74 Fixes last error in U4-3470 Errors in console window are failed to load resource at
/umbraco/%7B%7Bcmd.icon%7D%7D
2014-03-19 11:48:46 +01:00
Sebastiaan Janssen 76eb06784d Don't try to access model.value when model.value might be empty. Fixes broken prevalue editor for RTE. 2014-03-19 11:19:34 +01:00
Jeavon Leopold c6e1235ac4 Fixing GetCropUrl overload 2014-03-19 09:52:53 +00:00
Sebastiaan Janssen 6ac2cc9f8b Not sure how the logout button ended up in the help dialog, sorry! :) 2014-03-19 10:38:43 +01:00
Shannon 9d5c8e5aed Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-03-19 19:45:39 +11:00
Shannon 56001a8ccb Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Services/PackagingService.cs
2014-03-19 18:55:20 +11:00
Shannon ff5dadde53 Fixes unit test and another potential migration problem using an old alias for foreign key 2014-03-19 18:43:10 +11:00
Shannon 6d92393f08 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-19 17:56:45 +11:00
Shannon 6169d13eb5 fixes the config issue with unit tests 2014-03-19 17:56:30 +11:00
perploug 361c382a2e Makes cropper components size-able
So all UI components can be given a max-size so they can scale image and
ui up accordingly
2014-03-18 23:49:09 -07:00
perploug 375b3948e0 Fixes: U4-4177 U7 - Add Startnode Picker to Multiple Media Picker 2014-03-18 23:49:05 -07:00
perploug 6453a82717 Allow cropper thumbnails to downscale 2014-03-18 23:49:02 -07:00
perploug a4c9fae05c Fixes: U4-4461: Case sensitive crop alias's 2014-03-18 23:49:01 -07:00
perploug 29edbb90a6 Fixes: Image grid using fullsize images instead of thumbs 2014-03-18 23:49:00 -07:00
Shannon 71201970e9 Gets the new color spectrum pre-value editor working. 2014-03-19 17:45:21 +11:00
Shannon 992727821b Merge branch 'robertjf-7.0.2' into 7.1.0 2014-03-19 15:43:46 +11:00
Shannon 67fd3cc234 Merge branch 'moppa-7.0.2' into 7.1.0 2014-03-19 15:41:06 +11:00
Shannon f70717985c Cleans up a little bit of code and adds some null checks. 2014-03-19 15:32:31 +11:00
Shannon ded82611a7 Finalizes: U4-4472 Image cropper should use IFileSystem - currently uses standard IO 2014-03-19 15:09:50 +11:00
Shandem 6a8cb5e123 Merge pull request #270 from stefana99/6.2.0-imagecropper
Changes to imageCropper, supports new mediafilesystem
2014-03-19 14:48:38 +11:00
Shandem 09428d703c Merge pull request #298 from KevinJump/6.2.0--PackageServiceFixes
6.2.0  package service fixes
2014-03-19 14:43:19 +11:00
Shannon 2b6b8e9e8c Fixes: U4-4470 New Installer doesn't deal with 500 errors, also fixes a tree init problem causing this particular ysod 2014-03-19 13:28:23 +11:00
Shannon a46c088d0c Ensures correct exceptions are thrown when configurations cannot be loaded, before was just null ref exception which was not good. 2014-03-19 11:00:32 +11:00
Shannon 65e591501c Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Tests/Migrations/Stubs/AlterUserTableMigrationStub.cs
2014-03-19 10:35:46 +11:00
Shannon a0541b000e Fixes: U4-4463 Upgrade 6.2.0 > 7.1.0 fails - due to incorrect formatting of foreign keys for sql servers
Conflicts:
	src/Umbraco.Tests/Migrations/AlterMigrationTests.cs
	src/Umbraco.Tests/Migrations/Stubs/AlterUserTableMigrationStub.cs
2014-03-19 10:33:37 +11:00
Shannon 1f6b139cde Fixes: U4-4463 Upgrade 6.2.0 > 7.1.0 fails - due to incorrect formatting of foreign keys for sql servers 2014-03-19 10:31:19 +11:00
Shannon 17893715fc Fixes the CDF nuget reference since we need the latest version and it is marked as visible now (this just undoes our old workaround) 2014-03-19 09:38:41 +11:00
Shannon a25e6e0d2c Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	build/Build.bat
	build/NuSpecs/UmbracoCms.Core.nuspec
	build/NuSpecs/build/net40/UmbracoCms.targets
	build/NuSpecs/build/net45/UmbracoCms.targets
	build/NuSpecs/build/net451/UmbracoCms.targets
	src/Umbraco.Core/Persistence/Querying/BaseExpressionHelper.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IMemberRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
2014-03-19 09:34:37 +11:00
Shannon 668935548d Fixes: U4-4394 7.0.4: Inconsistency in member tree listings
Conflicts:
	src/Umbraco.Core/Persistence/Querying/BaseExpressionHelper.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IMemberRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
	src/Umbraco.Web/Trees/MemberTreeController.cs
2014-03-19 09:28:13 +11:00
Shannon 14141fcaa5 Fixes the dictionary query syntax properly for all db's 2014-03-19 09:24:57 +11:00
arknu 1948fe12b3 U4-4447: Make image properties populate when uploading from ImageCropper 2014-03-18 22:31:05 +01:00
Sebastiaan Janssen 4bcf3983c5 Update readme and remove non-functioning backups from install.ps1 2014-03-18 18:41:05 +01:00
Sebastiaan Janssen 7c5942b05f Updating minimum required versions of dependencies to be the same as v7. 2014-03-18 18:40:20 +01:00
Sebastiaan Janssen 8b4d4e3189 Update readme and remove non-functioning backups from install.ps1 2014-03-18 18:38:16 +01:00
Sebastiaan Janssen 4f008f5848 Bump version to RC 2014-03-18 18:37:42 +01:00
Sebastiaan Janssen 1a40ccc838 Updating nuget targets files, like on v7. Also updates nuget author name. 2014-03-18 17:51:33 +01:00
Sebastiaan Janssen 0bf43da825 Time to finally update the author name as well 2014-03-18 17:49:53 +01:00
Sebastiaan Janssen c83db52bd7 Update database type wording and dropdown width 2014-03-18 17:45:26 +01:00
Sebastiaan Janssen 00e1556504 Update to the correct minimum requirements for ImageProcessor 2014-03-18 17:26:09 +01:00
Jeavon Leopold 5c8440a7d6 ImageCropper helpers WIP 2014-03-18 15:20:48 +00:00
Sebastiaan Janssen 3e86fb6298 ImageProcessor.Web only has a v3 for some reason 2014-03-18 15:54:10 +01:00
Sebastiaan Janssen 9b0895c5b0 People tend to forget to deploy global.asax A LOT, doesn't hurt to have it as content and
included in the VS project, this should help a bit as it's no longer a hidden file
2014-03-18 15:48:41 +01:00
Sebastiaan Janssen 4ad9ea1537 Bump the version to RC 2014-03-18 15:40:09 +01:00
Sebastiaan Janssen 0b08f19f53 U4-4174 Umbraco Nuget Install by Visual Studio 2013 failed
Should be fixed by referencing this version of WebApi. ImageProcessor is also required
2014-03-18 15:39:54 +01:00
Sebastiaan Janssen 527402a6d8 The Overflow starter kit adds App_Code and needs this reference to be able
to use HttpResponseMessage
2014-03-18 15:35:07 +01:00
Sebastiaan Janssen 9eea8c85e0 Include global.asax and Config\splashes folder while publishing with msdeploy 2014-03-18 15:32:39 +01:00
Stephan e80963093d Fix MySql dictionary issue
Conflicts:
	src/umbraco.cms/businesslogic/language/Item.cs
2014-03-18 12:44:32 +01:00
Shannon 6f586c7eeb Ensures we are not directly referencing Membership.Provider and instead targetting our provider by alias. 2014-03-18 20:36:02 +11:00
Shannon ff3b5baf06 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
2014-03-18 20:12:03 +11:00
Shannon 0749124f45 fixes bug with col name 2014-03-18 20:11:22 +11:00
Shannon 549aeecf31 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Models/Member.cs
2014-03-18 19:40:41 +11:00
Shannon bef970437a doh, fix for new ctor 2014-03-18 19:39:17 +11:00
Shannon 0898b13072 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Models/Member.cs
2014-03-18 19:31:26 +11:00
Shannon dda36f0147 added additional ctor for member to create an empty one 2014-03-18 19:30:54 +11:00
Shannon 9d3f362029 fixes minor issue with the backing up of the install folder 2014-03-18 19:27:58 +11:00
Shannon 4d13925e3b Fixes merge issues 2014-03-18 19:05:07 +11:00
Shannon 02481dcfba Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Configuration/UmbracoSettings.cs
2014-03-18 18:53:04 +11:00
Shannon caad775399 Removes the User membership provider name constant - it is not a constant, this value is configurable! 2014-03-18 18:52:17 +11:00
Shannon fd14065f14 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Models/Member.cs
	src/Umbraco.Core/Models/Membership/MembershipUserExtensions.cs
	src/Umbraco.Core/Persistence/Factories/MemberFactory.cs
	src/Umbraco.Core/Persistence/Factories/MemberReadOnlyFactory.cs
	src/Umbraco.Core/Persistence/Mappers/MemberMapper.cs
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
	src/Umbraco.Core/Services/IMembershipUserService.cs
	src/Umbraco.Core/Services/UserService.cs
	src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
	src/Umbraco.Tests/Services/ContentServiceTests.cs
	src/Umbraco.Tests/TestHelpers/Entities/MockedMember.cs
	src/Umbraco.Tests/TestHelpers/Entities/MockedUser.cs
	src/Umbraco.Web.UI/install/steps/DefaultUser.ascx.cs
	src/Umbraco.Web/Controllers/UmbProfileController.cs
	src/Umbraco.Web/Routing/PublishedContentRequestEngine.cs
	src/Umbraco.Web/Security/WebSecurity.cs
	src/Umbraco.Web/umbraco.presentation/LegacyClasses.cs
	src/Umbraco.Web/umbraco.presentation/install/steps/LegacyClasses.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/channels/UmbracoMetaWeblogAPI.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/create/member.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/create/memberTasks.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/create/userTasks.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/dashboard/ChangePassword.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/login.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/members/EditMember.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/webservices/MediaUploader.ashx.cs
2014-03-18 18:47:49 +11:00
Shannon 7a7720c460 Gets #U4-4454 Can't log in a new member created through memberservice completed 2014-03-18 18:41:18 +11:00
Shannon b2aeb835d5 Implements the SavePassword method of the MemberService 2014-03-18 17:45:11 +11:00
Shannon 8dd950bd52 Ensures all access to the users membership provider is done with our extension method 2014-03-18 17:22:25 +11:00
Shannon e2881e07d1 Ensures that all calls to the members membership provider are done so explicitly with the membership provider alias - this decouples the need to have the umbraco membership provider declared as the default, we were doing both before. 2014-03-18 17:08:21 +11:00
Shannon e0e0076a7a allows for client side validation on the text box and date picker controls and updates the models to allow support for this for any prop editor. 2014-03-18 15:29:14 +11:00
Shannon 00a96a4888 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-18 14:51:43 +11:00
Shandem b16cf375b9 Merge pull request #320 from imulus/u4-4432
U4-4432 - Expose Mandatory setting in ContentProperty
2014-03-18 14:48:53 +11:00
Shannon a3b433c73c Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-03-18 14:39:58 +11:00
Shandem 855a4961dd Merge pull request #321 from robbaman/7.1.0
Added datepicker support for IsRequired
2014-03-18 14:37:56 +11:00
Shannon 71de4dc7de Fixes: U4-3675 [NonAction] attribute should be ignored by Umbraco RenderActionInvoker 2014-03-18 14:28:05 +11:00
Shannon 19d3c06470 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Tests/TestHelpers/BaseUmbracoApplicationTest.cs
2014-03-18 14:20:45 +11:00
Shannon e22476f54a fixes some test logic 2014-03-18 14:19:26 +11:00
Shannon 20ae16b2d7 Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0 2014-03-18 14:18:50 +11:00
Shannon 9e466971af fixes some test logic 2014-03-18 14:18:34 +11:00
Shannon 7017d8094d Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-18 13:08:39 +11:00
Shannon 0e40971178 Fixes remaining tests 2014-03-18 13:08:24 +11:00
perploug 1ae9816c28 Updates grunt file to work with latest jshint cfg format 2014-03-18 02:24:38 +01:00
Shannon e40cf3b8fc fixes js unit tests 2014-03-18 12:23:10 +11:00
Shannon 09ea82b37f fixes last unit tests 2014-03-18 11:57:53 +11:00
Shannon c44918f830 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-18 11:40:32 +11:00
Shannon 760dd42c43 Optimizes integration test performance and fixes failing unit tests. 2014-03-18 11:40:20 +11:00
perploug 0409192892 Fixes: U4-4449 Issue: Discard Changes popup inconsistency 2014-03-18 01:09:50 +01:00
Shannon d575eaa9c1 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/TypeFinder.cs
	src/Umbraco.Tests/Services/PackagingServiceTests.cs
	src/Umbraco.Tests/TreesAndSections/ApplicationTreeTest.cs
	src/Umbraco.Web/umbraco.presentation/CompatibilityHelper.cs
2014-03-18 09:46:43 +11:00
Shannon 373e9755ed Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-18 09:22:08 +11:00
perploug d6f00d9367 Fixes: U4-4405 List view icons are broken in firefox 2014-03-17 20:53:19 +01:00
perploug 3cabec84d4 Fixes broken IE11 slider in ImageCropper 2014-03-17 20:01:39 +01:00
perploug c9d12f7dc5 WIP on seperating logic from the content editor into smaller units 2014-03-17 19:40:52 +01:00
perploug 9e97b84fb8 Fixes issues with crop sizes prevalues 2014-03-17 19:40:52 +01:00
perploug f4fa090857 Removes dog with glasses + fixes unit tests 2014-03-17 19:40:51 +01:00
perploug 0e22a2bb5a Fixes installer progress bar 2014-03-17 19:40:50 +01:00
Stephan 36b10e71d7 U4-4373, U4-4374 - finalize fixes
Conflicts:
	src/Umbraco.Web/umbraco.presentation/CompatibilityHelper.cs
2014-03-17 15:44:16 +01:00
Stephan 3c6029c969 Merge remote-tracking branch 'origin/6.2.0' into 6.2.0 2014-03-17 15:27:25 +01:00
Stephan a4a0de3503 U4-4373, U4-4374 - finalize fixes 2014-03-17 15:25:25 +01:00
Shannon 217267bf94 Supercharges integration tests - now running at a great speed. 2014-03-17 22:22:44 +11:00
Shannon 4748366766 Fixes up some more test attributes 2014-03-17 20:59:31 +11:00
Shannon de15dc36e7 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Tests/TreesAndSections/ApplicationTreeTest.cs
2014-03-17 20:54:48 +11:00
Shannon ab00782d84 Fixes potential issue with why test were failing 2014-03-17 20:33:30 +11:00
Shannon 2d6d95a63e Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Tests/Persistence/Auditing/AuditTests.cs
	src/Umbraco.Tests/Persistence/PetaPocoExtensionsTest.cs
	src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/UserTypeRepositoryTest.cs
	src/Umbraco.Tests/PublishedContent/DynamicDocumentTestsBase.cs
	src/Umbraco.Tests/PublishedContent/PublishedContentExtensionTests.cs
	src/Umbraco.Tests/Routing/NiceUrlsProviderWithDomainsTests.cs
	src/Umbraco.Tests/Services/LocalizationServiceTests.cs
	src/Umbraco.Tests/Services/PackagingServiceTests.cs
	src/Umbraco.Tests/Services/PerformanceTests.cs
	src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs
	src/Umbraco.Tests/Umbraco.Tests.csproj
2014-03-17 19:44:34 +11:00
Shannon d19d1b3a18 Changes database behavior in integration tests to be opt-in, removes the db behavior to have a new schema per fixture, now we only deal in new files + schema per fixture/tests as it was taking longer to uninstall the db tables than just delete the file. 2014-03-17 19:38:29 +11:00
Shannon 5a779c24d0 Fixes: U4-4428 Upload field on members fails on resizing 2014-03-17 18:39:53 +11:00
Shannon c669a2702b Fixes: U4-4210 MNTP not working with Member and ensures the content picker has real validation built into it. Fixes up the EntityController switching out the global action selector. 2014-03-17 18:34:41 +11:00
Shannon f777f1b3d6 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/umbraco.providers/members/UmbracoMembershipProvider.cs
2014-03-17 16:23:49 +11:00
Shannon 3e8ada24e4 reverts sebastian's commit as this will cause unwanted other side affects 2014-03-17 16:08:06 +11:00
Shannon fe884b2070 Fixes: U4-4426 Upload field on Member Type doesn't work 2014-03-17 16:01:09 +11:00
Shannon 30cfa4c0ae moves MemberCountType to correct namespace 2014-03-17 14:18:38 +11:00
Shannon 66aa3084f9 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web.UI/packages.config
	src/Umbraco.Web/packages.config
	src/umbraco.cms/packages.config
	src/umbraco.cms/umbraco.cms.csproj
	src/umbraco.controls/packages.config
	src/umbraco.editorControls/packages.config
	src/umbraco.macroRenderings/packages.config
	src/umbraco.macroRenderings/umbraco.macroRenderings.csproj
2014-03-17 14:15:14 +11:00
Shannon d028ee2c3e Completes: U4-4457 Upgrade to latest CDF 2014-03-17 14:08:07 +11:00
Shannon 2bd5e908db Fixes merge issues 2014-03-17 14:01:42 +11:00
Shannon 154652c896 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Persistence/Migrations/MigrationRunner.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/UpdateToNewMemberPropertyAliases.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/umbraco.controls/TreePicker/SimpleContentPicker.cs
2014-03-17 13:39:49 +11:00
Shannon a60e2318ad Fix Null Prevalue Values on Export of DataTypes
Exporting a DataType that has a Numeric pre-value that has no value
causes an Exception - added null checking to pre value.value
2014-03-17 13:23:26 +11:00
Shannon f642a7fd63 Fixes: U4-4368 Cannot insert the value NULL into column 'name' when creating new relation type from API 2014-03-17 13:21:17 +11:00
Shandem b4cce4860f Merge pull request #313 from KevinJump/7.1.0---Null-DataType-PropertyValue-Fix
Fix Null Prevalue Values on Export of DataTypes
2014-03-17 13:20:24 +11:00
Shannon d1d54d8e84 Fixes: U4-4427 Exception with selecting content start node in Multi-node tree picker 6.2.0 2014-03-17 13:12:08 +11:00
Shannon bbeedb6c1b Fixes: U4-4373 @Library.NodeById(-1).Id returns "0" instead of "-1"(6.2.0 beta) & U4-4374 @Model.NodeById(-1).DescendantsOrSelf().First().Id results in Excecption (6.2.0 beta) 2014-03-17 12:27:37 +11:00
Shannon 4745995f92 Fixes: U4-4373 @Library.NodeById(-1).Id returns "0" instead of "-1"(6.2.0 beta) 2014-03-17 11:45:42 +11:00
Shannon c66aca2d41 Adds migration to rename the index umbracoUserLogins_Index to IX_umbracoUserLogins_Index so that it follows standards, fixes unit test 2014-03-17 11:24:01 +11:00
Shannon af148a4544 reverts the notion of shema migration - we will run migrations normally as we've been doing, this fixes a couple of unit tests too. 2014-03-17 10:48:56 +11:00
Shannon d7ea8e02d6 fixes unit test 2014-03-17 09:40:28 +11:00
Shannon 3acec1dd65 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-17 09:38:46 +11:00
Sebastiaan Janssen e52f8dcbc9 Update wording on upgrades 2014-03-16 19:37:08 +01:00
Sebastiaan Janssen 60edf7d3b9 Pointing to the typical error log folder 2014-03-16 12:00:36 +01:00
Sebastiaan Janssen f626738174 DoResize(-1,-1) - I don't know why you'd ever want to attempt to resize to -1,-1.
Also removed the else clause as it hides the error until later, now size will be null at the appropriate time.
2014-03-16 11:46:49 +01:00
Shannon ad3c004d95 Added another property to a migration to specify a minimum current version - needed for specifically targeting a migration 'from' a version. Finally got mysql upgrading from 6.1 to 7.1 without issue, had to re-order a few things and ensure some migrations don't execute based on the 'from' version. 2014-03-15 20:15:01 +11:00
Shannon 58814d4ac2 updates the migration order 2014-03-15 20:11:42 +11:00
Shannon c29dbf444a Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixTwoZero/AdditionalIndexesAndKeys.cs
	src/Umbraco.Core/Services/PackagingService.cs
	src/Umbraco.Core/Umbraco.Core.csproj
2014-03-15 19:02:59 +11:00
Shannon bd06729619 oops, fixes some logic with a closing bracket in the wrong place 2014-03-15 18:54:08 +11:00
Shannon bd1dc4f88d Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0 2014-03-15 18:53:25 +11:00
Shannon 67c1cc44c5 oops, fixes some logic with a closing bracket in the wrong place 2014-03-15 18:53:03 +11:00
Morten Christensen b680f87c12 Adding a note about the usage of the PackageInstallation class in the PackagingService 2014-03-14 12:14:43 +01:00
Morten Christensen 8db6633c91 Initial implementation of a new package installation approach based on PR-297. Everything is left internal as we don't know when something like this can be introduced.
Idea is to be able to install a complete package using the PackagingService, so that we eventually can obsolete the old Packager/Installer-code.
2014-03-14 12:11:38 +01:00
Robert Mulder 8843f6c02c Added datepicker support for IsRequired
Added support for the model.config.IsRequired flag to the datepicker property editor.
2014-03-14 10:15:48 +01:00
Shannon 6561a79b5c Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Tests/Migrations/AlterMigrationTests.cs
2014-03-14 19:35:11 +11:00
Shannon 3e5128147c fixes typo 2014-03-14 19:34:09 +11:00
Shannon 64c126ea61 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Configuration/GlobalSettings.cs
	src/Umbraco.Core/Persistence/Migrations/Initial/DatabaseSchemaResult.cs
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/Umbraco.Web/Security/Providers/UsersMembershipProvider.cs
	src/umbraco.providers/members/UmbracoMembershipProvider.cs
2014-03-14 19:33:53 +11:00
Shannon 3dcbcba9cf Updates the required migrations to be Schema migrations, ensures the foreign key deletion occurs with the correct supported syntax across db types. Ensures we don't try to drop a pk in mysql when it never existed. 2014-03-14 19:24:45 +11:00
Shannon b5329ace3b Backports fixes for legacy encoding checks and to not do any db lookups for the new membership providers and also ensures the legacy membership provider doesn't do any db lookups on init. 2014-03-14 18:38:57 +11:00
Shannon e1a134f587 Fixes: U4-4430 MySql primary key issues 2014-03-14 17:11:21 +11:00
Tom Fulton 1ec2901762 Expose Mandatory setting in ContentProperty
This allows a PropertyEditor to be aware of whether it's required or not, via: `$scope.model.mandatory` (along with `$scope.model.alias`, etc)
2014-03-13 23:32:12 -06:00
Robert Foster 58bfb6999d Merge remote-tracking branch 'upstream/7.0.2' into 7.0.2 2014-03-14 13:45:40 +11:00
Shannon e8056de589 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Persistence/Migrations/Initial/DatabaseSchemaResult.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixTwoZero/AdditionalIndexesAndKeys.cs
	src/Umbraco.Web.UI/install/Default.aspx.cs
2014-03-14 13:06:45 +11:00
Shannon bbe6194b06 Exception is thrown if trying to run mysql in med trust. Migrations arranged to execute schema migrations first and then data migrations. If a schema migration fails it will attempt to run the downgrade scripts of the migrations if running mysql since schema changes aren't supported in transactions. Updated all sql syntax providers to try to return only the column indexes, not key indexes. Updates the db version checker to include errors for all missing columns, indexes and constraints in the db and vice versa in the schema. 2014-03-14 13:04:20 +11:00
Shandem 06a08be6de Merge pull request #317 from BatJan/patch-1
Fix of U4-4414 UX: Replace Change placeholder text in new installer
2014-03-14 11:35:10 +11:00
Shandem f1e8e845a2 Merge pull request #319 from BatJan/7.1.0_-_U4-4378
Fix of U4-4378 Label needed under button graphics for videos
2014-03-14 11:33:57 +11:00
Jan Skovgaard 20c5be0a8e Fix of U4-4378 Label needed under button graphics for videos 2014-03-13 13:32:35 +01:00
Shannon 6990c46262 Fixes installer when it fails on the db install or upgrades, fixes some upgrade queries with mysql, fixes ignoring case check for checking version 2014-03-13 21:47:08 +11:00
Shannon 099c558797 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-03-13 20:46:06 +11:00
Shannon d76fd7d25e updates schema result to have case ignored. 2014-03-13 20:45:07 +11:00
Shannon e020989577 Give some love to mysql with regards to schema validation and the syntax provider - need ignore case comparisons. 2014-03-13 20:42:57 +11:00
Shannon f2541cae86 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web.UI/web.Template.Debug.config
2014-03-13 20:16:08 +11:00
Shannon a907b5bdcd Fixes up the dbconnection checker to work with all supported db types. 2014-03-13 20:14:56 +11:00
Shannon 7258964bb7 Ensures version specific db providers are not referenced in the web.config 2014-03-13 20:14:11 +11:00
Shannon d290ffa306 Fixes: U4-4392 Umbraco 7 delete member from others 2014-03-13 18:47:36 +11:00
Shannon 75bc3e09c6 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-03-13 18:43:40 +11:00
Shannon bcc2424577 fixes issue with getting 'other' 'members 2014-03-13 18:43:16 +11:00
Shannon 67f8b8f88b Fixes: U4-3606 Handle caching issues from server requests correctly 2014-03-13 18:24:37 +11:00
BatJan 2d44650139 Fix of U4-4414 UX: Replace Change placeholder text in new installer
Changed "First Last" in the name placeholder to "Full name".
2014-03-13 07:27:08 +01:00
Shannon 8eaea3fb54 fixes: U4-4285 Expose/Publicize (3rd party) PropertyEditors 2014-03-13 16:34:54 +11:00
Shannon 2166a4a5ac Fixes: U4-4394 7.0.4: Inconsistency in member tree listings 2014-03-13 15:25:30 +11:00
Shannon 3ba6391dda Ensures that 6.2 migrations are run for 7.1 as well. 2014-03-13 14:23:32 +11:00
Shannon 8574c6b7d0 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/EditProfile.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/RegisterMember.cshtml
	src/Umbraco.Web/Models/ProfileModel.cs
	src/Umbraco.Web/Models/RegisterModel.cs
	src/Umbraco.Web/Models/UmbracoProperty.cs
2014-03-13 14:12:45 +11:00
Shannon b533a9f690 Merge commit '85a74e4fa700c83bab4bf3436f69f045029932cd' into 7.1.0
Conflicts:
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Web/Controllers/UmbLoginController.cs
	src/Umbraco.Web/Controllers/UmbLoginStatusController.cs
	src/Umbraco.Web/Controllers/UmbProfileController.cs
	src/Umbraco.Web/Controllers/UmbRegisterController.cs
2014-03-13 14:12:02 +11:00
Shannon 221bfa5f3d Fixes up issues with editing the member profile and registering a member with our snippets including specifying a custom member type. 2014-03-13 14:10:05 +11:00
Shannon 85a74e4fa7 Fixes: U4-4419 TempData is not being cleared on RedirectToCurrentUmbracoPage - it actually shouldn't be cleared but we need to handle how we add it properly as tempdata only clears when it is read 2014-03-13 12:21:31 +11:00
Shannon 62d4bff8aa Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web.UI/config/ClientDependency.config
2014-03-13 11:11:51 +11:00
Shannon 095be823c6 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-13 11:11:10 +11:00
Shannon a8858ecfdd fixes unit tests 2014-03-13 11:10:29 +11:00
Shandem 9c48330aae Merge pull request #314 from esn303/7.1.0
fix typos, thousands separator and casing of installer facts
2014-03-13 11:03:59 +11:00
Marc 22792a2f8e fix typos, thousands separator and casing of installer facts 2014-03-12 11:05:50 +01:00
Shannon 0dc00a62e2 Adds ability to have proxy migrations so there is no duplication of declaring migrations and no duplication of executing already executed migrations. Would have been a bit nicer to have 2014-03-12 20:36:40 +11:00
Shannon 0c4e442578 Checks for index existence before trying to add 2014-03-12 18:52:05 +11:00
Shannon 9d7d866467 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/CoreBootManager.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixTwoZero/AdditionalIndexesAndKeys.cs
	src/Umbraco.Core/Umbraco.Core.csproj
2014-03-12 18:44:54 +11:00
Shannon 3b26834484 updates migration to make it a little faster 2014-03-12 18:40:39 +11:00
Shannon aee10348e5 Ensures not to add new indexes if they already exist 2014-03-12 18:37:22 +11:00
Shannon d0fc3ddba5 ensures applicationeventsresolver is disposed of in the correct place. 2014-03-12 18:11:05 +11:00
Shannon 3aadca167f oops, updated the reset to resetcollections for clearing collections for resolvers. 2014-03-12 18:00:00 +11:00
Shannon 3a92c26a7f Adds ability to extract index details from databases using sql syntax provider. 2014-03-12 17:17:52 +11:00
Shannon 6a4ea56dc5 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/CoreBootManager.cs
	src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixTwoZero/AdditionalIndexesAndKeys.cs
2014-03-12 17:17:05 +11:00
Shannon cdd6768966 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-12 15:09:48 +11:00
Shannon d89205abaf Fixes: U4-4395 YSOD when creating membergroup 2014-03-12 15:08:55 +11:00
Shannon ff21379547 Makes ApplicationEventsResolver IDisposable so we can clear resources after startup. 2014-03-12 14:16:52 +11:00
Sebastiaan Janssen 74f00a9f89 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-12 00:33:03 +01:00
Sebastiaan Janssen 3912300f83 Really... nobody noticed "MEH"? 2014-03-12 00:30:25 +01:00
Shannon c8ff708a43 adds null check to MemberGroupCacheRefresher 2014-03-12 10:04:33 +11:00
Sebastiaan Janssen 693899935b For absolute clarity added the fact that this is the current Umbraco version. 2014-03-11 19:09:17 +01:00
Sebastiaan Janssen 1a87d96f77 Temporary fix to at least have a scrollbar when protecting a page (only added inline style, and
removed an unopened </div>, the rest is just formatting)
2014-03-11 18:47:50 +01:00
Sebastiaan Janssen 0a959b5b84 Thought I'd moved the version up a already but looks like I forgot to commit. Also made it
have a bit more contrast with it's background.
2014-03-11 17:39:11 +01:00
Sebastiaan Janssen f2202eb337 Removing 503 header as Azure Websites would just stop doing anything after seeing this, so
the rewrite to noNodes.aspx would never happen and you'd get a blank screen with:
Service Unavailable HTTP Error 503. The service is unavailable.
2014-03-11 17:28:55 +01:00
Shannon 19b7a9dfff Completes: U4-4369 Remove the need for an Areas folder for the installer 2014-03-11 18:09:54 +11:00
Shannon f432e23a47 Removes files that should never have been committed 2014-03-11 18:07:07 +11:00
Kevin Jump 20d92432b2 Fix Null Prevalue Values on Export of DataTypes
Exporting a DataType that has a Numeric pre-value that has no value
causes an Exception - added null checking to pre value.value
2014-03-11 06:55:59 +00:00
Shannon 59cdb8a6fe Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-03-11 17:27:30 +11:00
Shannon aed4c1faed minor code cleanup and a null check. 2014-03-11 17:26:14 +11:00
Shannon 2ecab70772 Fixes: U4-4182 Exception during plugins loading 2014-03-11 17:00:35 +11:00
Shannon 894a649574 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-03-11 15:02:48 +11:00
Shannon 48bbf1ecb2 Fixes unit tests 2014-03-11 15:02:23 +11:00
Shannon 5dc44ca612 fixes some merge issues 2014-03-11 15:02:14 +11:00
Shannon 3c771648e3 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Models/Member.cs
	src/Umbraco.Core/Models/PublishedContent/PublishedContentType.cs
	src/Umbraco.Core/Persistence/Factories/MemberReadOnlyFactory.cs
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/EditProfile.cshtml
	src/Umbraco.Web/Models/ProfileModel.cs
	src/Umbraco.Web/Models/UmbracoProperty.cs
	src/Umbraco.Web/Security/MembershipHelper.cs
	src/Umbraco.Web/UmbracoHelper.cs
2014-03-11 14:47:00 +11:00
Shannon c500d29029 adds some exceptions 2014-03-11 14:44:18 +11:00
Shannon 2c8fe5a130 fixes a few issues 2014-03-11 14:35:49 +11:00
Shannon d737afa327 Working on 2014-03-11 14:23:51 +11:00
Shannon 2db1c1bb40 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-11 10:39:55 +11:00
Shannon d95ca7bc6f updates naming from CreateProfileModel to GetCurrentMemberProfile 2014-03-11 10:39:19 +11:00
Sebastiaan Janssen 6b491ac6cd Merge pull request #312 from vnbaaij/patch-1
Update en_us.xml
2014-03-10 10:13:58 +01:00
vnbaaij 278b681501 Update en_us.xml
header was incorrect:
<language alias="en" intName="English (GB)" localName="English (GB)" lcid="" culture="en-GB">
2014-03-10 10:07:30 +01:00
Shannon abd72e7676 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-03-10 18:09:20 +11:00
Shannon ec6cb4520c Fixes: U4-3835 U7(nightly214) - Umbraco.Field not working 2014-03-10 17:44:40 +11:00
Shannon 2dfa85c9b4 Fixes merge issues 2014-03-10 17:35:28 +11:00
Shannon 921a5963e2 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web.UI/umbraco/create/simple.ascx
	src/Umbraco.Web.UI/umbraco/developer/DataTypes/editDatatype.aspx
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/umbraco.presentation/umbraco/create/nodeType.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/developer/DataTypes/editDatatype.aspx.cs
	src/umbraco.cms/businesslogic/datatype/DataTypeDefinition.cs
2014-03-10 17:30:46 +11:00
Shannon 3626d5b79d fixes unit tests 2014-03-10 17:27:22 +11:00
Shannon 980e8e84a6 Fixes: U4-4353 You are able to create duplicate content/media/member type's with the same alias 2014-03-10 17:26:04 +11:00
Shannon 4070669e7d Completes: U4-4335 It's Possible to Create Duplicate Data Types 2014-03-10 16:00:53 +11:00
Shannon b20e61d316 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	build/Build.bat
	src/Umbraco.Web.UI/umbraco/create/simple.ascx
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/umbraco.presentation/umbraco/create/simple.ascx
	src/Umbraco.Web/umbraco.presentation/umbraco/create/simple.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/create/simple.ascx.designer.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/developer/Macros/assemblyBrowser.aspx.cs
	src/umbraco.cms/businesslogic/datatype/DataTypeDefinition.cs
2014-03-10 15:27:09 +11:00
Shannon fb764641c5 Fixes: U4-4335 It's Possible to Create Duplicate Data Types 2014-03-10 15:16:17 +11:00
Shannon 405727f1ac Completes: U4-3919 Get google spellchecker working in new RTE editor in a much better way that requires no server side implementations - it enables spell checking by the browser in the RTE which is heaps better and less code for us 2014-03-10 14:36:20 +11:00
Shannon 6446f63dcb Fixes: U4-4366 Lots of js errors in RteController when editing the rte data type 2014-03-10 14:16:24 +11:00
Shannon f1963fb404 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-10 12:56:01 +11:00
Shannon c26b72bd10 fixes a locking issue and exception logging 2014-03-10 12:55:45 +11:00
Shannon b94cee68e7 Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0 2014-03-10 11:23:06 +11:00
Shannon b67fbbcbd8 Fixes: U4-4015 Usercontrol Browse Properties error 2014-03-10 11:22:49 +11:00
perploug 71fcc77e9b merge 2014-03-09 22:24:04 +01:00
perploug 38509f9d5a Adds details view to media picker to edit alt text 2014-03-09 22:21:55 +01:00
perploug 3ff04f585c Fixes issue with late-loaded file resolvers 2014-03-09 22:21:36 +01:00
Sebastiaan Janssen 3de8f9bd18 Merge pull request #311 from arknu/71-issue3691
U4-3691: Use empty alt text instead of 'Some description'
2014-03-08 14:05:52 +01:00
arknu c95e7c245e U4-3691: Use empty alt text instead of 'Some description' 2014-03-07 22:24:28 +01:00
perploug fce31a2e02 7.1 beta 2014-03-07 15:26:28 +01:00
Sebastiaan Janssen 4d3eef1124 Update version 2014-03-07 15:25:10 +01:00
perploug b816e7f4db Fixes: sites cannot run the new installer if they have /install directory 2014-03-07 12:10:04 +01:00
perploug 45f6d4f911 ensures the installer clears angular cache 2014-03-07 12:10:00 +01:00
Shannon 6a9a1d1547 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-07 20:26:57 +11:00
perploug 391eb99e10 Installer facts typo 2014-03-07 10:18:36 +01:00
perploug 3b4487c836 Fixes: Weird merge issue with dashboard.config 2014-03-07 10:18:30 +01:00
perploug 46461c7c5d Fixes installer breaks with missing app_data/temp/installer folder 2014-03-07 10:18:08 +01:00
perploug 7104629ffd Fixes installer database dropdown default value 2014-03-07 10:17:46 +01:00
Shannon b46abecde5 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/EditProfile.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByDate.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByName.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByProperty.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Login.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/LoginStatus.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Navigation.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/RegisterMember.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/SiteMap.cshtml
	src/Umbraco.Web.UI/umbraco/scripting/templates/cshtml/Navigation.cshtml
	src/Umbraco.Web.UI/umbraco/scripting/templates/cshtml/SiteMap.cshtml
2014-03-07 20:10:33 +11:00
Shannon e82795f798 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-07 20:09:32 +11:00
Shannon a6faf5b757 fixes build issue 2014-03-07 20:09:22 +11:00
Shannon 3e6e6faf03 Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0 2014-03-07 20:08:22 +11:00
Shannon b3f18bc677 fixed an issue with setting password with legacy api 2014-03-07 20:08:10 +11:00
Sebastiaan Janssen a48fe40675 Also clean up v6 snippets 2014-03-07 09:46:45 +01:00
Shannon 74c777b1ae Ensures the built-in member controllers have the correct logic - somehow got reverted and then not merged. 2014-03-07 19:39:31 +11:00
perploug 1e955fa813 Tweaks startkits usercontrol style 2014-03-07 09:34:25 +01:00
Shannon bc371e69a3 Completes: U4-4227 Rename default member property aliases 2014-03-07 19:30:54 +11:00
Shannon 9a97b636eb Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-03-07 19:15:38 +11:00
Shannon 878156e21e putting back what the UmbLoginController should be ... where in the hell has this been overwritten from??! 2014-03-07 19:13:25 +11:00
Sebastiaan Janssen af376d2837 Fix failing nuget build (now that \install is removed) 2014-03-07 09:06:06 +01:00
Shannon 9dd5f250c7 Fixes up the GetUrlWithTimeStamp to be called GetUrlWithCacheBust and another extension method to actually generate the hash which will be umb version + cdf version hashed or datetime.ticks if in debug mode. Updates the main view to use CDF to render the CSS which ensures compression/minification/combination + cache busting. 2014-03-07 11:03:13 +11:00
Shannon bb527996b9 Moves the JsNoCache to a real readable file instead of an embedded string (now an embedded file resource), updates it's logic to not append the hash to any dependencyhandler.axd request, fixes case sensitivity checking on the URLs, changes the cdf + umb version to be a nice shorter hash of the two. 2014-03-07 10:40:27 +11:00
Shannon 1a171161cd Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-03-07 10:11:36 +11:00
perploug d410663a68 Updates ImageProcessor 2014-03-06 22:54:51 +01:00
perploug 9e332ca0a4 Fixes: media unit test merge issue 2014-03-06 22:54:23 +01:00
perploug 02388a33ba Tweaks fileupload view 2014-03-06 22:54:05 +01:00
perploug 3f52364308 Fixes: FixNumber directive always dirtied the model 2014-03-06 22:53:51 +01:00
perploug e157837e0e Fixes merge issue in valformmanager 2014-03-06 22:53:13 +01:00
perploug c2318349e5 merge 2014-03-06 20:11:37 +01:00
perploug c540c74a04 merge 2014-03-06 20:10:17 +01:00
perploug e5b1271ce1 Fixes: U4-4205 Add item to multi node tree picker - Min/Max Items Issue 2014-03-06 14:38:03 +01:00
perploug dfaa15c6e7 Directive cleanup + button event js errors fix 2014-03-06 12:28:36 +01:00
perploug 4aa3e1368a Fixes scrollbar and database val msg 2014-03-06 12:27:46 +01:00
Shannon 25f10011fc Fixes merge issues 2014-03-06 20:38:23 +11:00
perploug d08f08ffaf Umbraco facts 2014-03-06 10:30:41 +01:00
Shannon 9a9237e78e Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
	src/Umbraco.Core/Services/IMembershipUserService.cs
	src/Umbraco.Tests/PublishedContent/PublishedContentTestElements.cs
	src/Umbraco.Web.UI/config/trees.config
	src/Umbraco.Web.UI/config/umbracoSettings.config
	src/Umbraco.Web.UI/umbraco/controls/ContentTypeControlNew.ascx
	src/Umbraco.Web.UI/umbraco/developer/DataTypes/editDatatype.aspx
	src/Umbraco.Web.UI/umbraco/plugins/uGoLive/Dashboard.ascx
	src/Umbraco.Web/Mvc/UmbracoViewPageOfTModel.cs
	src/Umbraco.Web/Search/ExamineEvents.cs
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/umbraco.presentation/content.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/cache/LegacyClasses.cs
2014-03-06 20:22:32 +11:00
Shannon 1511ad58b2 oops, put back the defaults for umbracoSettings 2014-03-06 20:16:55 +11:00
Shannon 2e9b751174 Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0 2014-03-06 20:12:21 +11:00
Shannon d61ab97be3 Fixes: U4-4217 Ensure that the cmsTask data is cleared for any entity that uses umbracoNode table 2014-03-06 20:12:05 +11:00
Stephan dd40d73b71 Merge remote-tracking branch 'origin/6.2.0' into 6.2.0 2014-03-06 10:06:50 +01:00
Shannon 068bca84b7 Fixes: U4-156 Drag / drop support 2014-03-06 20:05:13 +11:00
Shannon 0fda528b94 Fixes: U4-1550 Publish notifications on a load balanced environment 2014-03-06 19:47:23 +11:00
Shannon 3552f63d87 Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0 2014-03-06 19:29:35 +11:00
Shannon 01d04fde37 Fixes: U4-4060 Rollback feature does not show differences 2014-03-06 19:29:09 +11:00
Stephan 7f8c526136 Fix TryConvertTo handling of number decimal separator 2014-03-06 09:14:05 +01:00
Stephan ea4be14f0c Fix 026d040 - keep Standalone stuff internal 2014-03-06 09:10:14 +01:00
Stephan 20df48e2f0 Merge remote-tracking branch 'origin/6.2.0' into 6.2.0 2014-03-06 08:49:38 +01:00
Stephan 2c0f6f975c Bugfix UmbracoEntity ctor test 2014-03-06 08:42:41 +01:00
Shannon fa7f91b39d Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0 2014-03-06 18:26:10 +11:00
Shannon 72c5853fb1 Completes: U4-3937 Ensure media is indexed across all servers in LB environment with Distributed Cache calls
for members
2014-03-06 18:25:38 +11:00
Stephan f03b1a22f9 Merge remote-tracking branch 'origin/6.2.0' into 6.2.0 2014-03-06 08:12:51 +01:00
Shannon e7fb6e5beb Streamlines member and user services CreateMemberWithIdentity to be similar to media/content and not have a raise events flag. Also implements the CreateWithIdentity explicitly 2014-03-06 18:07:02 +11:00
Shannon d0cc93d6a2 Fixes: U4-3937 Ensure media is indexed across all servers in LB environment with Distributed Cache calls
This fix is for media indexes to be distributed properly and for unpublished content to be distributed properly, now to get members to do the same.
2014-03-06 17:50:08 +11:00
Shannon 4adc2562b1 Fixes issue with ugolive dashboard trying to load in knockout from a bundle which causes the examine mgr to fail 2014-03-06 17:49:09 +11:00
Shannon ba6878666c Fixes pretty ugly issue of the Saving/Saved events not being raised when using CreateWithIdentity 2014-03-06 17:35:47 +11:00
Shannon 30da7fb801 Merge branch '7.1.0-installer' into 7.1.0
Conflicts:
	src/Umbraco.Web.UI.Client/src/common/mocks/resources/entity.mocks.js
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.controller.js
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/imagecropper/imagecropper.controller.js
	src/Umbraco.Web.UI.Client/test/unit/app/media/edit-media-controller.spec.js
2014-03-06 12:28:50 +11:00
Shannon 7086a5153a Fixes js errors with apply since a digest is already in operation. 2014-03-06 12:25:45 +11:00
Shannon 37937e2c8e Fixes the user password validation to ensure it obeys what the membership provider's are configured for. 2014-03-06 12:11:14 +11:00
Shannon 7676099f2e small styling fix on db err msg 2014-03-06 11:14:41 +11:00
perploug 0d1bb355b5 merge 2014-03-05 20:12:45 +01:00
perploug 3276b8a4d8 Latest visual changes to installer + db validator 2014-03-05 20:03:45 +01:00
Stephan 792ab8d088 Introduce support for content fragments 2014-03-05 15:46:37 +01:00
Stephan 3d4409e52a Refactor CacheRefreshersResolver.CacheResolvers into .CacheRefreshers 2014-03-05 15:46:35 +01:00
Stephan acd377956f Improve how DomainHelper determines domain 2014-03-05 15:46:34 +01:00
Stephan 3b6dcc3421 Factor Dictionary.ReplaceKey method 2014-03-05 15:46:33 +01:00
Stephan cec4d41df7 Add comments to UmbracoViewPageOfTModel 2014-03-05 15:46:32 +01:00
Stephan ff0bcffefa Implement DefaultShortStringHelper.PostFilter to cut url segments at 240 chars 2014-03-05 15:46:31 +01:00
Stephan 5dbc72897a Add method to reset PublishedContentRequest template 2014-03-05 15:46:30 +01:00
Stephan 83736bec01 U4-4190 - enable retrieval of wildcard domains 2014-03-05 15:46:29 +01:00
Stephan 2f953c3819 Fix a38e0dc - use UInt64 instead of int 2014-03-05 15:46:28 +01:00
Stephan 026d040a62 Enable StandaloneApplication to work with Powershell 2014-03-05 15:39:16 +01:00
Stephan 7747b8f64f U4-3579 - support chars such as <, > or & in prevalues 2014-03-05 15:33:15 +01:00
Shannon feab2de260 Fixes up the starter kit installer in the back office with it's legacy implementation. Adds some handy methods for webapi routing for areas. 2014-03-05 22:42:51 +11:00
Shannon 24cc417395 Removed all the legacy files that we don't need - need to test the starter kit installation process in the back office though as some old files are still used there. 2014-03-05 19:47:00 +11:00
Shannon 56e1fc07e4 adds some notes on testing db connectivity. 2014-03-05 19:42:24 +11:00
Shannon fbd2b3a1e1 Gets the v7 upgrade report working on the new installer. 2014-03-05 18:23:50 +11:00
Shannon 8f7f761bb3 implements the file permissions report correctly and tests it. 2014-03-05 17:44:13 +11:00
Shannon a40ba2f27e Updates the RequiresExecution logic so we can skip steps based on some user input (i.e. skip the starter kit installation). Fixes the start kit js stuff to update the model correctly and continue. Fixes the error view to restart - it cannot just go back because there might not be a view there. 2014-03-05 14:30:17 +11:00
Shannon 893f86d34c Fixes installer service so that when forward is called and there are no more views to show the installer will automatically start. This will occur in cases where we are customizing the install but we don't want a starter kit installed since the server has detected that one has already been installed. This also prevents some JS errors and will improve the installer in the future if there might be more views. 2014-03-05 12:57:44 +11:00
Shannon ddd2ab463e Ensures that the starter kit view is not returned if there is one already installed 2014-03-05 12:44:38 +11:00
Shannon cbced2caed fixes db upgrade step to check for correct previous step 2014-03-05 12:21:49 +11:00
Shannon ce068a60d5 Removes default instructions from the installer service, passing in empty instructions is ok now and the server will assign defaults if they are empty. 2014-03-05 12:08:35 +11:00
Shannon 7f7f3202d2 fixes issue with checking starter kit steps, fixes issue with installer service code with the method param name being the same as the variable name and fixes the _find lookups to ensure a value is returned from the iteration. 2014-03-05 11:49:07 +11:00
Shannon 0227b800a0 Gets the installer steps working nicely and returning the next step to execute which now displays the current step details correctly and dequeues steps that are not required after the previous one has executed. 2014-03-05 11:34:42 +11:00
Shannon 8e89aa233c Merge branch '7.1.0-installer' of https://github.com/umbraco/Umbraco-CMS into 7.1.0-installer
Conflicts:
	src/Umbraco.Web.UI.Client/src/installer/installer.service.js
	src/Umbraco.Web/Install/Controllers/InstallApiController.cs
2014-03-05 10:34:27 +11:00
Shannon 24ceb5ce2d Updates to include returning the next step in sequence 2014-03-05 10:32:59 +11:00
perploug 923eb300e5 Updates grunt file to run vs file copy 2014-03-04 19:11:27 +01:00
Shannon 0d93db5f1f Fixes the order that descriptions are listed during install 2014-03-04 19:28:57 +11:00
Shannon d2aecd12eb Updates more installer logic, getting into the nitty gritty details with upgrades, etc... 2014-03-04 19:20:36 +11:00
Shannon 1e99c466ee Updates some tests and fixes a couple things 2014-03-04 16:40:23 +11:00
Shannon 71a9fb4f68 Updated more installer logic 2014-03-04 16:21:45 +11:00
Shannon 0497771750 fixed merge issues 2014-03-04 11:42:11 +11:00
Shannon 000b2b639f Merge branch '7.1.0-installer' of https://github.com/umbraco/Umbraco-CMS into 7.1.0-installer
Conflicts:
	src/Umbraco.Web/Install/Controllers/InstallApiController.cs
	src/Umbraco.Web/Install/InstallSteps/DatabaseConfigureStep.cs
	src/Umbraco.Web/Install/InstallSteps/DatabaseInstallStep.cs
	src/Umbraco.Web/Install/InstallSteps/DatabaseUpgradeStep.cs
	src/Umbraco.Web/Install/InstallSteps/FilePermissionsStep.cs
	src/Umbraco.Web/Install/InstallSteps/SetUmbracoVersionStep.cs
	src/Umbraco.Web/Install/InstallSteps/StarterKitCleanupStep.cs
	src/Umbraco.Web/Install/InstallSteps/StarterKitDownloadStep.cs
	src/Umbraco.Web/Install/InstallSteps/StarterKitInstallStep.cs
	src/Umbraco.Web/Install/InstallSteps/UserStep.cs
	src/Umbraco.Web/Install/Models/InstallSetupStep.cs
	src/Umbraco.Web/Install/Models/InstallSetupStepAttribute.cs
2014-03-04 11:20:52 +11:00
Shannon 885f691c0e Updated install steps, classes and logic 2014-03-04 11:16:42 +11:00
perploug 92f6b5564d Fixes failing js unit tests 2014-03-03 13:21:30 +01:00
perploug ce65ae8742 Updates to the installer UI
Adds database and packages step
2014-03-03 08:57:57 +01:00
Shannon 57c9d9ca7b Merge remote-tracking branch 'origin/6.2.0' into 7.1.0-installer
Conflicts:
	src/Umbraco.Tests/MockTests.cs
	src/Umbraco.Web/UmbracoContext.cs
2014-03-03 04:17:40 +01:00
Shannon feb9f40237 updates some ctors on umbraco context and routing context to have lazy overloads which allows us to more easily create/mock the umbraco context. 2014-03-03 04:16:09 +01:00
AndyButland c9d1123f0a Removed related links sorting up/down buttons and updated to use drag-drop 2014-02-28 14:42:45 +01:00
Shannon 3fc96a45a6 Merge branch '7.1.0-installer' of https://github.com/umbraco/Umbraco-CMS into 7.1.0-installer 2014-02-27 10:16:45 +01:00
Shannon 3b71a6c3a5 asfsafd 2014-02-27 10:16:30 +01:00
perploug 9c4212703b umbraco base url 2014-02-27 10:00:38 +01:00
Sebastiaan Janssen a20c11d438 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-02-26 22:52:38 +01:00
Sebastiaan Janssen 89b8d056a2 Fixes #U4-4310 Missing Curly Brace in Boolean Property Editor 2014-02-26 22:52:13 +01:00
Sebastiaan Janssen 8707348215 Merge pull request #307 from BatJan/7.1.0
U4-4295 typo on front of admin
2014-02-26 22:42:00 +01:00
Jan Skovgaard 70ba0cd592 U4-4295 typo on front of admin 2014-02-26 19:51:56 +01:00
Shannon 429b5f7c01 Updates the completion stage of the installer 2014-02-26 16:49:35 +01:00
Shannon db4a547801 Fixes build issues 2014-02-26 16:39:40 +01:00
Shannon a9916fc415 Installer logic working for a new installer on sqlce 2014-02-26 16:30:25 +01:00
Shannon 64a37209b8 Merge branch '7.1.0-installer' of https://github.com/umbraco/Umbraco-CMS into 7.1.0-installer 2014-02-26 16:01:48 +01:00
Shannon f9304d7f04 Gets lots of the new installer logic working 2014-02-26 16:01:31 +01:00
perploug 24ae424207 Fixed: U4-3851 More specific error when saving a user with no Section checkbox selected 2014-02-26 15:53:16 +01:00
Per Ploug Krogslund b86ef0d7ac Adds WIP installer files 2014-02-26 15:51:09 +01:00
Per Ploug Krogslund de97d8849a Fixes broken unit tests 2014-02-26 15:51:09 +01:00
Per Ploug Krogslund a3576d8564 Moves app controllers into seperate folder 2014-02-26 15:51:08 +01:00
Sebastiaan Janssen ffdf4e7256 Merge pull request #306 from coolmikkel/7.1.0
Name of Media items easyer to read
2014-02-26 09:46:19 +01:00
Shannon f9475305bb more install bits 2014-02-26 18:25:59 +11:00
coolmikkel 0a6208f3ef Name of Media items easyer to read
The contrast between the text color and background was to low. The text
color has to be darker - black would be the right one.
2014-02-25 22:11:38 +01:00
Shannon 00f2afe454 Creates Install MVC Area, creates new installer api controllers, moves old installer files to the new Area folder so that the /install path can route properly. 2014-02-26 04:15:14 +11:00
Shannon 3800ffc11c Fixes new membership providers to ensure no sql is run on init. Fixes the installer useLegacyEncoding setup to not attempt to set this when the legacy provider is enabled. 2014-02-26 02:57:05 +11:00
Shannon 2a9b1cb246 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web/Strategies/Migrations/ClearMediaXmlCacheForDeletedItemsAfterUpgrade.cs
2014-02-25 03:30:32 +11:00
Shannon 651182f5de Fixes sql statement - to be like we have in v7 that supports all sql servers 2014-02-25 02:37:48 +11:00
Shannon 784f873777 updated to use constant 2014-02-25 02:36:25 +11:00
Shannon a938605461 fixes merge issue 2014-02-25 02:33:48 +11:00
Shannon bb9c968d3a fixes merge issues 2014-02-25 02:30:05 +11:00
Shannon b8fe5df3c9 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Configuration/GlobalSettings.cs
	src/Umbraco.Core/Configuration/UmbracoSettings.cs
	src/Umbraco.Core/Models/Member.cs
	src/Umbraco.Core/Services/ContentService.cs
	src/Umbraco.Core/Services/MediaService.cs
	src/Umbraco.Core/Services/MemberService.cs
	src/Umbraco.Web.UI/config/ClientDependency.config
	src/Umbraco.Web.UI/config/Dashboard.Release.config
	src/Umbraco.Web.UI/config/feedProxy.config
	src/Umbraco.Web.UI/config/tinyMceConfig.config
	src/Umbraco.Web.UI/config/trees.config
	src/Umbraco.Web.UI/config/umbracoSettings.Release.config
	src/Umbraco.Web.UI/config/umbracoSettings.config
	src/Umbraco.Web.UI/config/xsltExtensions.config
	src/Umbraco.Web.UI/umbraco/config/create/UI.Release.xml
	src/Umbraco.Web/Strategies/Migrations/ClearMediaXmlCacheForDeletedItemsAfterUpgrade.cs
	src/umbraco.providers/members/UmbracoMembershipProvider.cs
2014-02-25 02:24:45 +11:00
Shannon 22b15a06f6 Fixes how member is approved is set by defaut and adds unit test for it. Also ensures that it returns true if the property value is invalid for whatever odd reason. 2014-02-25 02:10:25 +11:00
Shannon cb09795280 Removes new member service Creating event, as only Created makes sense. Deprecates the other 'Creating' events with a note to just use the Created event. 2014-02-25 01:45:41 +11:00
perploug 81dfd0c6bc #U4-3649 Fixed 2014-02-24 15:35:25 +01:00
perploug 9f028e6d61 Replace Crop() with GetCropUrl() 2014-02-24 15:35:24 +01:00
Sebastiaan Janssen ac57ec2211 Fixed U4-3648 v7, User without access to "Users" section can't change password
Added change password dashboard back
2014-02-24 13:15:45 +01:00
Sebastiaan Janssen 218bb28440 #U4-4245 Umbraco version number is really hard to see
Moved the version to the top when clicking "help", moved the css into main.less and made the text a little bit darker for contrast
2014-02-24 12:49:07 +01:00
Sebastiaan Janssen d02b230f71 Fixes #U4-4195 7.0.X PropertyValueEditor.GetDatabaseType FormatException on different regional settings 2014-02-24 12:08:33 +01:00
Sebastiaan Janssen 289361c02f Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-02-24 11:59:05 +01:00
Sebastiaan Janssen fc3020ffa4 #U4-4153 Fixed Macro snippets refer to 'MediaCurrent' and 'Show', also polishes other snippets a bit 2014-02-24 11:58:25 +01:00
perploug 7c4c44cf7e Enables the breadcrumb nav on media edit 2014-02-24 11:55:54 +01:00
perploug 458c51a955 Implements IHtmlString on imagecropdataset 2014-02-24 10:42:29 +01:00
perploug f3d64bb85d Fixes broken file resolver due to wrong alias 2014-02-24 10:30:35 +01:00
perploug 8261a2b69b Fixes U4-4271 U7.1 Nightly build 16 YSOD when editing doc type 2014-02-24 09:36:10 +01:00
Sebastiaan Janssen a5637af2d8 Adding missing CreateMember method that also as a convenience allows you to pass in the member type alias instead of a whole membertype 2014-02-22 18:32:26 +01:00
Sebastiaan Janssen ac59c5deb0 Fixing some potential upgrade issues and two issues found with the legacy member API
- For legacy API we never had and "approved" checkbox, so the assumption is that members are always approved
- The RequiresUniqueEmail check was wrong, previously the assumption was: if there's no e-mail then don't check for uniqueness
2014-02-22 16:44:02 +01:00
Sebastiaan Janssen 683ddf6d34 Apparently we rely on <error404>1</error404> to be in umbracoSettings.config 2014-02-22 16:03:59 +01:00
Sebastiaan Janssen eda33b1ac4 Update incorrect summary 2014-02-22 14:47:59 +01:00
Sebastiaan Janssen ed0f884348 Been a while: properly syncing /config/*.config with /config/*.Release.config 2014-02-21 17:50:58 +01:00
Sebastiaan Janssen b561351340 Update UI.Release.xml with the correct Partial View references 2014-02-21 17:33:19 +01:00
Sebastiaan Janssen 690ab29863 Use the database "agnostic" query for this (see U4-3876) 2014-02-21 17:01:59 +01:00
Jeavon Leopold b048ae4d36 U4-1752 - Add GetPreValueAsString(id) method to the @Umbraco helper 2014-02-21 10:17:29 +00:00
Shannon a1b3345671 fixes last unit test 2014-02-21 18:09:46 +11:00
Shannon e1022bd5a1 fixes another test 2014-02-21 18:04:15 +11:00
Shannon 1f2c00e3be fixes another test 2014-02-21 18:03:26 +11:00
Shannon bf4c58a6f4 fixed some config unit tests 2014-02-21 18:01:23 +11:00
Shannon 9de0a62cff Fixes merge issues 2014-02-21 16:43:49 +11:00
Shannon 3c3f2d7c8d Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Constants-Conventions.cs
	src/Umbraco.Core/DateTimeExtensions.cs
	src/Umbraco.Core/Models/PropertyType.cs
	src/Umbraco.Core/Persistence/Factories/MemberTypeReadOnlyFactory.cs
	src/Umbraco.Core/Persistence/Factories/PropertyGroupFactory.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IUserRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/PermissionRepository.cs
	src/Umbraco.Tests/App.config
	src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs
	src/Umbraco.Tests/UmbracoExamine/ExamineBaseTest.cs
	src/Umbraco.Tests/packages.config
	src/Umbraco.Web.UI/packages.config
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/app.config
	src/Umbraco.Web/umbraco.presentation/umbraco/developer/Xslt/xsltInsertValueOf.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/umbracoField.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/members/EditMember.aspx.cs
	src/umbraco.MacroEngines/App.Config
	src/umbraco.providers/members/UmbracoMembershipProvider.cs
2014-02-21 16:32:53 +11:00
Shannon 27cb1d5223 completes: U4-4275 Hide built-in member type properties from the insert umbraco field list 2014-02-21 16:20:07 +11:00
Shannon c677f36f08 Changes some of the naming conventions for the underlying membership provider services bits. 2014-02-21 16:03:32 +11:00
Shannon 750f7a6b33 Updates some method names to be less confusing regarding permissions 2014-02-21 15:55:56 +11:00
Shannon dea804b402 fixes some permission logic and a unit test 2014-02-21 15:46:39 +11:00
Shannon 3803d1d7da fixes reflected property on dynamicnode and unit test 2014-02-21 15:22:02 +11:00
Shannon 3e67b3034d Added the ability to specify explicit db type's for a property type using an overloaded ctor argument. This allows us to specify explicit db types for properties without having them get overwritten during the repository saving logic which will always reset it to be the db type of the underlying property editor. In the case of our built-in membership properties we do not want this to happen. Fixes some unit tests. Removes built-in props from being included in the property types on the profile model on the front-end. 2014-02-21 12:56:00 +11:00
Shannon 1ada5210ad updated to latest examine 2014-02-21 09:54:53 +11:00
Shannon 92e1db1667 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-02-20 23:14:45 +11:00
Shannon f0258b2bce fixes merge issue 2014-02-20 23:14:39 +11:00
Shannon 9a608674eb fixes another test 2014-02-20 23:11:27 +11:00
Shannon 0fc5af5e17 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Persistence/Factories/MemberTypeReadOnlyFactory.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IMemberRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Persistence/RepositoryFactory.cs
	src/Umbraco.Tests/packages.config
	src/Umbraco.Web.UI/packages.config
2014-02-20 23:06:13 +11:00
Shannon 7dae412a29 fixes most of the newly failing unit tests and adds better null checking 2014-02-20 23:00:04 +11:00
perploug c3471ffbc3 Cropsizes config and upload compatible
Refactors imagecropper and fileupload to use the samen metadata setting
extensions
2014-02-20 12:59:15 +01:00
perploug f8baf343bf Fixing totally broken merge 2014-02-20 12:59:11 +01:00
Shannon b7f7775b89 adds initial commit of entity cloning 2014-02-20 22:34:54 +11:00
Shannon a1067e676f publicizes some repository factory methods and interfaces 2014-02-20 21:56:58 +11:00
Shannon ce649f54d7 Upgraded to latest examine, completes: U4-4240 Update with new examine version 0.1.53 2014-02-20 15:01:47 +11:00
Shannon 09b9056fb0 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-02-20 14:39:23 +11:00
Shannon 8da2c22a4e removes special default password check, this is no longer necessary. 2014-02-20 14:38:56 +11:00
Shannon d159792256 Updates last step of installer logic, we don't care about other providers as that would never have worked anyways 2014-02-20 14:38:00 +11:00
Shannon d08712306c updates logic for v7 new cols 2014-02-20 14:03:51 +11:00
Shannon 5e30fd4ced Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-02-20 13:56:37 +11:00
Shannon 314abde9ac fixes merge 2014-02-20 13:56:18 +11:00
Shannon 606b5aa60a fixes logic in membershiphelper updatemember 2014-02-20 13:55:56 +11:00
Shannon 5441c30780 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/UriExtensions.cs
	src/Umbraco.Web.UI/install/Default.aspx.cs
	src/Umbraco.Web/UmbracoModule.cs
2014-02-20 13:42:02 +11:00
Shannon 2c563168e7 Merge remote-tracking branch 'origin/7.1.0' into 7.1.0 2014-02-20 13:40:56 +11:00
Shannon 59f8508332 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Attempt{T}.cs
	src/Umbraco.Core/Persistence/Factories/MemberTypeReadOnlyFactory.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Web/umbraco.presentation/umbraco/members/EditMember.aspx.cs
2014-02-20 13:40:17 +11:00
Shannon a206652a0d updates login redirect logic to be more inline with v7, less greedy which is better. 2014-02-20 13:37:12 +11:00
Shannon 545040fdf0 Fixes installer upgrade 2014-02-20 13:09:54 +11:00
Sebastiaan Janssen 2954b31435 Enables change content type action for v7 as well (see issue 1468) 2014-02-19 21:48:17 +01:00
Shannon 40d1a09609 Updates the membership helper in how it updates the membership provider data, updates the editMember page to update the membership provider properties all via the membership provider 2014-02-19 23:49:53 +11:00
Shannon 2e25bc8fdb Moves all FindCOntrolRecursive calls to an extension method 2014-02-19 23:49:08 +11:00
Shannon 1618ac86b8 Adds implicit bool operator for Attempt, makes things nicer to check for success :) 2014-02-19 22:45:22 +11:00
Shannon a4adbca12c Removes the ability to edit the data type for a built-in membership property. Ensures that even if a data type is attempted to be changed with the API that the built-in properties are always persisted with the data type that we have defined by convention. 2014-02-19 21:56:33 +11:00
Shannon 8728e2f918 Fixes: U4-4260 When changing sort order on member type and saving, this doesn't get reflected on the member 2014-02-19 20:17:21 +11:00
Shannon d6b55c54e6 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-02-19 17:54:07 +11:00
Shannon cd53682ddb removes ability to configure custom fields for the new membership provider 2014-02-19 17:52:45 +11:00
Shannon d000b67703 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-02-19 17:27:42 +11:00
Shannon e2d5fbf545 Fixes issue with ensuring properties on entities when a new property type has been created - but if the property type doesn't have an id, we should ignore it. 2014-02-19 17:27:08 +11:00
Shannon a6c4ce3a31 fixes some merge issues 2014-02-19 17:26:19 +11:00
Shannon 64246b4eef fixes build 2014-02-19 17:08:55 +11:00
Shannon fe8098adac Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web.UI/umbraco/controls/GenericProperties/GenericProperty.ascx
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/GenericProperties/GenericProperty.ascx.cs
2014-02-19 17:02:25 +11:00
Shannon d339e7c814 updates the property type editability for built in member types 2014-02-19 16:57:33 +11:00
Shannon 9860ffc3bf Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Constants-Conventions.cs
	src/Umbraco.Core/Models/Member.cs
	src/Umbraco.Core/Models/MemberType.cs
	src/Umbraco.Core/Persistence/Factories/MemberTypeReadOnlyFactory.cs
	src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Persistence/Repositories/VersionableRepositoryBase.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Web.UI/umbraco/controls/GenericProperties/GenericProperty.ascx
	src/Umbraco.Web/Models/ProfileModel.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/GenericProperties/GenericProperty.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/members/EditMember.aspx.cs
2014-02-19 16:55:56 +11:00
Shannon 7db829b2a3 updates convention data types 2014-02-19 16:50:45 +11:00
Shannon 10759773ca Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-02-19 16:36:28 +11:00
Shannon 078deb704b Completes: U4-4255 Add readonly membership provider properties to the profile model 2014-02-19 16:27:14 +11:00
Shannon 6858eb3330 Fixes: U4-4257 Fix member type editor to not have to re-call 'Save' so many times,
streamlines how the show property and editable property on member type's are dealt with (removes tuples)
2014-02-19 16:14:34 +11:00
Shandem 16e16f9578 Merge pull request #299 from kgiszewski/feature-slider-fix
Fix broken path
2014-02-19 15:35:30 +11:00
Shannon e267b7700a Ensures that member properties are created when member type property type's are added (same as U4-1407), streamlines how this occurs on the base class. Streamlines how empty aliases are validated at the repo level for members, media, content. Makes built-in member property type's non-editable 2014-02-19 14:23:48 +11:00
perploug f780c21ef0 Removed crops from umbracoSettings.cfg 2014-02-19 00:19:18 +01:00
perploug 84e7396729 Ensure that umbracoFile doesnt try to process json as a filepath 2014-02-19 00:19:17 +01:00
perploug 7ed11c04c5 Updates yepnope cache in jsinit.cs to append correct rnd value 2014-02-19 00:19:16 +01:00
perploug 81305173ca Changes imagecropper to store config in its property data 2014-02-19 00:19:15 +01:00
perploug 6637ceaf41 Add support for looking up 3rd party editor file paths
Adds a file resolver on the mediaHelper, property editors can then
register a resolver to return file paths from whatever format
2014-02-19 00:19:13 +01:00
perploug 82d5f7b72b Adjusted assetsService to deal with weird yepnope behaivior 2014-02-19 00:19:12 +01:00
perploug e69dea26a5 Adds extra null checking when looking up active tree 2014-02-19 00:19:11 +01:00
Kevin Giszewski 85d6f1d54a Fix broken path 2014-02-18 11:07:14 -05:00
Kevin Jump 366697f4eb PackageService: Fixes Single import for DataTypes
Importing a file with a single data type failed, because the DataType
element is at the root when exported.
2014-02-18 15:10:11 +00:00
Kevin Jump 987644379e Fix U4-4119 - Export Fails for Generic Properties
Adds null checking for PropertyGroupID on export so that properties with
no group (tab) don't throw an exception.
2014-02-18 15:07:47 +00:00
Shannon f168093b92 Merge commit 'f06c9e823545d8e86309bb751e63b99a2a3b1a18' into 7.1.0
Conflicts:
	src/Umbraco.Core/Models/Member.cs
	src/Umbraco.Core/Persistence/Querying/BaseExpressionHelper.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Core/packages.config
	src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs
	src/Umbraco.Web.UI/config/ClientDependency.config
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/passwordChanger.ascx.cs
2014-02-18 18:03:29 +11:00
Shannon 1e45abe71e oops, changes the failedpassattempts back to noedit 2014-02-18 17:58:57 +11:00
Shannon a556b4ed21 Logs warnings if accessing built-in properties on the member model but the underlying property type is missing. 2014-02-18 17:53:02 +11:00
Shannon 953c711ca4 Updates the default member type property types to use "Labels", then needed to update the member type repo and membertypereadonlyfactory to ensure that even though the underlying data type for the property exposes a different Db Type that we 'reset' that Db Type to what it always should be. This means that no matter what underlying data type a developer changes a property to, if it is a built-in membership property, the Db Type will always stay consistent and save in the correct column. Of course if someone enters some invalid data, then the data will not be saved. 2014-02-18 17:19:38 +11:00
Shannon f06c9e8235 Ensures the default member type properties are put on a custom tab 2014-02-18 15:39:00 +11:00
Shannon f1a439e851 removes version specific references to mysql in the proj files and web.config
ensures that escaping in the sql expression classes is done correctly without any double escaping. Also ensures that escaping is happening using the equals operator, not just the Equals() method and adds unit tests for them.
Fixes: U4-4232 Umbraco.Core.Persistence.Querying issue with backslashes
2014-02-18 14:57:03 +11:00
Shannon 20c2574f94 Merge remote-tracking branch 'origin/7.0.4' into 7.1.0
Conflicts:
	build/Build.bat
	src/Umbraco.Core/Configuration/UmbracoVersion.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web/umbraco.presentation/umbraco/users/EditUser.aspx.cs
	src/umbraco.providers/UsersMembershipProvider.cs
2014-02-18 11:11:57 +11:00
Shannon ab4c58b3a3 restores BuildBelle 2014-02-18 11:11:06 +11:00
Shannon cb63642ce9 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-02-18 10:48:51 +11:00
perploug 3fb756939e ImageProcessor config files 2014-02-17 16:17:18 +01:00
perploug ec14a16aec ImageCropper Razor models + helpers 2014-02-17 16:17:17 +01:00
perploug 6944f25c9f Fixes Assets.Service callback not firering 2014-02-17 16:17:16 +01:00
perploug 45c7699a33 Footer breadcrumb navigation 2014-02-17 16:17:09 +01:00
perploug 2bd2f12831 ImageCropper Upload enabled
The cropper can now fully replace the upload datatype
2014-02-17 16:17:02 +01:00
Shannon a0e496e589 Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0 2014-02-17 21:38:38 +11:00
Shannon e0dcc3afbc Streamlines how strings are escaped with the sql expression helpers and syntax providers. Fixes: U4-4232 Umbraco.Core.Persistence.Querying issue with backslashes 2014-02-17 21:38:13 +11:00
Stephan a4b1b31a24 U4-4241 - UrlAbsolute() returns relative urls 2014-02-17 10:49:26 +01:00
Stephan 3634a77d61 U4-4241 - UrlAbsolute() returns relative urls 2014-02-17 10:47:51 +01:00
Shannon 846f4b5b6c Removes the various old hacks for the legacy user's membership provider, now that we have the AllowManuallyChangingPassword flag, these hacks are not required. 2014-02-17 19:32:04 +11:00
Shannon 2869f17eff ensures the default property aliases are set during ctor 2014-02-17 18:02:29 +11:00
Shannon b73c39b4e9 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IUserRepository.cs
	src/Umbraco.Core/Persistence/Repositories/PermissionRepository.cs
	src/Umbraco.Core/Services/UserService.cs
	src/Umbraco.Tests/Services/PerformanceTests.cs
	src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
2014-02-17 17:48:16 +11:00
Shannon feefb052fd Updates the BulkInsertRecords method to optionally close the trans - shouldn't by default. Updates how permissions are handled in the new services and exposes another method, ensures it's all wrapped in trans and ensures that cache is cleared properly. Fixes: U4-4213 "Replace child node permissions" does not work if all permissions cleared 2014-02-17 17:45:59 +11:00
Shannon 87f93be6ba updates version 2014-02-17 16:06:46 +11:00
Shannon 7e7c4b52b6 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/PluginManager.cs
2014-02-17 15:59:43 +11:00
Shannon 4d2d9156ba updates more plugin manager defs 2014-02-17 15:58:57 +11:00
Shannon a1603c3cbd Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Models/Membership/EntityPermission.cs
	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
	src/Umbraco.Core/Persistence/Repositories/PermissionRepository.cs
	src/Umbraco.Core/PluginManager.cs
	src/Umbraco.Web.UI/config/trees.config
	src/Umbraco.Web/Search/ExamineEvents.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/Trees/TreeDefinitionCollection.cs
2014-02-17 15:56:48 +11:00
Shannon 82ba1a24a3 Ensures we perform null checks in both GetAll and GetByQuery as we never want to include a null item in the resultant collection - which could happen depending on what the sub class repository is doing.
Fixes: U4-3145 Cache file periodically becomes corrupted: "Oops: this document is published but is not in the cache (internal error)"
2014-02-17 15:45:36 +11:00
Shannon 357db9d0b6 completes: U4-3282 Expose permission assignment methods at the service layer 2014-02-17 15:33:17 +11:00
Shannon 61766287bc Cleans up some more of the old 'object' User Id references. 2014-02-17 15:26:38 +11:00
Shannon ffbf8b2fd6 completes: U4-4103 Publicize PluginManager for devs to use to create their own plugins 2014-02-17 15:08:27 +11:00
Shannon e8c25283b0 Fixes: U4-2876 Ensure runtime cache is cleared with ICacheRefreshers when macro's change since they use the RuntimeCacheProvider 2014-02-17 15:03:49 +11:00
Shannon f7a703195c Fixes: U4-4215 Tree.config registeres tree inconsistently 2014-02-17 14:56:12 +11:00
Shannon 848e8b5722 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-02-17 14:15:54 +11:00
Shannon 4d316c9671 fixing some casting 2014-02-17 14:15:40 +11:00
Shannon 509be9b431 Updates the underlying UmbracoServiceMembershipProvider to deal with 'object' for provider key, this then lets us deal with either guid or int for the new membership provider, just like the old one does. 2014-02-17 14:14:17 +11:00
Shannon 8154382fb1 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/umbraco.providers/members/UmbracoMembershipProvider.cs
2014-02-17 13:17:19 +11:00
Shannon 10ef5eb7bc adds new interface for members' membership providers to implement so we know what aliases to store data against. 2014-02-17 13:16:28 +11:00
Shannon f4c1c4578f adds some null checking 2014-02-17 12:56:37 +11:00
Shannon 6f15949af7 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-02-17 12:24:37 +11:00
Shannon 2849ecadb7 fix legacy member wrapping new api and mixing email/login name 2014-02-17 12:24:11 +11:00
Shannon 778c698ef7 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-02-17 12:10:12 +11:00
Shannon 697f93c3ce removes null check for LoginName, since it gets set to the name passed in if it is empty 2014-02-17 12:09:27 +11:00
Shannon e6c2f0ad70 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-02-17 11:50:39 +11:00
Shannon 13976559a8 Created a EntityNotFoundException to use when we are expecting an umbraco entity found. Updates some code to use this exception. 2014-02-17 11:50:13 +11:00
Shannon 18121e8726 Enxures user start node's are -1 by default when creating the model. 2014-02-17 11:48:32 +11:00
Shannon 8b6583b554 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-02-17 11:23:24 +11:00
Shannon 234d4cf427 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0
Conflicts:
	src/Umbraco.Core/Models/Template.cs
2014-02-17 11:23:02 +11:00
Shannon 81cdc71145 Ensures new user objects are approved by default. 2014-02-17 11:17:15 +11:00
Sebastiaan Janssen f822400036 Fix broken build 2014-02-15 14:24:40 +01:00
Shannon 2aae108cb4 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Web/Security/WebSecurity.cs
2014-02-13 17:21:30 +11:00
Shannon 4069fc8d1f fixes issue with legacy user.Password property and fixes comparison of sections 2014-02-13 17:19:28 +11:00
Shannon 643f05d949 fixes some more merge issues 2014-02-13 16:56:23 +11:00
Shannon d36cd035e9 Fixes merge issues 2014-02-13 16:46:52 +11:00
Shannon c4acbf0dbc Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Configuration/ClientDependencyConfiguration.cs
	src/Umbraco.Core/Constants-Conventions.cs
	src/Umbraco.Core/Models/Member.cs
	src/Umbraco.Core/Models/Membership/IUser.cs
	src/Umbraco.Core/Models/Template.cs
	src/Umbraco.Core/Persistence/Factories/MemberReadOnlyFactory.cs
	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IMemberRepository.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IUserRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
	src/Umbraco.Core/Persistence/Repositories/PermissionRepository.cs
	src/Umbraco.Core/Persistence/RepositoryFactory.cs
	src/Umbraco.Core/Services/ContentService.cs
	src/Umbraco.Core/Services/IMemberTypeService.cs
	src/Umbraco.Core/Services/IMembershipUserService.cs
	src/Umbraco.Core/Services/IUserService.cs
	src/Umbraco.Core/Services/MemberService.cs
	src/Umbraco.Core/Services/MemberTypeService.cs
	src/Umbraco.Core/Services/ServiceContext.cs
	src/Umbraco.Core/Services/UserService.cs
	src/Umbraco.Core/Umbraco.Core.csproj
	src/Umbraco.Tests/MockTests.cs
	src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs
	src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/EditProfile.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Login.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/LoginStatus.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/RegisterMember.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/Breadcrumb.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/EditProfile.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListAncestorsFromCurrentPage.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListChildPagesFromCurrentPage.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListChildPagesOrderedByDate.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListChildPagesOrderedByName.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListChildPagesWithDoctype.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListDescendantsFromCurrentPage.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/Login.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/LoginStatus.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/MultinodeTree-picker.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/Navigation.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/RegisterMember.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/SiteMap.cshtml
	src/Umbraco.Web.UI/Umbraco/create/PartialView.ascx.cs
	src/Umbraco.Web.UI/config/umbracoSettings.config
	src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
	src/Umbraco.Web/Controllers/UmbLoginController.cs
	src/Umbraco.Web/Controllers/UmbLoginStatusController.cs
	src/Umbraco.Web/Controllers/UmbProfileController.cs
	src/Umbraco.Web/Controllers/UmbRegisterController.cs
	src/Umbraco.Web/Models/LoginModel.cs
	src/Umbraco.Web/Models/LoginStatusModel.cs
	src/Umbraco.Web/Models/ProfileModel.cs
	src/Umbraco.Web/Models/RegisterModel.cs
	src/Umbraco.Web/Models/UmbracoProperty.cs
	src/Umbraco.Web/Mvc/UmbracoViewPageOfTModel.cs
	src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs
	src/Umbraco.Web/Security/WebSecurity.cs
	src/Umbraco.Web/Umbraco.Web.csproj
	src/Umbraco.Web/UmbracoModule.cs
	src/Umbraco.Web/WebApi/UmbracoApiController.cs
	src/Umbraco.Web/umbraco.presentation/library.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/create/PartialViewMacrosTasks.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/create/PartialViewTasks.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/editContent.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/login.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/members/EditMember.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/users/EditUser.aspx.cs
	src/Umbraco.Web/umbraco.presentation/umbracobase/baseLibrary.cs
	src/Umbraco.Web/umbraco.presentation/umbracobase/restExtension.cs
	src/umbraco.businesslogic/User.cs
	src/umbraco.providers/UsersMembershipProvider.cs
	src/umbraco.providers/members/UmbracoMembershipProvider.cs
2014-02-13 16:22:51 +11:00
Shannon 0a80c39962 Fixes merge 2014-02-13 15:25:57 +11:00
Florian Verdonck edee8134c2 Updated request after feedback 2014-02-13 15:21:40 +11:00
Shannon 2f66303b38 Merge branch 'KevinJump-7.0.2' into 7.1.0 2014-02-13 15:12:02 +11:00
Shannon 7102ed49ec Merge branch '7.0.3' of https://github.com/stevetemple/Umbraco-CMS into stevetemple-7.0.3
Conflicts:
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/rte/rte.controller.js
2014-02-13 15:00:42 +11:00
Shandem f5d94c3a05 Merge pull request #294 from nojaf/patch-1
Changing MasterTemplateId to public
2014-02-13 14:48:24 +11:00
Shannon 92502f946b Merge branch '7.0.3' into 7.1.0 2014-02-13 14:49:00 +11:00
Shannon 30a73c0886 updated web.config template to use new role provider. 2014-02-13 14:45:24 +11:00
Shannon f5ee02a3e9 Updates the membership partial view templates to redirect to current page by default but allows this to be overridden. Creates a new RedirectToCurrentUmbracoUrl method which is slightly diff from RedirectToCurrentUmbracoPage since it doesn't care about the actual page item rendering, just the currently rendered URL which is useful if coming from a rewritten URL (which is what happens with public access rewrites) 2014-02-13 13:30:32 +11:00
Shannon 9827b40bea Fixes: U4-4223 MVC based forms with SurfaceControllers don't work when rendered in Webforms mode.
This slightly changes how the routing works in the module, now we always send the request to the RenderRouteHandler, this will first process the logic for route hijacking, then it will determine if the request was found to be a WebForms template, if so then we'll return the webforms handler. This also now allows us to have POSTed values to SurfaceController's from forms that have been rendered in Webforms whilst maintaining all viewdata, tempdata and model state on postback even when rendering in webforms!
2014-02-13 13:19:51 +11:00
Shannon 2de6f09634 Adds configuration section classes for the image cropping + unit tests. 2014-02-13 11:01:37 +11:00
Sebastiaan Janssen df16a69582 Merge pull request #295 from loedeman/patch-1
Update nl.xml
2014-02-12 13:37:09 +01:00
Stephan f9323c85e4 Fix issue with 9d7b3b96 in .designer.cs file 2014-02-12 13:22:35 +01:00
Stephan 2677672e50 Merge remote-tracking branch 'origin/6.2.0' into 6.2.0 2014-02-12 13:22:30 +01:00
Morten Christensen a38e0dcf86 Adding integer overload for UmbracoEntity so it can be used with a dynamic object containing either a boolean or integer retrieved from the database to initialize the UmbracoEntity object. 2014-02-12 12:47:47 +01:00
Stephan fdd7227494 Fix DynamicPublishedContent to use CleanStringType.ConvertCase 2014-02-12 10:46:57 +01:00
Stephan 6b74e14cdd Backport DefaultShortStringHelper from 7.1 2014-02-12 10:40:00 +01:00
Stephan db528d8d7a U4-4199 - undef debug code in release 2014-02-12 10:23:59 +01:00
Shannon 9d7b3b965a fixes some issues with new bundles. 2014-02-12 18:19:20 +11:00
Shannon 806008a7e9 Fixes issue with @ symbols in login name and a member group query 2014-02-12 18:02:00 +11:00
Shannon 45fa192c95 Fixes some unit tests 2014-02-12 17:25:45 +11:00
Shannon 92235128f1 Got new MemberGroupService done, completed the MemberService for role based stuff, created a member group cache refresher since we are caching member groups by name (probably should cache others too). Public access stuff changes if a name of a member group is changed which is now done with an event instead of coded into the biz logic. 2014-02-12 17:14:16 +11:00
loedeman 06cb7a529e Update nl.xml
I've updated the Dutch translation based on the current 7.0.2 English translation (en.xml) since I would rather not start liking the placeholders ;) ...
2014-02-11 19:56:08 +01:00
perploug fa4e9d0cd1 Merge remote-tracking branch 'origin/7.1.0-ImageCropper-WIP' into 7.1.0 2014-02-11 14:56:41 +01:00
perploug 764644fc5d Merge 2014-02-11 14:55:22 +01:00
perploug 0bf27f4371 Make sure the formcontroller reset dirty state on save 2014-02-11 14:48:06 +01:00
Shannon 7622937cfd implemented remaining methods for member groups/roles + unit tests 2014-02-11 20:38:48 +11:00
Shannon bf41694572 Fixed up some more of the member group + member stuff with more unit tests 2014-02-11 19:21:36 +11:00
Shannon 7b897ce64c Member group repo updated along with the member service to support roles, etc... got first of many unit tests passing. 2014-02-11 12:43:55 +11:00
perploug 36a8599e62 Adds cache bursting to production mode
Package installer bumps CDF version, we make sure to purge the angular
cache
initial js loader gets a cache burst as well
2014-02-10 13:02:16 +01:00
Shannon 1ca950f721 Starts creating the IMemberGroupService and supporting classes. 2014-02-10 19:48:16 +11:00
Shannon ffba271fd0 Creates the MemberGroupRepository and supporting models. 2014-02-10 19:35:32 +11:00
Shannon ec08d3e910 Updates MembershipHelper to not change the email/name if the value has not changed. Updates the templates to show only validation summaries for their own values/prefixes. Fixes some underlying MVC methods that merge view state to ensure the prefixes work with validation summaries properly when not showing property level errors. Updates the Umb controllers to add model level validation msgs when failed. 2014-02-10 18:34:12 +11:00
Shannon 0bfd032fad Obsoletes the RedirectOnSucces on the RegisterModel as it is not needed. Adds RedirectUrl to the ProfileModel and updates the controller to redirect properly (ensures it doesn't just redirect to home!) 2014-02-10 16:46:45 +11:00
Shannon 2bb58b6fca Updates MembershipHelper to ensure that the membership provider is used when updating a profile, specifically to deal with unique emails. Updates the profile edit template to have correct validation procedures. 2014-02-10 16:22:15 +11:00
Shannon 4d2d656b3d Moved ChangePassword method to MembershipHelper and makes it public, adds an overload. 2014-02-10 14:29:29 +11:00
Shannon fa625d72f9 updates some comments 2014-02-10 14:12:44 +11:00
Shannon 1991380e02 Changes CDF version to be the hash code of UTC now 2014-02-10 13:53:12 +11:00
Shannon 3b8d6dc2c7 Merge remote-tracking branch 'origin/6.2.0' into 6.2.0 2014-02-10 13:50:43 +11:00
Shannon 1faeb76c27 Removes the need for duplicate templates for partial views. Of course we can have partial view only templates if necessary but currently we just borrow them from the partial view macros and update the header 2014-02-10 13:50:31 +11:00
Florian Verdonck a064903e90 Updated request after feedback 2014-02-08 00:28:52 +01:00
perploug 2850c3c3de Improved caching in debug mode by adding global yepnope filter 2014-02-07 15:45:52 +01:00
Florian Verdonck 1fa7cd234d Changing MasterTemplateId to public
When you create a Template in code, I think there is no way to define a masterTemplate. If MasterTempateId were to be public it could be done.
2014-02-07 09:39:10 +01:00
perploug cec8001c38 Fixes issue with MediaHelper and complex property values 2014-02-07 09:16:05 +01:00
perploug 7dbd21a854 ImageCropper Added as a real property editor + polish
Polishing the UI, it can now edit actual image data and store crop
points / center point as json, next add configuration service
2014-02-07 09:15:44 +01:00
Sebastiaan Janssen 3a513668fd U4-4185 Log fails to show unicode (cyrillic) characters 2014-02-05 15:52:20 +01:00
perploug 9ff82f3a00 Removes unneeded loging in umbpanel.directive 2014-02-04 13:58:13 +01:00
perploug 25999be0c9 Improves sticky footer button detection
Refactored the event hooks, added a watch on the buttons position
2014-02-04 12:53:09 +01:00
perploug 853baf9462 Final tweaks to the unsaved changes dialog 2014-02-04 11:40:16 +01:00
Per Ploug Krogslund 6f36384a35 Merge branch '7.1.0-LocationChangeNotificatiion' into 7.1.0 2014-02-04 09:46:54 +01:00
Per Ploug Krogslund d55e492d17 Route change confirm notification dialog 2014-02-04 09:46:14 +01:00
Per Ploug Krogslund fcbdf6c635 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-02-03 21:50:30 +01:00
Per Ploug Krogslund 1fda22a4e0 Merge branch '7.1.0-LocationChangeNotificatiion' into 7.1.0 2014-02-03 21:48:23 +01:00
Per Ploug Krogslund deeaf724bd Fixes missing dependencies 2014-02-03 21:04:11 +01:00
Per Ploug Krogslund 34824ffbb0 Confirm navigating away from unsaved content 2014-02-03 21:03:43 +01:00
Per Ploug Krogslund 6f28a0a686 Updates NotificationService to support custom views
This allows us to inject small UI components as overlays ontop of
editors
2014-02-03 21:03:24 +01:00
Sebastiaan Janssen b3f6a8c71b Merge branch '7.0.3' into 7.1.0
Conflicts:
	.gitignore
	src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.controller.js
2014-02-03 11:52:36 +01:00
Steve Temple aad0e73fea Add customConfig back into rte 2014-01-31 23:18:49 +00:00
Per Ploug Krogslund 7d7fcd2093 Wip on dropper and gravity editor directives 2014-01-30 22:28:50 +01:00
Stephan 3ef51d7357 U4-2317 - issue with domains & languages management 2014-01-30 16:18:06 +01:00
Stephan 8b553dd067 U4-4144 - work around media cache exceptions on invalid properties 2014-01-29 19:30:17 +01:00
perploug c52123e878 adds mock cropper data for WIP prototype 2014-01-29 14:30:51 +01:00
perploug 4e6ca57f7a Chore: seperate media + image helpers into 2 files 2014-01-29 14:30:35 +01:00
perploug ce9cfbf071 Chore: update media+mediahelper mocks 2014-01-29 14:30:17 +01:00
perploug 8024bde429 Imaging directives (crop, gravity and preview) 2014-01-29 13:44:34 +01:00
perploug 9ce79e98a3 Final tweaks to TreeSource picker
Better help text, polish icons and margins, made sure it toggles UI
correctly for each type of tree
2014-01-29 11:21:54 +01:00
perploug 3e5553d9b0 Fixes weird issue with user language dropdown 2014-01-29 09:50:37 +01:00
Shannon ccaf82d797 Fixes object extensions for dates with a 'kind' specified. 2014-01-29 11:21:35 +11:00
perploug 5047c7bbe7 Fixes: U4-4155 Backend CSS Rich Text Editor Path Issue 2014-01-29 00:28:56 +01:00
perploug 0c45fb1b97 Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-01-28 23:50:58 +01:00
perploug 7bd745a870 WIP: Tree icon colors 2014-01-28 23:50:25 +01:00
Tim Geyssens 93a4e8f426 Removes hard coded api url from rte embed 2014-01-28 16:18:30 +01:00
Tim Geyssens fcc115004e Updates server vars with embedApiBaseUrl 2014-01-28 16:11:57 +01:00
perploug 24062c0061 Rolls back listview items in dialog trees 2014-01-28 15:49:04 +01:00
perploug 06cbdc37b4 Fixes: U4-4143 In rich text editor, non ASCII characters in source code window are encoded
Also at the same time fixes missing config import from serverside config
2014-01-28 15:45:14 +01:00
Shannon f28ae52ae3 moved logic to update a profile to MembershipHelper. 2014-01-28 21:57:00 +11:00
Shannon cfd0973f00 Moves the registration logic to the MembershipHelper, fixes up the views to keep the indexes so props save. 2014-01-28 21:42:30 +11:00
Shannon 1bfdd83ba7 Cleans up more of the membership controllers and snippets to be using the membership helper and fixes up a few issues 2014-01-28 19:41:21 +11:00
Shannon 6fefcacc61 Adds more methods to the MembershipHelper, updates the RegisterModel and obsoletes the standard ctor so biz logic is not happening in the model, updates the snippets to use the correct way. Fixes an issue in the membership repo for persisting new members when the member type doesn't contain all the built-in props. 2014-01-28 18:59:27 +11:00
Shannon 3b639e61b2 Exposes MembershipHelper onthe UmbracoViewPage so people can use it directly in views. 2014-01-28 17:02:20 +11:00
Shannon 9959ff667e publicizes MembershipHelper and exposes it on the various base classes: SurfaceController, UmbracoApiController and UmbracoUserControl as the property "Members", will add more helper methods. 2014-01-28 16:58:55 +11:00
Shannon de1f86c7a1 adds logic to the membership helper to create a new LoginStatusModel with the values filled in, obsoletes the empty ctor on LoginStatusModel since that does some biz logic lookups, instead replaces it with a static method to create an empty one. 2014-01-28 16:30:58 +11:00
Shannon 28d8fd0531 Changes LoginStatusModel to use the correct api and updates the new membership provider stuff to ensure that the provideruserkey is the int id of the model for backwards compatibility. 2014-01-28 16:13:05 +11:00
Shannon e4e76eb0bf Backports commit: Prefixed built in controllers to better avoid conflicts with people's custom code
Conflicts:
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/EditProfile.cshtml
	src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Login.cshtml
	src/Umbraco.Web/Controllers/UmbLoginController.cs
	src/Umbraco.Web/Controllers/UmbLoginStatusController.cs
	src/Umbraco.Web/Controllers/UmbProfileController.cs
	src/Umbraco.Web/Controllers/UmbRegisterController.cs
	src/Umbraco.Web/Umbraco.Web.csproj
2014-01-28 13:47:16 +11:00
Shannon 677cc8c8fd Fixes ProfileController to use normal .Net APIs and the new members service - also removes the Response.Redirect that was in there, why was it like that? 2014-01-28 13:35:43 +11:00
Shannon 3fa5c4e0b2 Updates RegisterController with the standard ASP.Net APIs to create and login a member. 2014-01-28 13:21:30 +11:00
Shannon 360393c464 Fixes LoginStatusController to use the standard ASP.Net APIs 2014-01-28 13:07:25 +11:00
Shannon d3daf88a8d Fixes the LoginController to use the correct APIs 2014-01-28 12:58:22 +11:00
Shannon 7a99ebd6d9 Starts the implementation of the new role provider. 2014-01-28 12:48:41 +11:00
Shannon a7298e2e5a Completes: U4-4148 Anytime RuntimeCacheProvider or InMemoryCacheProvider is used, a cache refresher will need to handle it's distribution! 2014-01-28 12:20:10 +11:00
Shannon 15d7443c61 Streamlines the content type cache refreshing, leaving some of the legacy cache clearing but that shouldn't really have an effect, with these new changes it should be guaranteed that the distributed cache is executed always for Doc, media and member types. 2014-01-28 12:13:27 +11:00
Shannon f2b7e27b34 Fixes: U4-2721 RuntimeCacheProvider is not cleared when data type changes and updates the repo factory to not use the InMemory cache provider since we should only ever use that for very very specific reasons since the memory can never auto-clear with that provider. 2014-01-28 11:30:02 +11:00
Shannon 690d08aa8c Completes wrapping the new IUserService from the legacy User object. Ensures User cache is handled correctly and distributed cache is updated for Users. 2014-01-28 10:46:59 +11:00
Shannon 6719d70cc0 Updates UserTypeCacheRefresher to clear the runtime cache accordingly. 2014-01-28 09:22:01 +11:00
Shannon 3cdcf513ec removes ancient test project 2014-01-28 09:00:17 +11:00
Shannon 23d9944a61 Merge branch '7.0.2' of https://github.com/kalletoxic/Umbraco-CMS into kalletoxic-7.0.2 2014-01-28 08:47:09 +11:00
perploug 31429ad9c8 Fixes treenodes with very long names breaking the tree 2014-01-27 22:09:16 +01:00
perploug 05a8d80284 Fixes broken refresh action
Refresh action referenced the tree, not its root node
2014-01-27 22:08:40 +01:00
perploug c2d978a0db Enables listview children in dialog trees
By default trees doesnt show children of listview nodes, this enables
them in dialog trees, otherwise content pickers cannot select childrens
of a listview node
2014-01-27 22:03:52 +01:00
perploug e17b32c6e5 Removes option to query media with Xpath on mntp
Only content can be queried with Xpath in a reasonable performant manner
as its the only type of data that is cached as xml
2014-01-27 13:49:09 +01:00
perploug de79512dd4 Adds overloads to relationService.AreRelated
Allows to lookup relations based on type and alias of type when doing
"AreReleated()" checks
2014-01-27 13:45:54 +01:00
Mårten Palm 4a095184bb Prevent NullReferenceException
The variable val was not referenced later in the function and caused a
NullReferenceException.
2014-01-27 10:54:41 +01:00
perploug 2a81162756 Fixes inconsistently named private method
Replaces delegates with lambdas
2014-01-27 08:27:31 +01:00
perploug 0a7526601c Merge branch '7.1.0' of https://github.com/umbraco/Umbraco-CMS into 7.1.0 2014-01-24 18:41:46 +01:00
perploug 3e22598f4a fixes mntp filtering 2014-01-24 18:38:47 +01:00
perploug d842f0f5b7 Adds support for xpath root node selection on mntp 2014-01-24 18:38:39 +01:00
perploug 8258619055 adds getByQuery to entityService 2014-01-24 18:38:08 +01:00
perploug 7d2f6c13c3 Addss template clearing when in debugmode 2014-01-24 17:20:34 +01:00
Shannon b314bff127 Creates powershell file to do the build, this detects if you have sandcastle installed first, also overwrites the default TOC.css file with a custom slightly nicer version for the output. 2014-01-24 18:23:37 +11:00
Shannon d66e2e52e9 adds additional bat files to the sln files for editing, adds the sandcastle help file config file that can be used to build the docs when sandcastle is installed. 2014-01-24 16:31:49 +11:00
Shannon 43c426b46c Update booting.aspx
Throw the exception immediately if the parameter is not there or empty.

If the parameter is not there it's defaulted to the current url, and this will redirect to itself and create an endless loop here.
2014-01-24 12:36:02 +11:00
Shannon 0714aaa457 Merge remote-tracking branch 'origin/7.0.2' into 7.1.0 2014-01-24 12:34:40 +11:00
Shannon de6e0dc8d7 Merge branch '7.0.2' into 7.1.0 2014-01-24 12:32:07 +11:00
Kevin Jump 57c68daf38 Fix Template Import when template has no master
Importing a template with no master template (i.e when it's at the root)
caused an error. Added check for MasterTemplateId != null - (tried
.IsValueCreated but that generated a object not set exception)
2014-01-23 16:07:07 +00:00
Kevin Jump a705561a51 Fix Importing Macro when macro already exists
ParseMacroElement called by ImportMacro was no checking for to see if
the macro or properties already exists - caused SQL errors on import of
macro. Added check to look for existing macro, and only add new
properties on import (in line with other import methods)
2014-01-23 16:05:08 +00:00
Kevin Jump a7107f01e8 Single DataType import Fix
Importing a file with a single data type failed, because the DataType
element is at the root when exported.
2014-01-23 15:57:50 +00:00
Shannon e2ac82abca Gets most of the User and UserType legacy objects wrapping the new services, yay! Now just need to sort out all the caching stuff which I have tasks for. 2014-01-23 18:44:41 +11:00
Shannon 64d1a484bd Fixes User Id issues with HasIdentity, wraps legacy UserType to the new service, fixes the uninstalling db schema to not throw exceptions and clog up the unit test log. 2014-01-23 17:11:58 +11:00
Shannon 585b42af48 More Save()'s missing and removes the extra calls to XmlGenerate - should save some processing time. 2014-01-23 16:13:29 +11:00
Shannon 7c4412fc4b Ensures that Save() is called wherever member data is saved 2014-01-23 16:09:59 +11:00
Shannon 0be8039c8f Changes how IProfile works which is now just exposed by the IUser instead of implemented, this cleans up the Id situation. 2014-01-23 15:31:49 +11:00
Shannon 668265f1ac Allows forcing pass change with new provider, updates conventions to not allow editing of question/answer - unfortunately cannot make the other ones readonly because noEdit data type is the wrong clr type. 2014-01-23 15:11:54 +11:00
Shannon 4735f27a66 Fixes more naming conventions with CreateMemberWithIdentity, fixes memberTasks to ensure the name is set, fixes new membership providers which had the name/email call reversed. Updates the cache refresher event handler to listen to MemberService events instead of the old legacy API events. 2014-01-23 14:55:41 +11:00
Shannon 6377b9aa50 Fixes some underlying type conversions, fixes more of the member type wrapping, updates contenttypecontrolnew to work with member types properly, ensures the property type cache is cleared when member types change. 2014-01-23 13:33:58 +11:00
Shannon 011be60205 Finishes wrapping the member service and fixes a few bugs - ensures the RepositoryBase doesn't keep enumerating when getting all 2014-01-23 12:30:28 +11:00
Shannon a272675ed8 Wraps the MemberService from the legacy Member object 2014-01-23 11:41:01 +11:00
Shannon 80697cf9ca MemberType fully wraps new MemberTypeService 2014-01-23 10:57:24 +11:00
Shannon f4534aa94c adds unit tests for member type can view/can edit properties 2014-01-23 10:55:22 +11:00
Shannon 56dec485a5 Starts wrapping MemberTypeService from the legacy MemberType object. Changes the User.Id to an int - no more casting. Changes CreateMember to CreateMemberWithIdentity for consistency. Adds raiseEvent params to the create/save methods. Updates the MemberTypeService to have consistent naming conventions. Starts wrapping more of the MemberService from the legacy Member object. 2014-01-23 10:41:57 +11:00
Shannon ffde0f48cf Starts wrapping MemberTypeService from the legacy MemberType object. Changes the User.Id to an int - no more casting. Changes CreateMember to CreateMemberWithIdentity for consistency. Adds raiseEvent params to the create/save methods. Updates the MemberTypeService to have consistent naming conventions. Starts wrapping more of the MemberService from the legacy Member object. 2014-01-23 10:35:30 +11:00
Kevin Jump 5663b6890f Revert "Export Template fails when template has no master value"
This reverts commit a2905c13f6.
2014-01-22 21:35:16 +00:00
Kevin Jump a2905c13f6 Export Template fails when template has no master value 2014-01-22 21:29:49 +00:00
Kevin Jump e8f7a83f68 Fixed: U4-4119 - Export ContentType fails for Generic Properties
Adds Null checking for PropertyGroupID so that an exception is avoided
when the propertyType is in the Generic Properties group (and has no ID
assigned)
2014-01-22 19:50:21 +00:00
Shannon 2956aee4e3 Fixes: U4-4108 The backoffice should not be accessible when the app is not configured, it should redirect to the installer and U4-4106 Set the new membership providers to be shipped as default. 2014-01-22 15:26:45 +11:00
Shannon 9bd8d729fa publicizes user stuff, changes the IUser.Id to an int - no need for it to be an object and casted everywhere. Updates the login logic to perform the mapping logic for custom membership providers with an extension method. 2014-01-22 14:07:18 +11:00
Shannon fb9569d914 Fixes user membership providers to throw exceptions on duplicate emails when the provider is configured to not allow duplicates. 2014-01-22 13:20:00 +11:00
Shannon 47974d49fe obsoletes old providers, creates new membership role provider stub 2014-01-22 12:16:47 +11:00
Shannon 3f8b3031c2 completes: U4-3996 Fix EditUser to use the membership provider properly, U4-3997 Fix EditMember to use the membership provider properly 2014-01-22 11:57:33 +11:00
Shannon 7da41594fd re-publicizes member services, fixes: U4-4102 Un-obsolete ContentService.Publish 2014-01-22 11:27:44 +11:00
Shannon 9796b30bbb Fixes: U4-4104 Using strongly typed Html.Action<T> with a PluginController causes exception 2014-01-22 11:02:24 +11:00
Sebastiaan Janssen ead837f654 U4-4095 Missing Keys in English US Language File 2014-01-20 19:15:50 +01:00
Shannon 88182edf8f Merge remote-tracking branch 'origin/6.2.0' into 7.1.0 2014-01-20 18:34:11 +11:00
Shannon e456dd3886 Merge branch '7.0.2' into 7.1.0 2014-01-20 18:33:54 +11:00
Shannon c2c4763faa Ensures username is escaped in user service 2014-01-20 16:11:38 +11:00
Shannon c062d3b71b Merge branch '6.2.0' of https://github.com/umbraco/Umbraco-CMS into 6.2.0 2014-01-20 16:01:53 +11:00
Shannon ed83fb8216 updates user task creation for release 2014-01-20 16:00:19 +11:00
Shandem 80601abb27 Rename umbImageGravity.directive.js to umbimagegravity.directive.js
Changed file name to be consistent with the rest of our file names
2014-01-15 11:11:31 +11:00
Shandem 79384d8a0a Rename umbImageCrop.directive.js to umbimagecrop.directive.js
changed file name to be consistent with the rest of our file names
2014-01-15 11:11:02 +11:00
Shannon 793a1a9aa8 Adds comments to EntityController code to use UmbracoHelper 2014-01-15 11:08:02 +11:00
Shannon e3da493345 Re-adds all updates for the WIP for xpath/css filtering and the cropper. 2014-01-15 11:06:20 +11:00
Robert Foster f674fdf014 Implemented spectrum for picking colors for the color picker pre-value editor and added broader bgColor directive 2014-01-13 03:26:55 +11:00
Lars-Erik Aabech 6eeb9d6af4 Forgot document type on general properties tab 2014-01-07 18:53:47 +01:00
Lars-Erik Aabech cbefabb724 Changed TabsAndPropertyResolver's translation mechanism to use CultureDictionaryFactory. Also added translation to ContentTypeController.GetAllowedChildren. Localization "complete" and working for content editing. 2014-01-07 17:44:01 +01:00
Lars-Erik Aabech f7f6cc64ce More or less fixes content localization. Must do more tests and fix create dialog. Only tested manually on my box. 2014-01-07 16:43:03 +01:00
Lars-Erik Aabech 1408e4f64e DictionaryRepository now excludes translations with missing language. Should've committed a test to prove that TabsAndPropertiesResolver.TranslateTab uncommented fails, but can't find a nice existing fixture, so just debugging to see if it works now. 2014-01-07 16:15:59 +01:00
Lars-Erik Aabech 0a68d2f4ee Language repo now returns null for non-existing ids, making Get_WhenIdDoesntExist_ReturnsNull pass. 2014-01-07 16:03:26 +01:00
Lars-Erik Aabech 11a4a0436d Proves LanguageRepository lines 37-38 to be useless, but probably intended 2014-01-07 15:55:49 +01:00
Lars-Erik Aabech 2583800b2c Proves dictionary repository fails to get when weird 0 languageid dictionary item exists. 2014-01-07 15:53:17 +01:00
AndyButland 07229c4bd2 Up/down buttons for changing the order of related links 2014-01-03 17:08:33 +01:00
stefana99 067268a96e Changes to imageCropper, supports new mediafilesystem 2013-12-16 13:35:18 +00:00
1370 changed files with 48551 additions and 30980 deletions
+2
View File
@@ -108,3 +108,5 @@ src/Umbraco.Web.UI/[Cc]onfig/connectionStrings.config
src/Umbraco.Web.UI/umbraco/plugins/*
src/Umbraco.Web.UI/umbraco/js/init.js
build/ApiDocs/*
build/ApiDocs/Output/*
src/Umbraco.Web.UI.Client/bower_components/*
+170
View File
@@ -0,0 +1,170 @@
/* File : TOC.css
// Author : Eric Woodruff (Eric@EWoodruff.us)
// Updated : 09/07/2007
//
// Stylesheet for the table of content
*/
*
{
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
}
body
{
font-family: Segoe UI, Arial, Verdana, Helvetica, sans-serif;
font-size: 0.9em;
background-color: white;
color: White;
overflow: hidden;
}
input
{
padding:5px;
margin: 3px 0px 3px 0px
}
img
{
border: 0;
margin-left: 5px;
margin-right: 2px;
}
img.TreeNodeImg
{
cursor: pointer;
}
img.TOCLink
{
cursor: pointer;
margin-left: 0;
margin-right: 0;
}
a.SelectedNode, a.UnselectedNode
{
color: #333;
text-decoration: none;
padding: 1px 3px 1px 3px;
white-space: nowrap;
}
a.SelectedNode
{
background-color: #ffffff;
border: solid 1px #999999;
padding: 0px 2px 0px 2px;
}
a.UnselectedNode:hover, a.SelectedNode:hover
{
background-color: #cccccc;
border: solid 1px #999999;
padding: 0px 2px 0px 2px;
}
.Visible
{
display: block;
margin-left: 2em;
}
.Hidden
{
display: none;
}
.Tree
{
background-color: #fff;
color: #333;
width: 300px;
overflow: auto;
}
.TreeNode, .TreeItem
{
white-space: nowrap;
margin: 2px 2px 2px 2px;
}
.TOCDiv
{
position: relative;
float: left;
width: 300px;
height: 100%;
}
.TOCSizer
{
clear: none;
float: left;
width: 10px;
height: 100%;
background-image: url("Splitter.gif");
background-position:center center;
background-repeat:no-repeat;
position: relative;
cursor: w-resize;
border-left: solid 1px #CCC;
}
.TopicContent
{
position: relative;
float: right;
background-color: white;
height: 100%;
}
.SearchOpts
{
padding: 5px 5px 10px 5px;
color: black;
width: 300px;
border-bottom: solid lightgrey 1px;
height: 110px !important;
}
.NavOpts
{
padding: 5px 5px 6px 5px;
color: black;
width: 300px;
border-bottom: solid lightgrey 1px;
}
.NavOpts img {
display:inline-block;
margin: 0px 5px 0px 5px;
}
.IndexOpts
{
padding: 5px 5px 6px 5px;
color: black;
width: 300px;
border-bottom: solid lightgrey 1px;
}
.IndexItem
{
white-space: nowrap;
margin: 2px 2px 2px 2px;
}
.IndexSubItem
{
white-space: nowrap;
margin: 2px 2px 2px 12px;
}
.PaddedText
{
margin: 10px 10px 10px 10px;
}
+172
View File
@@ -0,0 +1,172 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<!-- The configuration and platform will be used to determine which
assemblies to include from solution and project documentation
sources -->
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{cb4d85f1-7390-40ee-b41f-a724bb8fddea}</ProjectGuid>
<SHFBSchemaVersion>1.9.5.0</SHFBSchemaVersion>
<!-- AssemblyName, Name, and RootNamespace are not used by SHFB but Visual
Studio adds them anyway -->
<AssemblyName>Documentation</AssemblyName>
<RootNamespace>Documentation</RootNamespace>
<Name>Documentation</Name>
<!-- SHFB properties -->
<FrameworkVersion>.NET Framework 4.5</FrameworkVersion>
<OutputPath>.\Output\</OutputPath>
<HtmlHelpName>UmbracoClassLibrary</HtmlHelpName>
<Language>en-US</Language>
<BuildAssemblerVerbosity>OnlyErrors</BuildAssemblerVerbosity>
<BuildLogFile>csharp-api-docs.log</BuildLogFile>
<HelpFileFormat>Website</HelpFileFormat>
<IndentHtml>True</IndentHtml>
<KeepLogFile>False</KeepLogFile>
<DisableCodeBlockComponent>False</DisableCodeBlockComponent>
<CppCommentsFixup>False</CppCommentsFixup>
<CleanIntermediates>True</CleanIntermediates>
<SyntaxFilters>CSharp</SyntaxFilters>
<SdkLinkTarget>Blank</SdkLinkTarget>
<RootNamespaceContainer>False</RootNamespaceContainer>
<PresentationStyle>VS2010</PresentationStyle>
<Preliminary>False</Preliminary>
<NamingMethod>Guid</NamingMethod>
<HelpTitle>Umbraco .Net Class Library</HelpTitle>
<ContentPlacement>AboveNamespaces</ContentPlacement>
<VisibleItems>Attributes, InheritedMembers, InheritedFrameworkMembers, Protected, SealedProtected</VisibleItems>
<ComponentConfigurations />
<DocumentationSources>
<DocumentationSource sourceFile="..\..\src\Umbraco.Core\Umbraco.Core.csproj" />
<DocumentationSource sourceFile="..\..\src\Umbraco.Core\bin\Release\Umbraco.Core.xml" />
<DocumentationSource sourceFile="..\..\src\Umbraco.Web\Umbraco.Web.csproj" />
<DocumentationSource sourceFile="..\..\src\Umbraco.Web\bin\Release\umbraco.xml" /></DocumentationSources>
<WebsiteSdkLinkType>None</WebsiteSdkLinkType>
<HtmlSdkLinkType>None</HtmlSdkLinkType>
<IncludeFavorites>False</IncludeFavorites>
<BinaryTOC>True</BinaryTOC>
<MissingTags>Summary, AutoDocumentCtors, AutoDocumentDispose</MissingTags>
<TransformComponentArguments>
<Argument Key="logoFile" Value="" />
<Argument Key="logoHeight" Value="" />
<Argument Key="logoWidth" Value="" />
<Argument Key="logoAltText" Value="" />
<Argument Key="logoPlacement" Value="left" />
<Argument Key="logoAlignment" Value="left" />
</TransformComponentArguments>
<ApiFilter>
<Filter entryType="Namespace" fullName="CookComputing.Blogger" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="CookComputing.MetaWeblog" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="dashboardUtilities" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="presentation.umbraco.webservices" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco" isExposed="False" xmlns="">
<Filter entryType="Class" fullName="umbraco.content" filterName="content" isExposed="True" />
<Filter entryType="Delegate" fullName="umbraco.content.ContentCacheDatabaseLoadXmlStringEventHandler" filterName="content.ContentCacheDatabaseLoadXmlStringEventHandler" isExposed="False" />
<Filter entryType="Delegate" fullName="umbraco.content.ContentCacheLoadNodeEventHandler" filterName="content.ContentCacheLoadNodeEventHandler" isExposed="False" />
<Filter entryType="Delegate" fullName="umbraco.content.DocumentCacheEventHandler" filterName="content.DocumentCacheEventHandler" isExposed="False" />
<Filter entryType="Delegate" fullName="umbraco.content.RefreshContentEventHandler" filterName="content.RefreshContentEventHandler" isExposed="False" />
<Filter entryType="Class" fullName="umbraco.ContentExtensions" filterName="ContentExtensions" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.ContentTypeExtensions" filterName="ContentTypeExtensions" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.item" filterName="item" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.library" filterName="library" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.macro" filterName="macro" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.MacroCacheContent" filterName="MacroCacheContent" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.MacroRenderingEventArgs" filterName="MacroRenderingEventArgs" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.MediaExtensions" filterName="MediaExtensions" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.MemberExtensions" filterName="MemberExtensions" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.page" filterName="page" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.PreValueExtensions" filterName="PreValueExtensions" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.RelationTypeExtensions" filterName="RelationTypeExtensions" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.template" filterName="template" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.UmbracoObjectTypeExtensions" filterName="UmbracoObjectTypeExtensions" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.uQuery" filterName="uQuery" isExposed="True" />
<Filter entryType="Interface" fullName="umbraco.uQuery.IGetProperty" filterName="uQuery.IGetProperty" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.uQuery.Members" filterName="uQuery.Members" isExposed="True" />
<Filter entryType="Enumeration" fullName="umbraco.uQuery.UmbracoObjectType" filterName="uQuery.UmbracoObjectType" isExposed="True" />
</Filter>
<Filter entryType="Namespace" fullName="umbraco.cms.presentation" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.cms.presentation.create.controls" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.cms.presentation.developer" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.cms.presentation.developer.RelationTypes" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.cms.presentation.developer.RelationTypes.TreeMenu" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.cms.presentation.members" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.cms.presentation.settings" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.cms.presentation.settings.modal" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.cms.presentation.settings.scripts" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.cms.presentation.settings.stylesheet" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.cms.presentation.user" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.controls" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.controls.GenericProperties" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.controls.Images" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.controls.Tree" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.developer" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.dialogs" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.js" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.layoutControls" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.NodeFactory" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.actions" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.channels" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.channels.businesslogic" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.create" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.developer.packages" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.dialogs" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.masterpages" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.members" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.nodeFactory" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.org.umbraco.update" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.plugins.tinymce3" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.preview" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.Search" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.settings" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.templateControls" isExposed="False" xmlns="">
<Filter entryType="Class" fullName="umbraco.presentation.templateControls.Item" filterName="Item" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.presentation.templateControls.ItemRenderer" filterName="ItemRenderer" isExposed="True" />
<Filter entryType="Class" fullName="umbraco.presentation.templateControls.Macro" filterName="Macro" isExposed="True" />
<Filter entryType="Enumeration" fullName="umbraco.presentation.templateControls.Macro.RenderEvents" filterName="Macro.RenderEvents" isExposed="False" />
</Filter>
<Filter entryType="Namespace" fullName="umbraco.presentation.tinymce3" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.translation" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco.channels" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco.controls" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco.create" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco.developer.Xslt" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco.dialogs" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco.masterpages" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco.members" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco.plugins.tinymce3" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco.Search" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco.translation" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco.webservices" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.umbraco_client.tinymce3.plugins.spellchecker" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.urlRewriter" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.Web.UI" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.presentation.webservices" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.scripting" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.settings" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="Umbraco.Web.org.umbraco.our" isExposed="False" xmlns="" />
<Filter entryType="Namespace" fullName="umbraco.webservices" isExposed="False" xmlns="" /></ApiFilter>
</PropertyGroup>
<!-- There are no properties for these groups. AnyCPU needs to appear in
order for Visual Studio to perform the build. The others are optional
common platform types that may appear. -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|Win32' ">
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Win32' ">
</PropertyGroup>
<!-- Import the SHFB build targets -->
<Import Project="$(SHFBROOT)\SandcastleHelpFileBuilder.targets" />
</Project>
+19 -4
View File
@@ -1,5 +1,9 @@
@ECHO OFF
SET release=7.0.4
IF NOT EXIST UmbracoVersion.txt (
ECHO UmbracoVersion.txt missing!
GOTO :showerror
)
SET /p release=<UmbracoVersion.txt
SET comment=
SET version=%release%
@@ -10,8 +14,18 @@ ReplaceIISExpressPortNumber.exe ..\src\Umbraco.Web.UI\Umbraco.Web.UI.csproj %rel
ECHO Installing the Microsoft.Bcl.Build package before anything else, otherwise you'd have to run build.cmd twice
SET nuGetFolder=%CD%\..\src\packages\
..\src\.nuget\NuGet.exe sources Add -Name MyGetUmbracoCore -Source https://www.myget.org/F/umbracocore/api/v2/
..\src\.nuget\NuGet.exe install ..\src\Umbraco.Web.UI\packages.config -OutputDirectory %nuGetFolder%
ECHO Removing the belle build folder to make sure everything is clean as a whistle
RD ..\src\Umbraco.Web.UI.Client\build /Q /S
ECHO Removing existing built files to make sure everything is clean as a whistle
RMDIR /Q /S _BuildOutput
DEL /F /Q UmbracoCms.*.zip
DEL /F /Q UmbracoCms.*.nupkg
DEL /F /Q webpihash.txt
ECHO Performing MSBuild and producing Umbraco binaries zip files
%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe "Build.proj" /p:BUILD_RELEASE=%release% /p:BUILD_COMMENT=%comment%
@@ -30,11 +44,12 @@ echo This file is only here so that the containing folder will be included in th
ECHO Adding Web.config transform files to the NuGet package
ren .\_BuildOutput\WebApp\MacroScripts\Web.config Web.config.transform
ren .\_BuildOutput\WebApp\Views\Web.config Web.config.transform
ren .\_BuildOutput\WebApp\Xslt\Web.config Web.config.transform
ECHO Packing the NuGet release files
..\src\.nuget\NuGet.exe pack NuSpecs\UmbracoCms.Core.nuspec -Version %version%
..\src\.nuget\NuGet.exe pack NuSpecs\UmbracoCms.nuspec -Version %version%
..\src\.nuget\NuGet.exe Pack NuSpecs\UmbracoCms.Core.nuspec -Version %version%
..\src\.nuget\NuGet.exe Pack NuSpecs\UmbracoCms.nuspec -Version %version%
IF ERRORLEVEL 1 GOTO :showerror
GOTO :EOF
+11 -1
View File
@@ -310,7 +310,12 @@
</Target>
<Target Name="SetVersionNumber" Condition="'$(BUILD_RELEASE)'!=''">
<!-- Match & replace 3 and 4 digit version numbers and -beta (if it's there) -->
<PropertyGroup>
<NewVersion>$(BUILD_RELEASE)</NewVersion>
<NewVersion Condition="'$(BUILD_COMMENT)'!=''">$(BUILD_RELEASE)-$(BUILD_COMMENT)</NewVersion>
</PropertyGroup>
<!-- Match & replace 3 and 4 digit version numbers and -beta (if it's there) -->
<FileUpdate
Files="..\src\Umbraco.Core\Configuration\UmbracoVersion.cs"
Regex="(\d+)\.(\d+)\.(\d+)(.(\d+))?"
@@ -319,5 +324,10 @@
<FileUpdate Files="..\src\Umbraco.Core\Configuration\UmbracoVersion.cs"
Regex="CurrentComment { get { return &quot;([a-zA-Z]+)?&quot;"
ReplacementText="CurrentComment { get { return &quot;$(BUILD_COMMENT)&quot;"/>
<XmlPoke XmlInputPath=".\NuSpecs\build\UmbracoCms.props"
Namespaces="&lt;Namespace Prefix='x' Uri='http://schemas.microsoft.com/developer/msbuild/2003' /&gt;"
Query="//x:UmbracoVersion"
Value="$(NewVersion)" />
</Target>
</Project>
+5 -1
View File
@@ -1,4 +1,5 @@
@ECHO OFF
SET release=%1
ECHO Installing Npm NuGet Package
SET nuGetFolder=%CD%\..\src\packages\
@@ -15,6 +16,8 @@ SET oldPath=%PATH%
path=%npmPath%;%nodePath%;%PATH%
ECHO %path%
SET buildFolder=%CD%
ECHO Change directory to %CD%\..\src\Umbraco.Web.UI.Client\
@@ -23,7 +26,8 @@ CD %CD%\..\src\Umbraco.Web.UI.Client\
ECHO Do npm install and the grunt build of Belle
call npm install
call npm install -g grunt-cli
call grunt build
call npm install -g bower
call grunt build --buildversion=%release%
ECHO Reset path to what it was before
path=%oldPath%
+27
View File
@@ -0,0 +1,27 @@
##We cannot continue if sandcastle is not installed determined by env variable: SHFBROOT
if (-not (Test-Path Env:\SHFBROOT))
{
throw "The docs cannot be build, install Sandcastle help file builder"
}
$PSScriptFilePath = (Get-Item $MyInvocation.MyCommand.Path).FullName
$BuildRoot = Split-Path -Path $PSScriptFilePath -Parent
$OutputPath = Join-Path -Path $BuildRoot -ChildPath "ApiDocs\Output"
$ProjFile = Join-Path -Path $BuildRoot -ChildPath "ApiDocs\csharp-api-docs.shfbproj"
"Building docs with project file: $ProjFile"
$MSBuild = "$Env:SYSTEMROOT\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"
# build it!
& $MSBuild "$ProjFile"
# remove files left over
Remove-Item $BuildRoot\* -include csharp-api-docs.shfbproj_*
# copy our custom styles in
Copy-Item $BuildRoot\ApiDocs\TOC.css $OutputPath\TOC.css
""
"Done!"
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>UmbracoCms.Core.AllBinaries</id>
<version>6.1.2</version>
<title>Umbraco Cms Core All Binaries</title>
<authors>Morten Christensen</authors>
<owners>Umbraco HQ</owners>
<licenseUrl>http://umbraco.codeplex.com/license</licenseUrl>
<projectUrl>http://umbraco.com/</projectUrl>
<iconUrl>http://umbraco.com/media/357769/100px_transparent.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Contains the core assemblies and all of the dependant 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 and all of the dependant assemblies needed to run Umbraco Cms</summary>
<language>en-US</language>
<tags>umbraco</tags>
</metadata>
<files>
<file src="..\_BuildOutput\bin\businesslogic.dll" target="lib\businesslogic.dll" />
<file src="..\_BuildOutput\bin\AutoMapper.dll" target="lib\AutoMapper.dll" />
<file src="..\_BuildOutput\bin\AutoMapper.Net4.dll" target="lib\AutoMapper.Net4.dll" />
<file src="..\_BuildOutput\bin\businesslogic.dll" target="lib\businesslogic.dll" />
<file src="..\_BuildOutput\bin\ClientDependency.Core.dll" target="lib\ClientDependency.Core.dll" />
<file src="..\_BuildOutput\bin\ClientDependency.Core.Mvc.dll" target="lib\ClientDependency.Core.Mvc.dll" />
<file src="..\_BuildOutput\bin\cms.dll" target="lib\cms.dll" />
<file src="..\_BuildOutput\bin\controls.dll" target="lib\controls.dll" />
<file src="..\_BuildOutput\bin\CookComputing.XmlRpcV2.dll" target="lib\CookComputing.XmlRpcV2.dll" />
<file src="..\_BuildOutput\bin\Examine.dll" target="lib\Examine.dll" />
<file src="..\_BuildOutput\bin\HtmlAgilityPack.dll" target="lib\HtmlAgilityPack.dll" />
<file src="..\_BuildOutput\bin\ICSharpCode.SharpZipLib.dll" target="lib\ICSharpCode.SharpZipLib.dll" />
<file src="..\_BuildOutput\bin\ImageProcessor.dll" target="lib\ImageProcessor.dll" />
<file src="..\_BuildOutput\bin\ImageProcessor.Web.dll" target="lib\ImageProcessor.Web.dll" />
<file src="..\_BuildOutput\bin\interfaces.dll" target="lib\interfaces.dll" />
<file src="..\_BuildOutput\bin\log4net.dll" target="lib\log4net.dll" />
<file src="..\_BuildOutput\bin\Lucene.Net.dll" target="lib\Lucene.Net.dll" />
<file src="..\_BuildOutput\bin\Microsoft.ApplicationBlocks.Data.dll" target="lib\Microsoft.ApplicationBlocks.Data.dll" />
<file src="..\_BuildOutput\bin\Microsoft.Threading.Tasks.dll" target="lib\Microsoft.Threading.Tasks.dll" />
<file src="..\_BuildOutput\bin\Microsoft.Threading.Tasks.Extensions.dll" target="lib\Microsoft.Threading.Tasks.Extensions.dll" />
<file src="..\_BuildOutput\bin\Microsoft.Web.Helpers.dll" target="lib\Microsoft.Web.Helpers.dll" />
<file src="..\_BuildOutput\bin\Microsoft.Web.Infrastructure.dll" target="lib\Microsoft.Web.Infrastructure.dll" />
<file src="..\_BuildOutput\bin\Microsoft.Web.Mvc.FixedDisplayModes.dll" target="lib\Microsoft.Web.Mvc.FixedDisplayModes.dll" />
<file src="..\_BuildOutput\bin\MiniProfiler.dll" target="lib\MiniProfiler.dll" />
<file src="..\_BuildOutput\bin\MySql.Data.dll" target="lib\MySql.Data.dll" />
<file src="..\_BuildOutput\bin\Newtonsoft.Json.dll" target="lib\Newtonsoft.Json.dll" />
<file src="..\_BuildOutput\bin\NuGet.Core.dll" target="lib\NuGet.Core.dll" />
<file src="..\_BuildOutput\bin\SQLCE4Umbraco.dll" target="lib\SQLCE4Umbraco.dll" />
<file src="..\_BuildOutput\bin\System.Data.SqlServerCe.dll" target="lib\System.Data.SqlServerCe.dll" />
<file src="..\_BuildOutput\bin\System.Data.SqlServerCe.Entity.dll" target="lib\System.Data.SqlServerCe.Entity.dll" />
<file src="..\_BuildOutput\bin\System.Net.Http.dll" target="lib\System.Net.Http.dll" />
<file src="..\_BuildOutput\bin\System.Net.Http.Extensions.dll" target="lib\System.Net.Http.Extensions.dll" />
<file src="..\_BuildOutput\bin\System.Net.Http.Formatting.dll" target="lib\System.Net.Http.Formatting.dll" />
<file src="..\_BuildOutput\bin\System.Net.Http.Primitives.dll" target="lib\System.Net.Http.Primitives.dll" />
<file src="..\_BuildOutput\bin\System.Net.Http.WebRequest.dll" target="lib\System.Net.Http.WebRequest.dll" />
<file src="..\_BuildOutput\bin\System.Web.Helpers.dll" target="lib\System.Web.Helpers.dll" />
<file src="..\_BuildOutput\bin\System.Web.Http.dll" target="lib\System.Web.Http.dll" />
<file src="..\_BuildOutput\bin\System.Web.Http.WebHost.dll" target="lib\System.Web.Http.WebHost.dll" />
<file src="..\_BuildOutput\bin\System.Web.Mvc.dll" target="lib\System.Web.Mvc.dll" />
<file src="..\_BuildOutput\bin\System.Web.Razor.dll" target="lib\System.Web.Razor.dll" />
<file src="..\_BuildOutput\bin\System.Web.WebPages.Administration.dll" target="lib\System.Web.WebPages.Administration.dll" />
<file src="..\_BuildOutput\bin\System.Web.WebPages.Deployment.dll" target="lib\System.Web.WebPages.Deployment.dll" />
<file src="..\_BuildOutput\bin\System.Web.WebPages.dll" target="lib\System.Web.WebPages.dll" />
<file src="..\_BuildOutput\bin\System.Web.WebPages.Razor.dll" target="lib\System.Web.WebPages.Razor.dll" />
<file src="..\_BuildOutput\bin\TidyNet.dll" target="lib\TidyNet.dll" />
<file src="..\_BuildOutput\bin\Umbraco.Core.dll" target="lib\Umbraco.Core.dll" />
<file src="..\_BuildOutput\bin\umbraco.DataLayer.dll" target="lib\umbraco.DataLayer.dll" />
<file src="..\_BuildOutput\bin\umbraco.dll" target="lib\umbraco.dll" />
<file src="..\_BuildOutput\bin\umbraco.editorControls.dll" target="lib\umbraco.editorControls.dll" />
<file src="..\_BuildOutput\bin\umbraco.MacroEngines.dll" target="lib\umbraco.MacroEngines.dll" />
<file src="..\_BuildOutput\bin\umbraco.providers.dll" target="lib\umbraco.providers.dll" />
<file src="..\_BuildOutput\bin\Umbraco.Web.UI.dll" target="lib\Umbraco.Web.UI.dll" />
<file src="..\_BuildOutput\bin\UmbracoExamine.dll" target="lib\UmbracoExamine.dll" />
<file src="..\_BuildOutput\bin\UrlRewritingNet.UrlRewriter.dll" target="lib\UrlRewritingNet.UrlRewriter.dll" />
</files>
</package>
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<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://umbraco.codeplex.com/license</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>
</metadata>
<files>
<file src="..\..\src\SQLCE4Umbraco\obj\Debug\SQLCE4Umbraco.dll" target="lib" />
<file src="..\..\src\SQLCE4Umbraco\obj\Debug\SQLCE4Umbraco.pdb" target="lib" />
<file src="..\..\src\SQLCE4Umbraco\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\SQLCE4Umbraco" />
<file src="..\..\src\umbraco.businesslogic\obj\Debug\businesslogic.dll" target="lib" />
<file src="..\..\src\umbraco.businesslogic\obj\Debug\businesslogic.pdb" target="lib" />
<file src="..\..\src\umbraco.businesslogic\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.businesslogic" />
<file src="..\..\src\umbraco.cms\obj\Debug\cms.dll" target="lib" />
<file src="..\..\src\umbraco.cms\obj\Debug\cms.pdb" target="lib" />
<file src="..\..\src\umbraco.cms\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.cms" />
<file src="..\..\src\umbraco.controls\obj\Debug\controls.dll" target="lib" />
<file src="..\..\src\umbraco.controls\obj\Debug\controls.pdb" target="lib" />
<file src="..\..\src\umbraco.controls\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.controls" />
<file src="..\..\src\umbraco.interfaces\obj\Debug\interfaces.dll" target="lib" />
<file src="..\..\src\umbraco.interfaces\obj\Debug\interfaces.pdb" target="lib" />
<file src="..\..\src\umbraco.interfaces\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.interfaces" />
<file src="..\..\src\Umbraco.Core\obj\Debug\Umbraco.Core.dll" target="lib" />
<file src="..\..\src\Umbraco.Core\obj\Debug\Umbraco.Core.pdb" target="lib" />
<file src="..\..\src\Umbraco.Core\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Core" />
<file src="..\..\src\umbraco.datalayer\obj\Debug\umbraco.DataLayer.dll" target="lib" />
<file src="..\..\src\umbraco.datalayer\obj\Debug\umbraco.DataLayer.pdb" target="lib" />
<file src="..\..\src\umbraco.datalayer\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.datalayer" />
<file src="..\..\src\umbraco.editorControls\obj\Debug\umbraco.editorControls.dll" target="lib" />
<file src="..\..\src\umbraco.editorControls\obj\Debug\umbraco.editorControls.pdb" target="lib" />
<file src="..\..\src\umbraco.editorControls\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.editorControls" />
<file src="..\..\src\umbraco.MacroEngines\obj\Debug\umbraco.MacroEngines.dll" target="lib" />
<file src="..\..\src\umbraco.MacroEngines\obj\Debug\umbraco.MacroEngines.pdb" target="lib" />
<file src="..\..\src\umbraco.MacroEngines\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.MacroEngines" />
<file src="..\..\src\umbraco.providers\obj\Debug\umbraco.providers.dll" target="lib" />
<file src="..\..\src\umbraco.providers\obj\Debug\umbraco.providers.pdb" target="lib" />
<file src="..\..\src\umbraco.providers\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\umbraco.providers" />
<file src="..\..\src\Umbraco.Web\obj\Debug\umbraco.dll" target="lib" />
<file src="..\..\src\Umbraco.Web\obj\Debug\umbraco.pdb" target="lib" />
<file src="..\..\src\Umbraco.Web\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Web" />
<file src="..\..\src\bin\Debug\Umbraco.Web.UI.dll" target="lib" />
<file src="..\..\src\bin\Debug\Umbraco.Web.UI.pdb" target="lib" />
<file src="..\..\src\Umbraco.Web.UI\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\Umbraco.Web.UI" />
<file src="..\..\src\UmbracoExamine\obj\Debug\UmbracoExamine.dll" target="lib" />
<file src="..\..\src\UmbracoExamine\obj\Debug\UmbracoExamine.pdb" target="lib" />
<file src="..\..\src\UmbracoExamine\**\*.cs" exclude="..\..\src\**\TemporaryGeneratedFile*.cs" target="src\UmbracoExamine" />
</files>
</package>
+15 -11
View File
@@ -4,7 +4,7 @@
<id>UmbracoCms.Core</id>
<version>7.0.0</version>
<title>Umbraco Cms Core Binaries</title>
<authors>Morten Christensen</authors>
<authors>Umbraco HQ</authors>
<owners>Umbraco HQ</owners>
<licenseUrl>http://umbraco.codeplex.com/license</licenseUrl>
<projectUrl>http://umbraco.com/</projectUrl>
@@ -15,32 +15,35 @@
<language>en-US</language>
<tags>umbraco</tags>
<dependencies>
<dependency id="Microsoft.AspNet.Mvc" version="[4.0.0,5.0.0)" />
<dependency id="Microsoft.AspNet.WebApi" version="[4.0.0,5.0.0)" />
<dependency id="Microsoft.AspNet.WebApi.Client" version="[4.0.0, 5.0.0)" />
<dependency id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="1.0.0" />
<dependency id="Microsoft.Net.Http" version="[2.0.0, 3.0.0)" />
<dependency id="Microsoft.AspNet.Mvc" version="[4.0.30506.0,5.0.0)" />
<dependency id="Microsoft.AspNet.WebApi" version="[4.0.30506,5.0.0)" />
<dependency id="Microsoft.AspNet.WebApi.WebHost" version="[4.0.30506, 5.0.0)" />
<dependency id="Microsoft.AspNet.WebApi.Core" version="[4.0.30506, 5.0.0)" />
<dependency id="Microsoft.AspNet.WebApi.Client" version="[4.0.30506, 5.0.0)" />
<dependency id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="1.0.1" />
<dependency id="Microsoft.Net.Http" version="[2.0.20710.0, 3.0.0)" />
<dependency id="MiniProfiler" version="[2.1.0, 3.0.0)" />
<dependency id="HtmlAgilityPack" version="[1.4.6, 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.6.5]" />
<dependency id="xmlrpcnet" version="[2.5.0, 3.0.0)" />
<!--<dependency id="ClientDependency" version="[1.7.0, 2.0.0)" />-->
<dependency id="ClientDependency-Mvc" version="[1.7.0, 2.0.0)" />
<dependency id="ClientDependency" version="[1.7.1.2, 2.0.0)" />
<dependency id="ClientDependency-Mvc" version="[1.7.0.4, 2.0.0)" />
<dependency id="AutoMapper" version="[3.0.0, 4.0.0)" />
<dependency id="Newtonsoft.Json" version="[4.5.11, 5.0.0)" />
<dependency id="Newtonsoft.Json" version="[6.0.4, 7.0.0)" />
<dependency id="Examine" version="[0.1.57, 1.0.0)" />
<dependency id="ImageProcessor" version="[1.9.5, 2.0.0)" />
<dependency id="ImageProcessor.Web" version="[3.3.0, 4.0.0)" />
</dependencies>
</metadata>
<files>
<file src="..\_BuildOutput\WebApp\bin\businesslogic.dll" target="lib\businesslogic.dll" />
<file src="..\_BuildOutput\WebApp\bin\businesslogic.xml" target="lib\businesslogic.xml" />
<file src="..\_BuildOutput\WebApp\bin\ClientDependency.Core.dll" target="lib\ClientDependency.Core.dll" />
<file src="..\_BuildOutput\WebApp\bin\cms.dll" target="lib\cms.dll" />
<file src="..\_BuildOutput\WebApp\bin\cms.xml" target="lib\cms.xml" />
<file src="..\_BuildOutput\WebApp\bin\controls.dll" target="lib\controls.dll" />
<file src="..\_BuildOutput\WebApp\bin\controls.xml" target="lib\controls.xml" />
<file src="..\_BuildOutput\WebApp\bin\Examine.dll" target="lib\Examine.dll" />
<file src="..\_BuildOutput\WebApp\bin\interfaces.dll" target="lib\interfaces.dll" />
<file src="..\_BuildOutput\WebApp\bin\interfaces.xml" target="lib\interfaces.xml" />
<file src="..\_BuildOutput\WebApp\bin\log4net.dll" target="lib\log4net.dll" />
@@ -66,5 +69,6 @@
<file src="..\_BuildOutput\WebApp\bin\umbraco.XmlSerializers.dll" target="lib\umbraco.XmlSerializers.dll" />
<file src="..\_BuildOutput\WebApp\bin\UmbracoExamine.dll" target="lib\UmbracoExamine.dll" />
<file src="..\_BuildOutput\WebApp\bin\UrlRewritingNet.UrlRewriter.dll" target="lib\UrlRewritingNet.UrlRewriter.dll" />
<file src="tools\install.core.ps1" target="tools\install.ps1" />
</files>
</package>
+6 -9
View File
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<metadata minClientVersion="2.8">
<id>UmbracoCms</id>
<version>7.0.0</version>
<title>Umbraco Cms</title>
<authors>Morten Christensen</authors>
<authors>Umbraco HQ</authors>
<owners>Umbraco HQ</owners>
<licenseUrl>http://umbraco.codeplex.com/license</licenseUrl>
<projectUrl>http://umbraco.com/</projectUrl>
@@ -19,8 +19,6 @@
</dependencies>
</metadata>
<files>
<file src="..\_BuildOutput\WebApp\bin\amd64\**" target="Content\bin\amd64" />
<file src="..\_BuildOutput\WebApp\bin\x86\**" target="Content\bin\x86" />
<file src="..\_BuildOutput\Configs\**" target="Content\config" exclude="..\_BuildOutput\Configs\Web.config.transform" />
<file src="..\_BuildOutput\WebApp\css\**" target="Content\css" />
<file src="..\_BuildOutput\WebApp\macroScripts\**" target="Content\macroScripts" exclude="..\_BuildOutput\WebApp\macroScripts\Web.config" />
@@ -32,15 +30,14 @@
<file src="..\_BuildOutput\WebApp\xslt\**" target="Content\xslt" />
<file src="..\_BuildOutput\WebApp\default.aspx" target="Content\default.aspx" />
<file src="..\_BuildOutput\WebApp\Web.config" target="Content\Web.config" />
<file src="..\_BuildOutput\WebApp\Global.asax" target="Content\Global.asax" />
<file src="..\_BuildOutput\WebApp\App_Browsers\**" target="UmbracoFiles\App_Browsers" />
<file src="..\_BuildOutput\WebApp\App_Code\**" target="UmbracoFiles\App_Code" />
<file src="..\_BuildOutput\WebApp\App_Data\**" target="UmbracoFiles\App_Data" />
<file src="..\_BuildOutput\WebApp\App_Plugins\**" target="UmbracoFiles\App_Plugins" />
<file src="..\_BuildOutput\WebApp\App_Plugins\**" target="UmbracoFiles\App_Plugins" />
<file src="..\_BuildOutput\WebApp\bin\amd64\**" target="UmbracoFiles\bin\amd64" />
<file src="..\_BuildOutput\WebApp\bin\x86\**" target="UmbracoFiles\bin\x86" />
<file src="..\_BuildOutput\WebApp\config\splashes\**" target="UmbracoFiles\config\splashes" />
<file src="..\_BuildOutput\WebApp\install\**" target="UmbracoFiles\install" />
<file src="..\_BuildOutput\WebApp\umbraco\**" target="UmbracoFiles\umbraco" />
<file src="..\_BuildOutput\WebApp\umbraco_client\**" target="UmbracoFiles\umbraco_client" />
<file src="..\_BuildOutput\WebApp\Global.asax" target="UmbracoFiles\Global.asax" />
<file src="..\_BuildOutput\WebApp\Web.config" target="UmbracoFiles\Web.config" />
<file src="tools\install.ps1" target="tools\install.ps1" />
<file src="tools\Readme.txt" target="tools\Readme.txt" />
@@ -1,14 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
AddUmbracoFilesToOutput;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
AddUmbracoFilesToOutput;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
AddUmbracoFilesToOutput;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
AddUmbracoFilesToOutput;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
</Project>
+50
View File
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="CopyUmbracoFilesToWebRoot" BeforeTargets="AfterBuild">
<PropertyGroup>
<UmbracoFilesFolder>$(MSBuildThisFileDirectory)..\UmbracoFiles\</UmbracoFilesFolder>
</PropertyGroup>
<ItemGroup>
<UmbracoFiles Include="$(UmbracoFilesFolder)**\*" />
</ItemGroup>
<Copy SourceFiles="%(UmbracoFiles.FullPath)" DestinationFiles="%(RecursiveDir)%(Filename)%(Extension)" Condition="!Exists('%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<Target Name="AddUmbracoFilesToOutput">
<!-- With help from: http://blog.samstephens.co.nz/2010-10-18/msbuild-including-extra-files-multiple-builds/ -->
<ItemGroup>
<CustomFilesToInclude Include=".\App_Browsers\**\*">
<Dir>App_Browsers</Dir>
</CustomFilesToInclude>
<CustomFilesToInclude Include=".\App_Code\**\*">
<Dir>App_Code</Dir>
</CustomFilesToInclude>
<CustomFilesToInclude Include=".\App_Plugins\**\*">
<Dir>App_Plugins</Dir>
</CustomFilesToInclude>
<CustomFilesToInclude Include=".\bin\amd64\**\*">
<Dir>bin\amd64</Dir>
</CustomFilesToInclude>
<CustomFilesToInclude Include=".\bin\x86\**\*">
<Dir>bin\x86</Dir>
</CustomFilesToInclude>
<CustomFilesToInclude Include=".\Config\Splashes\**\*">
<Dir>Config\Splashes</Dir>
</CustomFilesToInclude>
<CustomFilesToInclude Include=".\data\**\*">
<Dir>data</Dir>
</CustomFilesToInclude>
<CustomFilesToInclude Include=".\umbraco\**\*">
<Dir>umbraco</Dir>
</CustomFilesToInclude>
<CustomFilesToInclude Include=".\umbraco_client\**\*">
<Dir>umbraco_client</Dir>
</CustomFilesToInclude>
<CustomFilesToInclude Include=".\Global.asax">
<Dir>.</Dir>
</CustomFilesToInclude>
<FilesForPackagingFromProject Include="@(CustomFilesToInclude)">
<DestinationRelativePath>%(CustomFilesToInclude.Dir)\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
</Project>
@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="AddUmbracoFilesToOutput">
<ItemGroup>
<UmbracoFiles Include=".\umbraco\**\*;" />
<UmbracoClientFiles Include=".\umbraco_client\**\*;" />
<AppBrowsersFiles Include=".\App_Browsers\**\*" />
<FilesForPackagingFromProject Include="%(UmbracoFiles.Identity)">
<DestinationRelativePath>umbraco\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
<FilesForPackagingFromProject Include="%(UmbracoClientFiles.Identity)">
<DestinationRelativePath>umbraco_client\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
<FilesForPackagingFromProject Include="%(AppBrowsersFiles.Identity)">
<DestinationRelativePath>App_Browsers\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
</Project>
@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
AddUmbracoFilesToOutput;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
AddUmbracoFilesToOutput;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
</Project>
@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="AddUmbracoFilesToOutput">
<ItemGroup>
<UmbracoFiles Include=".\umbraco\**\*;" />
<UmbracoClientFiles Include=".\umbraco_client\**\*;" />
<AppBrowsersFiles Include=".\App_Browsers\**\*" />
<FilesForPackagingFromProject Include="%(UmbracoFiles.Identity)">
<DestinationRelativePath>umbraco\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
<FilesForPackagingFromProject Include="%(UmbracoClientFiles.Identity)">
<DestinationRelativePath>umbraco_client\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
<FilesForPackagingFromProject Include="%(AppBrowsersFiles.Identity)">
<DestinationRelativePath>App_Browsers\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
</Project>
@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
AddUmbracoFilesToOutput;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
AddUmbracoFilesToOutput;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
</Project>
@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="AddUmbracoFilesToOutput">
<ItemGroup>
<UmbracoFiles Include=".\umbraco\**\*;" />
<UmbracoClientFiles Include=".\umbraco_client\**\*;" />
<AppBrowsersFiles Include=".\App_Browsers\**\*" />
<FilesForPackagingFromProject Include="%(UmbracoFiles.Identity)">
<DestinationRelativePath>umbraco\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
<FilesForPackagingFromProject Include="%(UmbracoClientFiles.Identity)">
<DestinationRelativePath>umbraco_client\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
<FilesForPackagingFromProject Include="%(AppBrowsersFiles.Identity)">
<DestinationRelativePath>App_Browsers\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
</Project>
+14 -5
View File
@@ -1,8 +1,17 @@
A note about running Umbraco from Visual Studio.
When upgrading your website using nuget a backup of config files and web.config will be created. Only the web.config will
be overwritten by default to ensure that it has the necessary settings from the current release. This means that you'll
have to merge the files if you made any changes to the previous config files.
When upgrading your website using NuGet you should answer "No" to the questions to overwrite the Web.config
file (and config files in the config folder).
We will overwrite Web.config anyway but we keep a backup in the App_Data\NuGetBackup folder. There you'll
find a folder with the current date and time in which the backup has been placed. Make sure to merge the
new file with the old backup files before you proceed.
The web.config will be overwritten by default to ensure that it has the necessary settings from the current release.
We've also overwritten all the files in the Umbraco and Umbraco_Client folder, these have also been backed up in
App_Data\NuGetBackup. We didn't overwrite the UI.xml file nor did we remove any files or folders that you or a package
might have added. Only the existing files were overwritten. If you customized anything then make sure to do a compare
and merge with the NuGetBackup folder.
The config files found in the config folder will usually not be changed for patch releases, so they can usually be skipped,
but the web.config will have to have its previous "umbracoConfigurationStatus"-appsetting and "umbracoDbDSN" connection string
copied over (as a minimum).
@@ -10,8 +19,8 @@ copied over (as a minimum).
This nuget package includes build targets that extends the creation of a deploy package, which is generated by
Publishing from Visual Studio. The targets will only work once Publishing is configured, so if you don't use
Publish this won't affect you.
These folders will now be automatically included when creating a deploy package or publishing to the file system:
umbraco and umbraco_client.
These things will now be automatically included when creating a deploy package or publishing to the file system:
umbraco, umbraco_client, config\splashes and global.asax.
Please read the release notes on our.umbraco.org:
http://our.umbraco.org/contribute/releases
+24
View File
@@ -0,0 +1,24 @@
param($rootPath, $toolsPath, $package, $project)
if ($project) {
$dateTime = Get-Date -Format yyyyMMdd-HHmmss
$backupPath = Join-Path (Split-Path $project.FullName -Parent) "\App_Data\NuGetBackup\$dateTime"
$copyLogsPath = Join-Path $backupPath "CopyLogs"
$projectDestinationPath = Split-Path $project.FullName -Parent
# Create backup folder and logs folder if it doesn't exist yet
New-Item -ItemType Directory -Force -Path $backupPath
New-Item -ItemType Directory -Force -Path $copyLogsPath
# After backing up, remove all dlls from bin folder in case dll files are included in the VS project
# See: http://issues.umbraco.org/issue/U4-4930
$umbracoBinFolder = Join-Path $projectDestinationPath "bin"
if(Test-Path $umbracoBinFolder) {
$umbracoBinBackupPath = Join-Path $backupPath "bin"
New-Item -ItemType Directory -Force -Path $umbracoBinBackupPath
robocopy $umbracoBinFolder $umbracoBinBackupPath /e /LOG:$copyLogsPath\UmbracoBinBackup.log
Remove-Item $umbracoBinFolder\*.dll -Force -Confirm:$false
}
}
+39 -18
View File
@@ -1,27 +1,48 @@
param($rootPath, $toolsPath, $package, $project)
if ($project) {
# Create a backup of extisting umbraco config files
$configPath = Join-Path (Split-Path $project.FullName -Parent) "\config"
$backupPath = Join-Path $configPath "\backup"
Get-ChildItem -path $configPath |
Where -filterscript {($_.Name.EndsWith("config"))} | Foreach-Object {
$newFileName = Join-Path $backupPath $_.Name.replace(".config",".config.backup")
New-Item -ItemType File -Path $newFileName -Force
Copy-Item $_.FullName $newFileName -Force
}
if ($project) {
$dateTime = Get-Date -Format yyyyMMdd-HHmmss
$backupPath = Join-Path (Split-Path $project.FullName -Parent) "\App_Data\NuGetBackup\$dateTime"
$copyLogsPath = Join-Path $backupPath "CopyLogs"
# Create backup folder and logs folder if it doesn't exist yet
New-Item -ItemType Directory -Force -Path $backupPath
New-Item -ItemType Directory -Force -Path $copyLogsPath
# Create a backup of original web.config
$projectDestinationPath = Split-Path $project.FullName -Parent
$webConfigSource = Join-Path $projectDestinationPath "web.config"
$webConfigDestination = Join-Path $projectDestinationPath "web.config.backup"
Copy-Item $webConfigSource $webConfigDestination
$webConfigSource = Join-Path $projectDestinationPath "Web.config"
Copy-Item $webConfigSource $backupPath -Force
# Copy umbraco files from package to project folder
$projectDestinationPath = Split-Path $project.FullName -Parent
$umbracoFilesPath = Join-Path $rootPath "UmbracoFiles\*"
Copy-Item $umbracoFilesPath $projectDestinationPath -recurse -force
# Copy Web.config from package to project folder
$umbracoFilesPath = Join-Path $rootPath "UmbracoFiles\Web.config"
Copy-Item $umbracoFilesPath $projectDestinationPath -Force
# Copy umbraco and umbraco_files from package to project folder
# This is only done when these folders already exist because we
# only want to do this for upgrades
$umbracoFolder = Join-Path $projectDestinationPath "Umbraco"
if(Test-Path $umbracoFolder) {
$umbracoFolderSource = Join-Path $rootPath "UmbracoFiles\Umbraco"
$umbracoBackupPath = Join-Path $backupPath "Umbraco"
New-Item -ItemType Directory -Force -Path $umbracoBackupPath
robocopy $umbracoFolder $umbracoBackupPath /e /LOG:$copyLogsPath\UmbracoBackup.log
robocopy $umbracoFolderSource $umbracoFolder /is /it /e /xf UI.xml /LOG:$copyLogsPath\UmbracoCopy.log
}
$umbracoClientFolder = Join-Path $projectDestinationPath "Umbraco_Client"
if(Test-Path $umbracoClientFolder) {
$umbracoClientFolderSource = Join-Path $rootPath "UmbracoFiles\Umbraco_Client"
$umbracoClientBackupPath = Join-Path $backupPath "Umbraco_Client"
New-Item -ItemType Directory -Force -Path $umbracoClientBackupPath
robocopy $umbracoClientFolder $umbracoClientBackupPath /e /LOG:$copyLogsPath\UmbracoClientBackup.log
robocopy $umbracoClientFolderSource $umbracoClientFolder /is /it /e /LOG:$copyLogsPath\UmbracoClientCopy.log
}
# Open readme.txt file
$DTE.ItemOperations.OpenFile($toolsPath + '\Readme.txt')
}
+1
View File
@@ -0,0 +1 @@
7.1.5
Binary file not shown.
+2
View File
@@ -77,6 +77,8 @@
<Compile Include="SqlCEUtility.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
+7
View File
@@ -42,6 +42,13 @@ namespace SqlCE4Umbraco
{
var sqlCeEngine = new SqlCeEngine(ConnectionString);
sqlCeEngine.CreateDatabase();
// SD: Pretty sure this should be in a using clause but i don't want to cause unknown side-effects here
// since it's been like this for quite some time
//using (var sqlCeEngine = new SqlCeEngine(ConnectionString))
//{
// sqlCeEngine.CreateDatabase();
//}
}
}
+19
View File
@@ -0,0 +1,19 @@
<?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-6.0.0.0" newVersion="6.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>
</assemblyBinding>
</runtime>
</configuration>
+3
View File
@@ -165,6 +165,9 @@ namespace Umbraco.Core
/// </remarks>
internal string OriginalRequestUrl { get; set; }
/// <summary>
/// Checks if the version configured matches the assembly version
/// </summary>
private bool Configured
{
get
+2
View File
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
namespace Umbraco.Core
+10
View File
@@ -160,5 +160,15 @@ namespace Umbraco.Core
{
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;
}
}
}
+8 -1
View File
@@ -1,3 +1,5 @@
using System;
namespace Umbraco.Core.Cache
{
@@ -9,6 +11,7 @@ namespace Umbraco.Core.Cache
public const string ApplicationTreeCacheKey = "ApplicationTreeCache";
public const string ApplicationsCacheKey = "ApplicationCache";
[Obsolete("This is no longer used and will be removed from the codebase in the future")]
public const string UserTypeCacheKey = "UserTypeCache";
public const string ContentItemCacheKey = "contentItem";
@@ -24,13 +27,16 @@ namespace Umbraco.Core.Cache
public const string MemberLibraryCacheKey = "UL_GetMember";
public const string MemberBusinessLogicCacheKey = "MemberCacheItem_";
public const string TemplateFrontEndCacheKey = "template";
public const string TemplateBusinessLogicCacheKey = "UmbracoTemplateCache";
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")]
public const string UserCacheKey = "UmbracoUser";
public const string UserPermissionsCacheKey = "UmbracoUserPermissions";
public const string ContentTypeCacheKey = "UmbracoContentType";
@@ -47,5 +53,6 @@ namespace Umbraco.Core.Cache
public const string StylesheetPropertyCacheKey = "UmbracoStylesheetProperty";
public const string DataTypeCacheKey = "UmbracoDataTypeDefinition";
public const string DataTypePreValuesCacheKey = "UmbracoPreVal";
}
}
@@ -41,6 +41,12 @@ namespace Umbraco.Core.Cache
return result.Select(x => x.TryConvertTo<T>().Result);
}
public static IEnumerable<T> GetCacheItemsByKeyExpression<T>(this ICacheProvider provider, string regexString)
{
var result = provider.GetCacheItemsByKeyExpression(regexString);
return result.Select(x => x.TryConvertTo<T>().Result);
}
public static T GetCacheItem<T>(this ICacheProvider provider, string cacheKey)
{
var result = provider.GetCacheItem(cacheKey);
@@ -1,198 +1,204 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading;
namespace Umbraco.Core.Cache
{
internal abstract class DictionaryCacheProviderBase : ICacheProvider
{
protected static readonly ReaderWriterLockSlim Locker = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
protected abstract DictionaryCacheWrapper DictionaryCache { get; }
/// <summary>
/// Clears everything in umbraco's runtime cache
/// </summary>
/// <remarks>
/// Does not clear other stuff the user has put in httpruntime.cache!
/// </remarks>
public virtual void ClearAllCache()
{
using (new WriteLock(Locker))
{
var keysToRemove = DictionaryCache.Cast<object>()
.Select(item => new DictionaryItemWrapper(item))
.Where(c => c.Key is string && ((string)c.Key).StartsWith(CacheItemPrefix) && DictionaryCache[c.Key.ToString()] != null)
.Select(c => c.Key)
.ToList();
foreach (var k in keysToRemove)
{
DictionaryCache.Remove(k);
}
}
}
/// <summary>
/// Clears the item in umbraco's runtime cache with the given key
/// </summary>
/// <param name="key">Key</param>
public virtual void ClearCacheItem(string key)
{
using (new WriteLock(Locker))
{
if (DictionaryCache[GetCacheKey(key)] == null) return;
DictionaryCache.Remove(GetCacheKey(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>
public virtual void ClearCacheObjectTypes(string typeName)
{
using (new WriteLock(Locker))
{
var keysToRemove = DictionaryCache
.Cast<object>()
.Select(item => new DictionaryItemWrapper(item))
.Where(c =>
{
var k = c.Key.ToString();
var v = DictionaryCache[k];
return v != null && v.GetType().ToString().InvariantEquals(typeName);
})
.Select(c => c.Key)
.ToList();
foreach (var k in keysToRemove)
DictionaryCache.Remove(k);
}
}
public virtual void ClearCacheObjectTypes<T>()
{
using (new WriteLock(Locker))
{
var typeOfT = typeof(T);
var keysToRemove = DictionaryCache
.Cast<object>()
.Select(item => new DictionaryItemWrapper(item))
.Where(c =>
{
var k = c.Key.ToString();
var v = DictionaryCache[k];
return v != null && v.GetType() == typeOfT;
})
.Select(c => c.Key)
.ToList();
foreach (var k in keysToRemove)
DictionaryCache.Remove(k);
}
}
public virtual void ClearCacheObjectTypes<T>(Func<string, T, bool> predicate)
{
using (new WriteLock(Locker))
{
var typeOfT = typeof(T);
var keysToRemove = DictionaryCache
.Cast<object>()
.Select(item => new DictionaryItemWrapper(item))
.Where(c =>
{
var k = c.Key.ToString();
var v = DictionaryCache[k];
return v != null && v.GetType() == typeOfT && predicate(k, (T)v);
})
.Select(c => c.Key)
.ToList();
foreach (var k in keysToRemove)
DictionaryCache.Remove(k);
}
}
/// <summary>
/// Clears all cache items that starts with the key passed.
/// </summary>
/// <param name="keyStartsWith">The start of the key</param>
public virtual void ClearCacheByKeySearch(string keyStartsWith)
{
var keysToRemove = DictionaryCache.Cast<object>()
.Select(item => new DictionaryItemWrapper(item))
.Where(c => c.Key is string && ((string)c.Key).InvariantStartsWith(string.Format("{0}-{1}", CacheItemPrefix, keyStartsWith)))
.Select(c => c.Key)
.ToList();
foreach (var k in keysToRemove)
{
DictionaryCache.Remove(k);
}
}
/// <summary>
/// Clears all cache items that have a key that matches the regular expression
/// </summary>
/// <param name="regexString"></param>
public virtual void ClearCacheByKeyExpression(string regexString)
{
var keysToRemove = new List<object>();
foreach (var item in DictionaryCache)
{
var c = new DictionaryItemWrapper(item);
var s = c.Key as string;
if (s != null)
{
var withoutPrefix = s.TrimStart(string.Format("{0}-", CacheItemPrefix));
if (Regex.IsMatch(withoutPrefix, regexString))
{
keysToRemove.Add(c.Key);
}
}
}
foreach (var k in keysToRemove)
{
DictionaryCache.Remove(k);
}
}
public virtual IEnumerable<object> GetCacheItemsByKeySearch(string keyStartsWith)
{
return (from object item in DictionaryCache
select new DictionaryItemWrapper(item)
into c
where c.Key is string && ((string) c.Key).InvariantStartsWith(string.Format("{0}-{1}", CacheItemPrefix, keyStartsWith))
select c.Value).ToList();
}
/// <summary>
/// Returns a cache item by key, does not update the cache if it isn't there.
/// </summary>
/// <param name="cacheKey"></param>
/// <returns></returns>
public virtual object GetCacheItem(string cacheKey)
{
var result = DictionaryCache.Get(GetCacheKey(cacheKey));
return result;
}
public abstract object GetCacheItem(string cacheKey, Func<object> getCacheItem);
/// <summary>
/// We prefix all cache keys with this so that we know which ones this class has created when
/// using the HttpRuntime cache so that when we clear it we don't clear other entries we didn't create.
/// </summary>
// prefix cache keys so we know which one are ours
protected const string CacheItemPrefix = "umbrtmche";
// an object that represent a value that has not been created yet
protected readonly object ValueNotCreated = new object();
// manupulate the underlying cache entries
// these *must* be called from within the appropriate locks
// and use the full prefixed cache keys
protected abstract IEnumerable<DictionaryEntry> GetDictionaryEntries();
protected abstract void RemoveEntry(string key);
protected abstract object GetEntry(string key);
// read-write lock the underlying cache
protected abstract IDisposable ReadLock { get; }
protected abstract IDisposable WriteLock { get; }
protected string GetCacheKey(string key)
{
return string.Format("{0}-{1}", CacheItemPrefix, key);
}
protected object GetSafeLazyValue(Lazy<object> lazy, bool onlyIfValueIsCreated = false)
{
try
{
// if onlyIfValueIsCreated, do not trigger value creation
// must return something, though, to differenciate from null values
if (onlyIfValueIsCreated && lazy.IsValueCreated == false) return ValueNotCreated;
return lazy.Value;
}
catch
{
return null;
}
}
#region Clear
public virtual void ClearAllCache()
{
using (WriteLock)
{
foreach (var entry in GetDictionaryEntries()
.ToArray())
RemoveEntry((string) entry.Key);
}
}
public virtual void ClearCacheItem(string key)
{
var cacheKey = GetCacheKey(key);
using (WriteLock)
{
RemoveEntry(cacheKey);
}
}
public virtual void ClearCacheObjectTypes(string typeName)
{
using (WriteLock)
{
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);
return value == null || value.GetType().ToString().InvariantEquals(typeName);
})
.ToArray())
RemoveEntry((string) entry.Key);
}
}
public virtual void ClearCacheObjectTypes<T>()
{
var typeOfT = typeof(T);
using (WriteLock)
{
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
// compare on exact type, don't use "is"
// get non-created as NonCreatedValue & exceptions as null
var value = GetSafeLazyValue((Lazy<object>)x.Value, true);
return value == null || value.GetType() == typeOfT;
})
.ToArray())
RemoveEntry((string) entry.Key);
}
}
public virtual void ClearCacheObjectTypes<T>(Func<string, T, bool> predicate)
{
var typeOfT = typeof(T);
var plen = CacheItemPrefix.Length + 1;
using (WriteLock)
{
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
// compare on exact type, don't use "is"
// get non-created as NonCreatedValue & exceptions as null
var value = GetSafeLazyValue((Lazy<object>)x.Value, true);
if (value == null) return true;
return value.GetType() == typeOfT
// run predicate on the 'public key' part only, ie without prefix
&& predicate(((string)x.Key).Substring(plen), (T)value);
}))
RemoveEntry((string) entry.Key);
}
}
public virtual void ClearCacheByKeySearch(string keyStartsWith)
{
var plen = CacheItemPrefix.Length + 1;
using (WriteLock)
{
foreach (var entry in GetDictionaryEntries()
.Where(x => ((string)x.Key).Substring(plen).InvariantStartsWith(keyStartsWith))
.ToArray())
RemoveEntry((string) entry.Key);
}
}
public virtual void ClearCacheByKeyExpression(string regexString)
{
var plen = CacheItemPrefix.Length + 1;
using (WriteLock)
{
foreach (var entry in GetDictionaryEntries()
.Where(x => Regex.IsMatch(((string)x.Key).Substring(plen), regexString))
.ToArray())
RemoveEntry((string) entry.Key);
}
}
#endregion
#region Get
public virtual IEnumerable<object> GetCacheItemsByKeySearch(string keyStartsWith)
{
var plen = CacheItemPrefix.Length + 1;
IEnumerable<DictionaryEntry> entries;
using (ReadLock)
{
entries = GetDictionaryEntries()
.Where(x => ((string)x.Key).Substring(plen).InvariantStartsWith(keyStartsWith))
.ToArray(); // evaluate while locked
}
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
}
public virtual IEnumerable<object> GetCacheItemsByKeyExpression(string regexString)
{
const string prefix = CacheItemPrefix + "-";
var plen = prefix.Length;
IEnumerable<DictionaryEntry> entries;
using (ReadLock)
{
entries = GetDictionaryEntries()
.Where(x => Regex.IsMatch(((string)x.Key).Substring(plen), regexString))
.ToArray(); // evaluate while locked
}
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
}
public virtual object GetCacheItem(string cacheKey)
{
cacheKey = GetCacheKey(cacheKey);
Lazy<object> result;
using (ReadLock)
{
result = GetEntry(cacheKey) as Lazy<object>; // null if key not found
}
return result == null ? null : GetSafeLazyValue(result); // return exceptions as null
}
public abstract object GetCacheItem(string cacheKey, Func<object> getCacheItem);
#endregion
}
}
@@ -1,45 +0,0 @@
using System;
using System.Collections;
namespace Umbraco.Core.Cache
{
internal class DictionaryCacheWrapper : IEnumerable
{
private readonly IEnumerable _inner;
private readonly Func<object, object> _get;
private readonly Action<object> _remove;
public DictionaryCacheWrapper(
IEnumerable inner,
Func<object, object> get,
Action<object> remove)
{
_inner = inner;
_get = get;
_remove = remove;
}
public object this[object key]
{
get
{
return Get(key);
}
}
public object Get(object key)
{
return _get(key);
}
public void Remove(object key)
{
_remove(key);
}
public IEnumerator GetEnumerator()
{
return _inner.GetEnumerator();
}
}
}
@@ -1,14 +0,0 @@
namespace Umbraco.Core.Cache
{
internal class DictionaryItemWrapper
{
public DictionaryItemWrapper(dynamic item)
{
Key = item.Key;
Value = item.Value;
}
public object Key { get; private set; }
public object Value { get; private set; }
}
}
@@ -2,7 +2,6 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;
namespace Umbraco.Core.Cache
@@ -12,36 +11,115 @@ namespace Umbraco.Core.Cache
/// </summary>
internal class HttpRequestCacheProvider : DictionaryCacheProviderBase
{
private readonly Func<HttpContextBase> _context;
// context provider
// the idea is that there is only one, application-wide HttpRequestCacheProvider instance,
// that is initialized with a method that returns the "current" context.
// NOTE
// but then it is initialized with () => new HttpContextWrapper(HttpContent.Current)
// which is higly inefficient because it creates a new wrapper each time we refer to _context()
// so replace it with _context1 and _context2 below + a way to get context.Items.
//private readonly Func<HttpContextBase> _context;
public HttpRequestCacheProvider(HttpContext context)
// NOTE
// and then in almost 100% cases _context2 will be () => HttpContext.Current
// so why not bring that logic in here and fallback on to HttpContext.Current when
// _context1 is null?
//private readonly HttpContextBase _context1;
//private readonly Func<HttpContext> _context2;
private readonly HttpContextBase _context;
private IDictionary ContextItems
{
_context = () => new HttpContextWrapper(context);
//get { return _context1 != null ? _context1.Items : _context2().Items; }
get { return _context != null ? _context.Items : HttpContext.Current.Items; }
}
public HttpRequestCacheProvider(Func<HttpContextBase> context)
// for unit tests
public HttpRequestCacheProvider(HttpContextBase context)
{
_context = context;
}
protected override DictionaryCacheWrapper DictionaryCache
// main constructor
// will use HttpContext.Current
public HttpRequestCacheProvider(/*Func<HttpContext> context*/)
{
//_context2 = context;
}
protected override IEnumerable<DictionaryEntry> GetDictionaryEntries()
{
const string prefix = CacheItemPrefix + "-";
return ContextItems.Cast<DictionaryEntry>()
.Where(x => x.Key is string && ((string)x.Key).StartsWith(prefix));
}
protected override void RemoveEntry(string key)
{
ContextItems.Remove(key);
}
protected override object GetEntry(string key)
{
return ContextItems[key];
}
#region Lock
protected override IDisposable ReadLock
{
// there's no difference between ReadLock and WriteLock here
get { return WriteLock; }
}
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.
get
{
var ctx = _context();
return new DictionaryCacheWrapper(
ctx.Items,
o => ctx.Items[o],
o => ctx.Items.Remove(o));
return new MonitorLock(ContextItems.SyncRoot);
}
}
#endregion
#region Get
public override object GetCacheItem(string cacheKey, Func<object> getCacheItem)
{
var ctx = _context();
var ck = GetCacheKey(cacheKey);
return ctx.Items[ck] ?? (ctx.Items[ck] = getCacheItem());
cacheKey = GetCacheKey(cacheKey);
Lazy<object> result;
using (WriteLock)
{
result = ContextItems[cacheKey] as Lazy<object>; // null if key not found
// cannot create value within the lock, so if result.IsValueCreated is false, just
// do nothing here - means that if creation throws, a race condition could cause
// more than one thread to reach the return statement below and throw - accepted.
if (result == null || GetSafeLazyValue(result, true) == null) // get non-created as NonCreatedValue & exceptions as null
{
result = new Lazy<object>(getCacheItem);
ContextItems[cacheKey] = result;
}
}
// this may throw if getCacheItem throws, but this is the only place where
// it would throw as everywhere else we use GetLazySaveValue() to hide exceptions
// and pretend exceptions were never inserted into cache to begin with.
return result.Value;
}
#endregion
#region Insert
#endregion
}
}
@@ -1,10 +1,9 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Web;
using System.Web.Caching;
using Umbraco.Core.Logging;
using CacheItemPriority = System.Web.Caching.CacheItemPriority;
namespace Umbraco.Core.Cache
@@ -14,48 +13,52 @@ namespace Umbraco.Core.Cache
/// </summary>
internal class HttpRuntimeCacheProvider : DictionaryCacheProviderBase, IRuntimeCacheProvider
{
// locker object that supports upgradeable read locking
// does not need to support recursion if we implement the cache correctly and ensure
// that methods cannot be reentrant, ie we do NOT create values while holding a lock.
private readonly ReaderWriterLockSlim _locker = new ReaderWriterLockSlim(LockRecursionPolicy.NoRecursion);
private readonly System.Web.Caching.Cache _cache;
private readonly DictionaryCacheWrapper _wrapper;
public HttpRuntimeCacheProvider(System.Web.Caching.Cache cache)
{
_cache = cache;
_wrapper = new DictionaryCacheWrapper(_cache, s => _cache.Get(s.ToString()), o => _cache.Remove(o.ToString()));
}
protected override DictionaryCacheWrapper DictionaryCache
protected override IEnumerable<DictionaryEntry> GetDictionaryEntries()
{
get { return _wrapper; }
const string prefix = CacheItemPrefix + "-";
return _cache.Cast<DictionaryEntry>()
.Where(x => x.Key is string && ((string) x.Key).StartsWith(prefix));
}
protected override void RemoveEntry(string key)
{
_cache.Remove(key);
}
protected override object GetEntry(string key)
{
return _cache.Get(key);
}
#region Lock
protected override IDisposable ReadLock
{
get { return new ReadLock(_locker); }
}
protected override IDisposable WriteLock
{
get { return new WriteLock(_locker); }
}
#endregion
#region Get
/// <summary>
/// Clears all objects in the System.Web.Cache with the System.Type specified that satisfy the predicate
/// </summary>
public override void ClearCacheObjectTypes<T>(Func<string, T, bool> predicate)
{
try
{
lock (Locker)
{
foreach (DictionaryEntry c in _cache)
{
var key = c.Key.ToString();
if (_cache[key] != null
&& _cache[key] is T
&& predicate(key, (T)_cache[key]))
{
_cache.Remove(c.Key.ToString());
}
}
}
}
catch (Exception e)
{
LogHelper.Error<CacheHelper>("Cache clearing error", e);
}
}
/// <summary>
/// Gets (and adds if necessary) an item from the cache with all of the default parameters
/// </summary>
/// <param name="cacheKey"></param>
@@ -81,25 +84,64 @@ namespace Umbraco.Core.Cache
{
cacheKey = GetCacheKey(cacheKey);
using (var lck = new UpgradeableReadLock(Locker))
// NOTE - because we don't know what getCacheItem does, how long it will take and whether it will hang,
// getCacheItem should run OUTSIDE of the global application lock else we run into lock contention and
// nasty performance issues.
// So.... we insert a Lazy<object> in the cache while holding the global application lock, and then rely
// on the Lazy lock to ensure that getCacheItem runs once and everybody waits on it, while the global
// application lock has been released.
// 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,
// pretend it was not there. If value is not already created, wait... and return null, that's
// what prior code did.
// NOTE
// The Lazy value creation may throw.
// So... the null value _will_ be in the cache but never returned
Lazy<object> result;
// Fast!
// Only one thread can enter an UpgradeableReadLock at a time, but it does not prevent other
// threads to enter a ReadLock in the meantime -- only upgrading to WriteLock will prevent all
// 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))
{
var result = DictionaryCache.Get(cacheKey);
if (result == null)
{
lck.UpgradeToWriteLock();
result = getCacheItem();
if (result != null)
{
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);
_cache.Insert(cacheKey, result, dependency, absolute, sliding, priority, removedCallback);
}
}
return result;
result = _cache.Get(cacheKey) as Lazy<object>; // null if key not found
}
var value = result == null ? null : GetSafeLazyValue(result);
if (value != null) return value;
using (var lck = new UpgradeableReadLock(_locker))
{
result = _cache.Get(cacheKey) as Lazy<object>; // null if key not found
// cannot create value within the lock, so if result.IsValueCreated is false, just
// do nothing here - means that if creation throws, a race condition could cause
// more than one thread to reach the return statement below and throw - accepted.
if (result == null || GetSafeLazyValue(result, true) == null) // get non-created as NonCreatedValue & exceptions as null
{
result = new Lazy<object>(getCacheItem);
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);
lck.UpgradeToWriteLock();
_cache.Insert(cacheKey, result, dependency, absolute, sliding, priority, removedCallback);
}
}
// this may throw if getCacheItem throws, but this is the only place where
// it would throw as everywhere else we use GetLazySaveValue() to hide exceptions
// and pretend exceptions were never inserted into cache to begin with.
return result.Value;
}
public object GetCacheItem(string cacheKey, Func<object> getCacheItem, TimeSpan? timeout, bool isSliding = false, CacheItemPriority priority = CacheItemPriority.Normal, CacheItemRemovedCallback removedCallback = null, string[] dependentFiles = null)
@@ -112,6 +154,10 @@ namespace Umbraco.Core.Cache
return GetCacheItem(cacheKey, getCacheItem, timeout, isSliding, priority, removedCallback, dependency);
}
#endregion
#region Insert
/// <summary>
/// This overload is here for legacy purposes
/// </summary>
@@ -124,15 +170,22 @@ namespace Umbraco.Core.Cache
/// <param name="dependency"></param>
internal void InsertCacheItem(string cacheKey, Func<object> getCacheItem, TimeSpan? timeout = null, bool isSliding = false, CacheItemPriority priority = CacheItemPriority.Normal, CacheItemRemovedCallback removedCallback = null, CacheDependency dependency = null)
{
var result = getCacheItem();
if (result == null) return;
// NOTE - here also we must insert a Lazy<object> but we can evaluate it right now
// and make sure we don't store a null value.
var result = new Lazy<object>(getCacheItem);
var value = result.Value; // force evaluation now - this may throw if cacheItem throws, and then nothing goes into cache
if (value == null) return; // do not store null values (backward compat)
cacheKey = GetCacheKey(cacheKey);
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);
_cache.Insert(cacheKey, result, dependency, absolute, sliding, priority, removedCallback);
using (new WriteLock(_locker))
{
_cache.Insert(cacheKey, result, dependency, absolute, sliding, priority, removedCallback);
}
}
public void InsertCacheItem(string cacheKey, Func<object> getCacheItem, TimeSpan? timeout = null, bool isSliding = false, CacheItemPriority priority = CacheItemPriority.Normal, CacheItemRemovedCallback removedCallback = null, string[] dependentFiles = null)
@@ -144,5 +197,7 @@ namespace Umbraco.Core.Cache
}
InsertCacheItem(cacheKey, getCacheItem, timeout, isSliding, priority, removedCallback, dependency);
}
#endregion
}
}
+8
View File
@@ -16,7 +16,15 @@ namespace Umbraco.Core.Cache
void ClearCacheByKeySearch(string keyStartsWith);
void ClearCacheByKeyExpression(string regexString);
IEnumerable<object> GetCacheItemsByKeySearch(string keyStartsWith);
IEnumerable<object> GetCacheItemsByKeyExpression(string regexString);
/// <summary>
/// Returns an item with a given key
/// </summary>
/// <param name="cacheKey"></param>
/// <returns></returns>
object GetCacheItem(string cacheKey);
object GetCacheItem(string cacheKey, Func<object> getCacheItem);
}
}
@@ -43,6 +43,11 @@ namespace Umbraco.Core.Cache
return Enumerable.Empty<object>();
}
public IEnumerable<object> GetCacheItemsByKeyExpression(string regexString)
{
return Enumerable.Empty<object>();
}
public virtual object GetCacheItem(string cacheKey)
{
return default(object);
@@ -16,17 +16,37 @@ namespace Umbraco.Core.Cache
/// </summary>
internal class ObjectCacheRuntimeCacheProvider : IRuntimeCacheProvider
{
private static readonly ReaderWriterLockSlim Locker = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
private readonly ReaderWriterLockSlim _locker = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
internal ObjectCache MemoryCache;
// an object that represent a value that has not been created yet
protected readonly object ValueNotCreated = new object();
public ObjectCacheRuntimeCacheProvider()
{
MemoryCache = new MemoryCache("in-memory");
}
protected object GetSafeLazyValue(Lazy<object> lazy, bool onlyIfValueIsCreated = false)
{
try
{
// if onlyIfValueIsCreated, do not trigger value creation
// must return something, though, to differenciate from null values
if (onlyIfValueIsCreated && lazy.IsValueCreated == false) return ValueNotCreated;
return lazy.Value;
}
catch
{
return null;
}
}
#region Clear
public virtual void ClearAllCache()
{
using (new WriteLock(Locker))
using (new WriteLock(_locker))
{
MemoryCache.DisposeIfDisposable();
MemoryCache = new MemoryCache("in-memory");
@@ -35,7 +55,7 @@ namespace Umbraco.Core.Cache
public virtual void ClearCacheItem(string key)
{
using (new WriteLock(Locker))
using (new WriteLock(_locker))
{
if (MemoryCache[key] == null) return;
MemoryCache.Remove(key);
@@ -44,124 +64,179 @@ namespace Umbraco.Core.Cache
public virtual void ClearCacheObjectTypes(string typeName)
{
using (new WriteLock(Locker))
using (new WriteLock(_locker))
{
var keysToRemove = MemoryCache
.Where(c => c.Value != null && c.Value.GetType().ToString().InvariantEquals(typeName))
.Select(c => c.Key)
.ToArray();
foreach (var k in keysToRemove)
MemoryCache.Remove(k);
foreach (var key in MemoryCache
.Where(x =>
{
// x.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);
return value == null || value.GetType().ToString().InvariantEquals(typeName);
})
.Select(x => x.Key)
.ToArray()) // ToArray required to remove
MemoryCache.Remove(key);
}
}
public virtual void ClearCacheObjectTypes<T>()
{
using (new WriteLock(Locker))
using (new WriteLock(_locker))
{
var typeOfT = typeof (T);
var keysToRemove = MemoryCache
.Where(c => c.Value != null && c.Value.GetType() == typeOfT)
.Select(c => c.Key)
.ToArray();
foreach (var k in keysToRemove)
MemoryCache.Remove(k);
foreach (var key in MemoryCache
.Where(x =>
{
// x.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);
return value == null || value.GetType() == typeOfT;
})
.Select(x => x.Key)
.ToArray()) // ToArray required to remove
MemoryCache.Remove(key);
}
}
public virtual void ClearCacheObjectTypes<T>(Func<string, T, bool> predicate)
{
using (new WriteLock(Locker))
using (new WriteLock(_locker))
{
var typeOfT = typeof(T);
var keysToRemove = MemoryCache
.Where(c => c.Value != null && c.Value.GetType() == typeOfT && predicate(c.Key, (T)c.Value))
.Select(c => c.Key)
.ToArray();
foreach (var k in keysToRemove)
MemoryCache.Remove(k);
foreach (var key in MemoryCache
.Where(x =>
{
// x.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);
if (value == null) return true;
return value.GetType() == typeOfT
&& predicate(x.Key, (T) value);
})
.Select(x => x.Key)
.ToArray()) // ToArray required to remove
MemoryCache.Remove(key);
}
}
public virtual void ClearCacheByKeySearch(string keyStartsWith)
{
using (new WriteLock(Locker))
using (new WriteLock(_locker))
{
var keysToRemove = (from c in MemoryCache where c.Key.InvariantStartsWith(keyStartsWith) select c.Key).ToList();
foreach (var k in keysToRemove)
{
MemoryCache.Remove(k);
}
foreach (var key in MemoryCache
.Where(x => x.Key.InvariantStartsWith(keyStartsWith))
.Select(x => x.Key)
.ToArray()) // ToArray required to remove
MemoryCache.Remove(key);
}
}
public virtual void ClearCacheByKeyExpression(string regexString)
{
using (new WriteLock(Locker))
using (new WriteLock(_locker))
{
var keysToRemove = (from c in MemoryCache where Regex.IsMatch(c.Key, regexString) select c.Key).ToList();
foreach (var k in keysToRemove)
{
MemoryCache.Remove(k);
}
foreach (var key in MemoryCache
.Where(x => Regex.IsMatch(x.Key, regexString))
.Select(x => x.Key)
.ToArray()) // ToArray required to remove
MemoryCache.Remove(key);
}
}
public virtual IEnumerable<object> GetCacheItemsByKeySearch(string keyStartsWith)
#endregion
#region Get
public IEnumerable<object> GetCacheItemsByKeySearch(string keyStartsWith)
{
return (from c in MemoryCache
where c.Key.InvariantStartsWith(keyStartsWith)
select c.Value).ToList();
KeyValuePair<string, object>[] entries;
using (new ReadLock(_locker))
{
entries = MemoryCache
.Where(x => x.Key.InvariantStartsWith(keyStartsWith))
.ToArray(); // evaluate while locked
}
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
.ToList();
}
public virtual object GetCacheItem(string cacheKey)
public IEnumerable<object> GetCacheItemsByKeyExpression(string regexString)
{
var result = MemoryCache.Get(cacheKey);
return result;
KeyValuePair<string, object>[] entries;
using (new ReadLock(_locker))
{
entries = MemoryCache
.Where(x => Regex.IsMatch(x.Key, regexString))
.ToArray(); // evaluate while locked
}
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
.ToList();
}
public virtual object GetCacheItem(string cacheKey, Func<object> getCacheItem)
public object GetCacheItem(string cacheKey)
{
Lazy<object> result;
using (new ReadLock(_locker))
{
result = MemoryCache.Get(cacheKey) as Lazy<object>; // null if key not found
}
return result == null ? null : GetSafeLazyValue(result); // return exceptions as null
}
public object GetCacheItem(string cacheKey, Func<object> getCacheItem)
{
return GetCacheItem(cacheKey, getCacheItem, null);
}
public object GetCacheItem(
string cacheKey,
Func<object> getCacheItem,
TimeSpan? timeout,
bool isSliding = false,
CacheItemPriority priority = CacheItemPriority.Normal,
CacheItemRemovedCallback removedCallback = null,
string[] dependentFiles = null)
public object GetCacheItem(string cacheKey, Func<object> getCacheItem, TimeSpan? timeout, bool isSliding = false, CacheItemPriority priority = CacheItemPriority.Normal,CacheItemRemovedCallback removedCallback = null, string[] dependentFiles = null)
{
using (var lck = new UpgradeableReadLock(Locker))
{
var result = MemoryCache.Get(cacheKey);
if (result == null)
{
lck.UpgradeToWriteLock();
// see notes in HttpRuntimeCacheProvider
result = getCacheItem();
if (result != null)
{
var policy = GetPolicy(timeout, isSliding, removedCallback, dependentFiles);
MemoryCache.Set(cacheKey, result, policy);
}
Lazy<object> result;
using (var lck = new UpgradeableReadLock(_locker))
{
result = MemoryCache.Get(cacheKey) as Lazy<object>;
if (result == null || GetSafeLazyValue(result, true) == null) // get non-created as NonCreatedValue & exceptions as null
{
result = new Lazy<object>(getCacheItem);
var policy = GetPolicy(timeout, isSliding, removedCallback, dependentFiles);
lck.UpgradeToWriteLock();
MemoryCache.Set(cacheKey, result, policy);
}
return result;
}
return result.Value;
}
#endregion
#region Insert
public void InsertCacheItem(string cacheKey, Func<object> getCacheItem, TimeSpan? timeout = null, bool isSliding = false, CacheItemPriority priority = CacheItemPriority.Normal, CacheItemRemovedCallback removedCallback = null, string[] dependentFiles = null)
{
object result = getCacheItem();
if (result != null)
{
var policy = GetPolicy(timeout, isSliding, removedCallback, dependentFiles);
MemoryCache.Set(cacheKey, result, policy);
}
// NOTE - here also we must insert a Lazy<object> but we can evaluate it right now
// and make sure we don't store a null value.
var result = new Lazy<object>(getCacheItem);
var value = result.Value; // force evaluation now
if (value == null) return; // do not store null values (backward compat)
var policy = GetPolicy(timeout, isSliding, removedCallback, dependentFiles);
MemoryCache.Set(cacheKey, result, policy);
}
#endregion
private static CacheItemPolicy GetPolicy(TimeSpan? timeout = null, bool isSliding = false, CacheItemRemovedCallback removedCallback = null, string[] dependentFiles = null)
{
var absolute = isSliding ? ObjectCache.InfiniteAbsoluteExpiration : (timeout == null ? ObjectCache.InfiniteAbsoluteExpiration : DateTime.Now.Add(timeout.Value));
@@ -59,6 +59,13 @@ namespace Umbraco.Core.Cache
select c.Value).ToList();
}
public IEnumerable<object> GetCacheItemsByKeyExpression(string regexString)
{
return (from KeyValuePair<string, object> c in StaticCache
where Regex.IsMatch(c.Key, regexString)
select c.Value).ToList();
}
public virtual object GetCacheItem(string cacheKey)
{
var result = StaticCache[cacheKey];
+2 -2
View File
@@ -44,7 +44,7 @@ namespace Umbraco.Core
: this(
new HttpRuntimeCacheProvider(HttpRuntime.Cache),
new StaticCacheProvider(),
new HttpRequestCacheProvider(() => new HttpContextWrapper(HttpContext.Current)))
new HttpRequestCacheProvider())
{
}
@@ -56,7 +56,7 @@ namespace Umbraco.Core
: this(
new HttpRuntimeCacheProvider(cache),
new StaticCacheProvider(),
new HttpRequestCacheProvider(() => new HttpContextWrapper(HttpContext.Current)))
new HttpRequestCacheProvider())
{
}
+1 -1
View File
@@ -27,7 +27,7 @@ namespace Umbraco.Core
/// <summary>
/// Gets the <see cref="ICacheRefresher"/> implementations.
/// </summary>
public IEnumerable<ICacheRefresher> CacheResolvers
public IEnumerable<ICacheRefresher> CacheRefreshers
{
get
{
@@ -16,7 +16,7 @@ namespace Umbraco.Core.Configuration
}
/// <summary>
/// Increases the version number in ClientDependency.config by 1
/// Changes the version number in ClientDependency.config to a random value to avoid stale caches
/// </summary>
internal bool IncreaseVersionNumber()
{
@@ -28,9 +28,9 @@ namespace Umbraco.Core.Configuration
var versionAttribute = clientDependencyConfigXml.Root.Attribute("version");
int oldVersion;
int.TryParse(versionAttribute.Value, out oldVersion);
var newVersion = oldVersion + 100;
//Set the new version to the hashcode of now
var oldVersion = versionAttribute.Value;
var newVersion = Math.Abs(DateTime.UtcNow.GetHashCode());
versionAttribute.SetValue(newVersion);
clientDependencyConfigXml.Save(_fileName, SaveOptions.DisableFormatting);
@@ -6,10 +6,13 @@ using System.Web;
using System.Web.Configuration;
using System.Web.Hosting;
using System.Web.Routing;
using System.Web.Security;
using System.Xml;
using System.Xml.Linq;
using System.Xml.XPath;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Security;
namespace Umbraco.Core.Configuration
{
@@ -38,7 +41,7 @@ namespace Umbraco.Core.Configuration
private static string _reservedUrls;
//ensure the built on (non-changeable) reserved paths are there at all times
private const string StaticReservedPaths = "~/app_plugins/,~/install/,";
private const string StaticReservedUrls = "~/config/splashes/booting.aspx,~/install/default.aspx,~/config/splashes/noNodes.aspx,~/VSEnterpriseHelper.axd,";
private const string StaticReservedUrls = "~/config/splashes/booting.aspx,~/config/splashes/noNodes.aspx,~/VSEnterpriseHelper.axd,";
#endregion
@@ -259,7 +262,38 @@ namespace Umbraco.Core.Configuration
SaveSetting("umbracoConfigurationStatus", value);
}
}
/// <summary>
/// Gets or sets the Umbraco members membership providers' useLegacyEncoding state. This will return a boolean
/// </summary>
/// <value>The useLegacyEncoding status.</value>
public static bool UmbracoMembershipProviderLegacyEncoding
{
get
{
return IsConfiguredMembershipProviderUsingLegacyEncoding(Constants.Conventions.Member.UmbracoMemberProviderName);
}
set
{
SetMembershipProvidersLegacyEncoding(Constants.Conventions.Member.UmbracoMemberProviderName, value);
}
}
/// <summary>
/// Gets or sets the Umbraco users membership providers' useLegacyEncoding state. This will return a boolean
/// </summary>
/// <value>The useLegacyEncoding status.</value>
public static bool UmbracoUsersMembershipProviderLegacyEncoding
{
get
{
return IsConfiguredMembershipProviderUsingLegacyEncoding(UmbracoConfig.For.UmbracoSettings().Providers.DefaultBackOfficeUserProvider);
}
set
{
SetMembershipProvidersLegacyEncoding(UmbracoConfig.For.UmbracoSettings().Providers.DefaultBackOfficeUserProvider, value);
}
}
/// <summary>
/// Saves a setting into the configuration file.
@@ -301,7 +335,51 @@ namespace Umbraco.Core.Configuration
setting.Remove();
xml.Save(fileName, SaveOptions.DisableFormatting);
ConfigurationManager.RefreshSection("appSettings");
}
}
private static void SetMembershipProvidersLegacyEncoding(string providerName, bool useLegacyEncoding)
{
//check if this can even be configured.
var membershipProvider = Membership.Providers[providerName] as MembershipProviderBase;
if (membershipProvider == null)
{
return;
}
if (membershipProvider.GetType().Namespace == "umbraco.providers.members")
{
//its the legacy one, this cannot be changed
return;
}
var webConfigFilename = IOHelper.MapPath(string.Format("{0}/web.config", SystemDirectories.Root));
var webConfigXml = XDocument.Load(webConfigFilename, LoadOptions.PreserveWhitespace);
var membershipConfigs = webConfigXml.XPathSelectElements("configuration/system.web/membership/providers/add").ToList();
if (membershipConfigs.Any() == false)
return;
var provider = membershipConfigs.SingleOrDefault(c => c.Attribute("name") != null && c.Attribute("name").Value == providerName);
if (provider == null)
return;
provider.SetAttributeValue("useLegacyEncoding", useLegacyEncoding);
webConfigXml.Save(webConfigFilename, SaveOptions.DisableFormatting);
}
private static bool IsConfiguredMembershipProviderUsingLegacyEncoding(string providerName)
{
//check if this can even be configured.
var membershipProvider = Membership.Providers[providerName] as MembershipProviderBase;
if (membershipProvider == null)
{
return false;
}
return membershipProvider.UseLegacyEncoding;
}
/// <summary>
+24 -15
View File
@@ -34,31 +34,19 @@ namespace Umbraco.Core.Configuration
{
if (_umbracoSettings == null)
{
var umbracoSettings = ConfigurationManager.GetSection("umbracoConfiguration/settings") as IUmbracoSettingsSection;
if (umbracoSettings == null)
{
LogHelper.Warn<UmbracoConfig>("Could not load the " + typeof(IUmbracoSettingsSection) + " from config file!");
}
var umbracoSettings = ConfigurationManager.GetSection("umbracoConfiguration/settings") as IUmbracoSettingsSection;
SetUmbracoSettings(umbracoSettings);
}
if (_baseRestExtensions == null)
{
var baseRestExtensions = ConfigurationManager.GetSection("umbracoConfiguration/BaseRestExtensions") as IBaseRestSection;
if (baseRestExtensions == null)
{
LogHelper.Warn<UmbracoConfig>("Could not load the " + typeof(IBaseRestSection) + " from config file!");
}
var baseRestExtensions = ConfigurationManager.GetSection("umbracoConfiguration/BaseRestExtensions") as IBaseRestSection;
SetBaseRestExtensions(baseRestExtensions);
}
if (_dashboardSection == null)
{
var dashboardConfig = ConfigurationManager.GetSection("umbracoConfiguration/dashBoard") as IDashboardSection;
if (dashboardConfig == null)
{
LogHelper.Warn<UmbracoConfig>("Could not load the " + typeof(IDashboardSection) + " from config file!");
}
var dashboardConfig = ConfigurationManager.GetSection("umbracoConfiguration/dashBoard") as IDashboardSection;
SetDashboardSettings(dashboardConfig);
}
}
@@ -85,6 +73,13 @@ namespace Umbraco.Core.Configuration
/// </summary>
public IDashboardSection DashboardSettings()
{
if (_dashboardSection == null)
{
var ex = new ConfigurationErrorsException("Could not load the " + typeof(IDashboardSection) + " from config file, ensure the web.config and Dashboard.config files are formatted correctly");
LogHelper.Error<UmbracoConfig>("Config error", ex);
throw ex;
}
return _dashboardSection;
}
@@ -105,6 +100,13 @@ namespace Umbraco.Core.Configuration
/// </summary>
public IUmbracoSettingsSection UmbracoSettings()
{
if (_umbracoSettings == null)
{
var ex = new ConfigurationErrorsException("Could not load the " + typeof (IUmbracoSettingsSection) + " from config file, ensure the web.config and umbracoSettings.config files are formatted correctly");
LogHelper.Error<UmbracoConfig>("Config error", ex);
throw ex;
}
return _umbracoSettings;
}
@@ -119,6 +121,13 @@ namespace Umbraco.Core.Configuration
/// </summary>
public IBaseRestSection BaseRestExtensions()
{
if (_baseRestExtensions == null)
{
var ex = new ConfigurationErrorsException("Could not load the " + typeof(IBaseRestSection) + " from config file, ensure the web.config and BaseRestExtensions.config files are formatted correctly");
LogHelper.Error<UmbracoConfig>("Config error", ex);
throw ex;
}
return _baseRestExtensions;
}
@@ -1,10 +1,10 @@
using System.Collections.Generic;
using System.Configuration;
using System.Configuration;
namespace Umbraco.Core.Configuration.UmbracoSettings
{
internal class ContentImagingElement : ConfigurationElement
{
[ConfigurationProperty("imageFileTypes")]
internal CommaDelimitedConfigurationElement ImageFileTypes
{
@@ -5,5 +5,8 @@
string ForcePortnumber { get; }
string ForceProtocol { get; }
string ServerAddress { get; }
string AppId { get; }
string ServerName { get; }
}
}
@@ -26,5 +26,24 @@
{
get { return Value; }
}
public string AppId
{
get
{
return RawXml.Attribute("appId") == null
? null
: RawXml.Attribute("appId").Value;
}
}
public string ServerName
{
get
{
return RawXml.Attribute("serverName") == null
? null
: RawXml.Attribute("serverName").Value;
}
}
}
}
@@ -11,7 +11,7 @@ namespace Umbraco.Core.Configuration.UmbracoSettings
{
return new OptionalInnerTextConfigurationElement<string>(
(InnerTextConfigurationElement<string>)this["DefaultBackofficeProvider"],
//set the default
//set the default
"UsersMembershipProvider");
}
}
@@ -5,7 +5,7 @@ namespace Umbraco.Core.Configuration
{
public class UmbracoVersion
{
private static readonly Version Version = new Version("7.0.4");
private static readonly Version Version = new Version("7.1.5");
/// <summary>
/// Gets the current version of Umbraco.
+47 -26
View File
@@ -85,7 +85,7 @@ namespace Umbraco.Core
/// <summary>
/// MediaType alias for a folder.
/// </summary>
/// </summary>
public const string Folder = "Folder";
/// <summary>
@@ -93,10 +93,10 @@ namespace Umbraco.Core
/// </summary>
public const string Image = "Image";
}
/// <summary>
/// Constants for Umbraco Member property aliases.
/// </summary>
/// </summary>
public static class Member
{
/// <summary>
@@ -111,73 +111,78 @@ namespace Umbraco.Core
/// <summary>
/// Property alias for a Members Password Question
/// </summary>
public const string PasswordQuestion = "umbracoPasswordRetrievalQuestionPropertyTypeAlias";
public const string PasswordQuestion = "umbracoMemberPasswordRetrievalQuestion";
public const string PasswordQuestionLabel = "Password Question";
/// <summary>
/// Property alias for Members Password Answer
/// </summary>
public const string PasswordAnswer = "umbracoPasswordRetrievalAnswerPropertyTypeAlias";
public const string PasswordAnswer = "umbracoMemberPasswordRetrievalAnswer";
public const string PasswordAnswerLabel = "Password Answer";
/// <summary>
/// Property alias for the Comments on a Member
/// </summary>
public const string Comments = "umbracoCommentPropertyTypeAlias";
public const string Comments = "umbracoMemberComments";
public const string CommentsLabel = "Comments";
public const string CommentsLabel = "Comments";
/// <summary>
/// Property alias for the Approved boolean of a Member
/// </summary>
public const string IsApproved = "umbracoApprovePropertyTypeAlias";
public const string IsApproved = "umbracoMemberApproved";
public const string IsApprovedLabel = "Is Approved";
public const string IsApprovedLabel = "Is Approved";
/// <summary>
/// Property alias for the Locked out boolean of a Member
/// </summary>
public const string IsLockedOut = "umbracoLockPropertyTypeAlias";
public const string IsLockedOut = "umbracoMemberLockedOut";
public const string IsLockedOutLabel = "Is Locked Out";
public const string IsLockedOutLabel = "Is Locked Out";
/// <summary>
/// Property alias for the last date the Member logged in
/// </summary>
public const string LastLoginDate = "umbracoLastLoginPropertyTypeAlias";
public const string LastLoginDate = "umbracoMemberLastLogin";
public const string LastLoginDateLabel = "Last Login Date";
public const string LastLoginDateLabel = "Last Login Date";
/// <summary>
/// Property alias for the last date a Member changed its password
/// </summary>
public const string LastPasswordChangeDate = "umbracoMemberLastPasswordChange";
public const string LastPasswordChangeDate = "umbracoMemberLastPasswordChangeDate";
public const string LastPasswordChangeDateLabel = "Last Password Change Date";
/// <summary>
/// Property alias for the last date a Member was locked out
/// </summary>
public const string LastLockoutDate = "umbracoMemberLastLockout";
public const string LastLockoutDate = "umbracoMemberLastLockoutDate";
public const string LastLockoutDateLabel = "Last Lockout Date";
/// <summary>
/// Property alias for the number of failed login attemps
/// </summary>
public const string FailedPasswordAttempts = "umbracoFailedPasswordAttemptsPropertyTypeAlias";
public const string FailedPasswordAttempts = "umbracoMemberFailedPasswordAttempts";
public const string FailedPasswordAttemptsLabel = "Failed Password Attempts";
/// <summary>
/// Group name to put the membership properties on
/// </summary>
internal const string StandardPropertiesGroupName = "Membership";
internal static Dictionary<string, PropertyType> GetStandardPropertyTypeStubs()
{
return new Dictionary<string, PropertyType>
{
{
Comments,
new PropertyType(PropertyEditors.TextboxMultipleAlias, DataTypeDatabaseType.Ntext)
new PropertyType(PropertyEditors.TextboxMultipleAlias, DataTypeDatabaseType.Ntext, true)
{
Alias = Comments,
Name = CommentsLabel
@@ -185,7 +190,7 @@ namespace Umbraco.Core
},
{
FailedPasswordAttempts,
new PropertyType(PropertyEditors.IntegerAlias, DataTypeDatabaseType.Integer)
new PropertyType(PropertyEditors.NoEditAlias, DataTypeDatabaseType.Integer, true)
{
Alias = FailedPasswordAttempts,
Name = FailedPasswordAttemptsLabel
@@ -193,7 +198,7 @@ namespace Umbraco.Core
},
{
IsApproved,
new PropertyType(PropertyEditors.TrueFalseAlias, DataTypeDatabaseType.Integer)
new PropertyType(PropertyEditors.TrueFalseAlias, DataTypeDatabaseType.Integer, true)
{
Alias = IsApproved,
Name = IsApprovedLabel
@@ -201,7 +206,7 @@ namespace Umbraco.Core
},
{
IsLockedOut,
new PropertyType(PropertyEditors.TrueFalseAlias, DataTypeDatabaseType.Integer)
new PropertyType(PropertyEditors.TrueFalseAlias, DataTypeDatabaseType.Integer, true)
{
Alias = IsLockedOut,
Name = IsLockedOutLabel
@@ -209,7 +214,7 @@ namespace Umbraco.Core
},
{
LastLockoutDate,
new PropertyType(PropertyEditors.DateAlias, DataTypeDatabaseType.Date)
new PropertyType(PropertyEditors.NoEditAlias, DataTypeDatabaseType.Date, true)
{
Alias = LastLockoutDate,
Name = LastLockoutDateLabel
@@ -217,7 +222,7 @@ namespace Umbraco.Core
},
{
LastLoginDate,
new PropertyType(PropertyEditors.DateAlias, DataTypeDatabaseType.Date)
new PropertyType(PropertyEditors.NoEditAlias, DataTypeDatabaseType.Date, true)
{
Alias = LastLoginDate,
Name = LastLoginDateLabel
@@ -225,7 +230,7 @@ namespace Umbraco.Core
},
{
LastPasswordChangeDate,
new PropertyType(PropertyEditors.DateAlias, DataTypeDatabaseType.Date)
new PropertyType(PropertyEditors.NoEditAlias, DataTypeDatabaseType.Date, true)
{
Alias = LastPasswordChangeDate,
Name = LastPasswordChangeDateLabel
@@ -233,7 +238,7 @@ namespace Umbraco.Core
},
{
PasswordAnswer,
new PropertyType(PropertyEditors.TextboxAlias, DataTypeDatabaseType.Nvarchar)
new PropertyType(PropertyEditors.NoEditAlias, DataTypeDatabaseType.Nvarchar, true)
{
Alias = PasswordAnswer,
Name = PasswordAnswerLabel
@@ -241,7 +246,7 @@ namespace Umbraco.Core
},
{
PasswordQuestion,
new PropertyType(PropertyEditors.TextboxAlias, DataTypeDatabaseType.Nvarchar)
new PropertyType(PropertyEditors.NoEditAlias, DataTypeDatabaseType.Nvarchar, true)
{
Alias = PasswordQuestion,
Name = PasswordQuestionLabel
@@ -259,7 +264,7 @@ namespace Umbraco.Core
/// <summary>
/// MemberType alias for default member type.
/// </summary>
public const string Member = "Member";
public const string DefaultAlias = "Member";
public const string SystemDefaultProtectType = "_umbracoSystemDefaultProtectType";
}
@@ -274,6 +279,22 @@ namespace Umbraco.Core
/// </summary>
public const string AltTemplate = "altTemplate";
}
/// <summary>
/// Defines the alias identifiers for Umbraco relation types.
/// </summary>
public static class RelationTypes
{
/// <summary>
/// ContentType name for default relation type "Relate Document On Copy".
/// </summary>
public const string RelateDocumentOnCopyName = "Relate Document On Copy";
/// <summary>
/// ContentType alias for default relation type "Relate Document On Copy".
/// </summary>
public const string RelateDocumentOnCopyAlias = "relateDocumentOnCopy";
}
}
}
}
+55
View File
@@ -0,0 +1,55 @@
namespace Umbraco.Core
{
public static partial class Constants
{
/// <summary>
/// Defines the constants used for Umbraco packages in the package.config xml
/// </summary>
public static class Packaging
{
public const string UmbPackageNodeName = "umbPackage";
public const string DataTypesNodeName = "DataTypes";
public const string PackageXmlFileName = "package.xml";
public const string UmbracoPackageExtention = ".umb";
public const string DataTypeNodeName = "DataType";
public const string LanguagesNodeName = "Languages";
public const string FilesNodeName = "files";
public const string StylesheetsNodeName = "Stylesheets";
public const string TemplatesNodeName = "Templates";
public const string NameNodeName = "Name";
public const string TemplateNodeName = "Template";
public const string AliasNodeNameSmall = "alias";
public const string AliasNodeNameCapital = "Alias";
public const string DictionaryItemsNodeName = "DictionaryItems";
public const string DictionaryItemNodeName = "DictionaryItem";
public const string MacrosNodeName = "Macros";
public const string DocumentsNodeName = "Documents";
public const string DocumentSetNodeName = "DocumentSet";
public const string DocumentTypesNodeName = "DocumentTypes";
public const string DocumentTypeNodeName = "DocumentType";
public const string FileNodeName = "file";
public const string OrgNameNodeName = "orgName";
public const string OrgPathNodeName = "orgPath";
public const string GuidNodeName = "guid";
public const string StylesheetNodeName = "styleSheet";
public const string MacroNodeName = "macro";
public const string InfoNodeName = "info";
public const string PackageRequirementsMajorXpath = "./package/requirements/major";
public const string PackageRequirementsMinorXpath = "./package/requirements/minor";
public const string PackageRequirementsPatchXpath = "./package/requirements/patch";
public const string PackageNameXpath = "./package/name";
public const string PackageVersionXpath = "./package/version";
public const string PackageUrlXpath = "./package/url";
public const string PackageLicenseXpath = "./package/license";
public const string PackageLicenseXpathUrlAttribute = "url";
public const string AuthorNameXpath = "./author/name";
public const string AuthorWebsiteXpath = "./author/website";
public const string ReadmeXpath = "./readme";
public const string ControlNodeName = "control";
public const string ActionNodeName = "Action";
public const string ActionsNodeName = "Actions";
public const string UndoNodeAttribute = "undo";
public const string RunatNodeAttribute = "runat";
}
}
}
@@ -139,7 +139,7 @@ namespace Umbraco.Core
///// <summary>
///// Alias for the Image Cropper datatype.
///// </summary>
//public const string ImageCropperAlias = "Umbraco.ImageCropper";
public const string ImageCropperAlias = "Umbraco.ImageCropper";
/// <summary>
/// Guid for the Integer datatype.
+46
View File
@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;
namespace Umbraco.Core
{
internal static class ControlExtensions
{
/// <summary>
/// Recursively finds a control with the specified identifier.
/// </summary>
/// <typeparam name="T">
/// The type of control to be found.
/// </typeparam>
/// <param name="parent">
/// The parent control from which the search will start.
/// </param>
/// <param name="id">
/// The identifier of the control to be found.
/// </param>
/// <returns>
/// The control with the specified identifier, otherwise <see langword="null"/> if the control
/// is not found.
/// </returns>
public static T FindControlRecursive<T>(this Control parent, string id) where T : Control
{
if ((parent is T) && (parent.ID == id))
{
return (T)parent;
}
foreach (Control control in parent.Controls)
{
var foundControl = FindControlRecursive<T>(control, id);
if (foundControl != null)
{
return foundControl;
}
}
return default(T);
}
}
}
+6 -10
View File
@@ -243,7 +243,6 @@ namespace Umbraco.Core
//stop the timer and log the output
_timer.Dispose();
return this;
}
@@ -287,7 +286,7 @@ namespace Umbraco.Core
() => PluginManager.Current.ResolveAssignedMapperTypes());
RepositoryResolver.Current = new RepositoryResolver(
new RepositoryFactory());
new RepositoryFactory(ApplicationCache));
SqlSyntaxProvidersResolver.Current = new SqlSyntaxProvidersResolver(
new[] { typeof(MySqlSyntaxProvider), typeof(SqlCeSyntaxProvider), typeof(SqlServerSyntaxProvider) })
@@ -312,17 +311,15 @@ namespace Umbraco.Core
//the database migration objects
MigrationResolver.Current = new MigrationResolver(
() => PluginManager.Current.ResolveMigrationTypes());
() => PluginManager.Current.ResolveTypes<IMigration>());
// todo: remove once we drop IPropertyEditorValueConverter support.
PropertyEditorValueConvertersResolver.Current = new PropertyEditorValueConvertersResolver(
PluginManager.Current.ResolvePropertyEditorValueConverters());
//add the internal ones, these are not public currently so need to add them manually
PropertyValueConvertersResolver.Current = new PropertyValueConvertersResolver(
PluginManager.Current.ResolvePropertyValueConverters());
// fixme - why not use the following syntax?
//PluginManager.Current.ResolveTypes<IPropertyValueConverter>());
// need to filter out the ones we dont want!!
PropertyValueConvertersResolver.Current = new PropertyValueConvertersResolver(
PluginManager.Current.ResolveTypes<IPropertyValueConverter>());
// use the new DefaultShortStringHelper
ShortStringHelperResolver.Current = new ShortStringHelperResolver(
@@ -332,9 +329,8 @@ namespace Umbraco.Core
UrlSegmentProviderResolver.Current = new UrlSegmentProviderResolver(
typeof (DefaultUrlSegmentProvider));
// keep it internal for now
// by default, no factory is activated
PublishedContentModelFactoryResolver.Current = new PublishedContentModelFactoryResolver();
// new PublishedContentModelFactoryImpl());
}
}
}
+132 -40
View File
@@ -3,6 +3,7 @@ using System.Configuration;
using System.Data.SqlServerCe;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Configuration;
using System.Xml.Linq;
using Umbraco.Core.Configuration;
@@ -113,8 +114,8 @@ namespace Umbraco.Core
public void ConfigureEmbeddedDatabaseConnection()
{
const string providerName = "System.Data.SqlServerCe.4.0";
const string connectionString = @"Data Source=|DataDirectory|\Umbraco.sdf;Flush Interval=1;";
var connectionString = GetEmbeddedDatabaseConnectionString();
SaveConnectionString(connectionString, providerName);
var path = Path.Combine(GlobalSettings.FullpathToRoot, "App_Data", "Umbraco.sdf");
@@ -122,11 +123,23 @@ namespace Umbraco.Core
{
var engine = new SqlCeEngine(connectionString);
engine.CreateDatabase();
// SD: Pretty sure this should be in a using clause but i don't want to cause unknown side-effects here
// since it's been like this for quite some time
//using (var engine = new SqlCeEngine(connectionString))
//{
// engine.CreateDatabase();
//}
}
Initialize(providerName);
}
public string GetEmbeddedDatabaseConnectionString()
{
return @"Data Source=|DataDirectory|\Umbraco.sdf;Flush Interval=1;";
}
/// <summary>
/// Configure a ConnectionString that has been entered manually.
/// </summary>
@@ -136,7 +149,14 @@ namespace Umbraco.Core
/// <param name="connectionString"></param>
public void ConfigureDatabaseConnection(string connectionString)
{
SaveConnectionString(connectionString, string.Empty);
var provider = DbConnectionExtensions.DetectProviderFromConnectionString(connectionString);
var databaseProvider = provider.ToString();
var providerName = "System.Data.SqlClient";
if (databaseProvider.ToLower().Contains("mysql"))
{
providerName = "MySql.Data.MySqlClient";
}
SaveConnectionString(connectionString, providerName);
Initialize(string.Empty);
}
@@ -149,26 +169,28 @@ namespace Umbraco.Core
/// <param name="password">Database Password</param>
/// <param name="databaseProvider">Type of the provider to be used (Sql, Sql Azure, Sql Ce, MySql)</param>
public void ConfigureDatabaseConnection(string server, string databaseName, string user, string password, string databaseProvider)
{
string connectionString;
string providerName = "System.Data.SqlClient";
if (databaseProvider.ToLower().Contains("mysql"))
{
providerName = "MySql.Data.MySqlClient";
connectionString = string.Format("Server={0}; Database={1};Uid={2};Pwd={3}", server, databaseName, user, password);
}
else if (databaseProvider.ToLower().Contains("azure"))
{
connectionString = BuildAzureConnectionString(server, databaseName, user, password);
}
else
{
connectionString = string.Format("server={0};database={1};user id={2};password={3}", server, databaseName, user, password);
}
{
string providerName;
var connectionString = GetDatabaseConnectionString(server, databaseName, user, password, databaseProvider, out providerName);
SaveConnectionString(connectionString, providerName);
Initialize(providerName);
}
public string GetDatabaseConnectionString(string server, string databaseName, string user, string password, string databaseProvider, out string providerName)
{
providerName = "System.Data.SqlClient";
if (databaseProvider.ToLower().Contains("mysql"))
{
providerName = "MySql.Data.MySqlClient";
return string.Format("Server={0}; Database={1};Uid={2};Pwd={3}", server, databaseName, user, password);
}
if (databaseProvider.ToLower().Contains("azure"))
{
return BuildAzureConnectionString(server, databaseName, user, password);
}
return string.Format("server={0};database={1};user id={2};password={3}", server, databaseName, user, password);
}
/// <summary>
/// Configures a ConnectionString for the Umbraco database that uses Microsoft SQL Server integrated security.
@@ -178,12 +200,16 @@ namespace Umbraco.Core
public void ConfigureIntegratedSecurityDatabaseConnection(string server, string databaseName)
{
const string providerName = "System.Data.SqlClient";
string connectionString = String.Format("Server={0};Database={1};Integrated Security=true", server, databaseName);
var connectionString = GetIntegratedSecurityDatabaseConnectionString(server, databaseName);
SaveConnectionString(connectionString, providerName);
Initialize(providerName);
}
public string GetIntegratedSecurityDatabaseConnectionString(string server, string databaseName)
{
return String.Format("Server={0};Database={1};Integrated Security=true", server, databaseName);
}
internal string BuildAzureConnectionString(string server, string databaseName, string user, string password)
{
if (server.Contains(".") && ServerStartsWithTcp(server) == false)
@@ -417,6 +443,13 @@ namespace Umbraco.Core
if (_result == null)
{
if (SystemUtilities.GetCurrentTrustLevel() != AspNetHostingPermissionLevel.Unrestricted
&& ProviderName == "MySql.Data.MySqlClient")
{
throw new InvalidOperationException("Cannot use MySql in Medium Trust configuration");
}
var database = new UmbracoDatabase(_connectionString, ProviderName);
var dbSchema = new DatabaseSchemaCreation(database);
_result = dbSchema.ValidateSchema();
@@ -425,20 +458,25 @@ namespace Umbraco.Core
}
internal Result CreateDatabaseSchemaAndData()
{
var readyForInstall = CheckReadyForInstall();
if (readyForInstall.Success == false)
{
return readyForInstall.Result;
}
{
try
{
var readyForInstall = CheckReadyForInstall();
if (readyForInstall.Success == false)
{
return readyForInstall.Result;
}
LogHelper.Info<DatabaseContext>("Database configuration status: Started");
string message;
var database = new UmbracoDatabase(_connectionString, ProviderName);
// If MySQL, we're going to ensure that database calls are maintaining proper casing as to remove the necessity for checks
// for case insensitive queries. In an ideal situation (which is what we're striving for), all calls would be case sensitive.
/*
var supportsCaseInsensitiveQueries = SqlSyntaxContext.SqlSyntaxProvider.SupportsCaseInsensitiveQueries(database);
if (supportsCaseInsensitiveQueries == false)
{
@@ -451,8 +489,9 @@ namespace Umbraco.Core
return new Result { Message = message, Success = false, Percentage = "15" };
}
*/
message = GetResultMessageForMySql(supportsCaseInsensitiveQueries);
message = GetResultMessageForMySql();
var schemaResult = ValidateDatabaseSchema();
var installedVersion = schemaResult.DetermineInstalledVersion();
@@ -491,31 +530,32 @@ namespace Umbraco.Core
/// <returns></returns>
internal Result UpgradeSchemaAndData()
{
var readyForInstall = CheckReadyForInstall();
if (readyForInstall.Success == false)
{
return readyForInstall.Result;
}
try
{
var readyForInstall = CheckReadyForInstall();
if (readyForInstall.Success == false)
{
return readyForInstall.Result;
}
LogHelper.Info<DatabaseContext>("Database upgrade started");
var database = new UmbracoDatabase(_connectionString, ProviderName);
var supportsCaseInsensitiveQueries = SqlSyntaxContext.SqlSyntaxProvider.SupportsCaseInsensitiveQueries(database);
//var supportsCaseInsensitiveQueries = SqlSyntaxContext.SqlSyntaxProvider.SupportsCaseInsensitiveQueries(database);
var message = GetResultMessageForMySql(supportsCaseInsensitiveQueries);
var message = GetResultMessageForMySql();
var schemaResult = ValidateDatabaseSchema();
var installedVersion = schemaResult.DetermineInstalledVersion();
//DO the upgrade!
var configuredVersion = string.IsNullOrEmpty(GlobalSettings.ConfigurationStatus)
var currentVersion = string.IsNullOrEmpty(GlobalSettings.ConfigurationStatus)
? installedVersion
: new Version(GlobalSettings.ConfigurationStatus);
var targetVersion = UmbracoVersion.Current;
var runner = new MigrationRunner(configuredVersion, targetVersion, GlobalSettings.UmbracoMigrationName);
var runner = new MigrationRunner(currentVersion, targetVersion, GlobalSettings.UmbracoMigrationName);
var upgraded = runner.Execute(database, true);
message = message + "<p>Upgrade completed!</p>";
@@ -531,6 +571,23 @@ namespace Umbraco.Core
}
}
private string GetResultMessageForMySql()
{
if (SqlSyntaxContext.SqlSyntaxProvider.GetType() == typeof(MySqlSyntaxProvider))
{
return "<p>&nbsp;</p><p>Congratulations, the database step ran successfully!</p>" +
"<p>Note: You're using MySQL and the database instance you're connecting to seems to support case insensitive queries.</p>" +
"<p>However, your hosting provider may not support this option. Umbraco does not currently support MySQL installs that do not support case insensitive queries</p>" +
"<p>Make sure to check with your hosting provider if they support case insensitive queries as well.</p>" +
"<p>They can check this by looking for the following setting in the my.ini file in their MySQL installation directory:</p>" +
"<pre>lower_case_table_names=1</pre><br />" +
"<p>For more technical information on case sensitivity in MySQL, have a look at " +
"<a href='http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html'>the documentation on the subject</a></p>";
}
return string.Empty;
}
/*
private string GetResultMessageForMySql(bool? supportsCaseInsensitiveQueries)
{
if (supportsCaseInsensitiveQueries == null)
@@ -554,10 +611,16 @@ namespace Umbraco.Core
"<a href='http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html'>the documentation on the subject</a></p>";
}
return string.Empty;
}
}*/
private Attempt<Result> CheckReadyForInstall()
{
if (SystemUtilities.GetCurrentTrustLevel() != AspNetHostingPermissionLevel.Unrestricted
&& ProviderName == "MySql.Data.MySqlClient")
{
throw new InvalidOperationException("Cannot use MySql in Medium Trust configuration");
}
if (_configured == false || (string.IsNullOrEmpty(_connectionString) || string.IsNullOrEmpty(ProviderName)))
{
return Attempt.Fail(new Result
@@ -573,7 +636,7 @@ namespace Umbraco.Core
private Result HandleInstallException(Exception ex)
{
LogHelper.Info<DatabaseContext>("Database configuration failed with the following error and stack trace: " + ex.Message + "\n" + ex.StackTrace);
LogHelper.Error<DatabaseContext>("Database configuration failed", ex);
if (_result != null)
{
@@ -597,5 +660,34 @@ namespace Umbraco.Core
public bool Success { get; set; }
public string Percentage { get; set; }
}
internal bool IsConnectionStringConfigured(ConnectionStringSettings databaseSettings)
{
var dbIsSqlCe = false;
if (databaseSettings != null && databaseSettings.ProviderName != null)
dbIsSqlCe = databaseSettings.ProviderName == "System.Data.SqlServerCe.4.0";
var sqlCeDatabaseExists = false;
if (dbIsSqlCe)
{
var parts = databaseSettings.ConnectionString.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
var dataSourcePart = parts.FirstOrDefault(x => x.InvariantStartsWith("Data Source="));
if (dataSourcePart != null)
{
var datasource = dataSourcePart.Replace("|DataDirectory|", AppDomain.CurrentDomain.GetData("DataDirectory").ToString());
var filePath = datasource.Replace("Data Source=", string.Empty);
sqlCeDatabaseExists = File.Exists(filePath);
}
}
// Either the connection details are not fully specified or it's a SQL CE database that doesn't exist yet
if (databaseSettings == null
|| string.IsNullOrWhiteSpace(databaseSettings.ConnectionString) || string.IsNullOrWhiteSpace(databaseSettings.ProviderName)
|| (dbIsSqlCe && sqlCeDatabaseExists == false))
{
return false;
}
return true;
}
}
}
+25
View File
@@ -18,5 +18,30 @@ namespace Umbraco.Core
return dt.ToString("yyyy-MM-dd HH:mm:ss");
}
public static DateTime TruncateTo(this DateTime dt, DateTruncate truncateTo)
{
if (truncateTo == DateTruncate.Year)
return new DateTime(dt.Year, 0, 0);
if (truncateTo == DateTruncate.Month)
return new DateTime(dt.Year, dt.Month, 0);
if (truncateTo == DateTruncate.Day)
return new DateTime(dt.Year, dt.Month, dt.Day);
if (truncateTo == DateTruncate.Hour)
return new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, 0, 0);
if (truncateTo == DateTruncate.Minute)
return new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, 0);
return new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second);
}
public enum DateTruncate
{
Year,
Month,
Day,
Hour,
Minute,
Second
}
}
}
+19
View File
@@ -15,6 +15,25 @@ namespace Umbraco.Core
///</summary>
internal static class DictionaryExtensions
{
/// <summary>
/// Method to Get a value by the key. If the key doesn't exist it will create a new TVal object for the key and return it.
/// </summary>
/// <typeparam name="TKey"></typeparam>
/// <typeparam name="TVal"></typeparam>
/// <param name="dict"></param>
/// <param name="key"></param>
/// <returns></returns>
public static TVal GetOrCreate<TKey, TVal>(this IDictionary<TKey, TVal> dict, TKey key)
where TVal : class, new()
{
if (dict.ContainsKey(key) == false)
{
dict.Add(key, new TVal());
}
return dict[key];
}
/// <summary>
/// Updates an item with the specified key with the specified value
/// </summary>
@@ -117,13 +117,12 @@ namespace Umbraco.Core.Dynamics
}
catch (Exception ex)
{
var sb = new StringBuilder("An error occurred finding an executing an extension method for type ");
sb.Append(typeof (T));
sb.Append("Types searched for extension methods were ");
foreach(var t in findExtensionMethodsOnTypes)
{
sb.Append(t + ",");
}
var sb = new StringBuilder();
sb.AppendFormat("An error occurred finding and executing extension method \"{0}\" ", binder.Name);
sb.AppendFormat("for type \"{0}\". ", typeof (T));
sb.Append("Types searched for extension methods were ");
sb.Append(string.Join(", ", findExtensionMethodsOnTypes));
sb.Append(".");
LogHelper.Error<DynamicInstanceHelper>(sb.ToString(), ex);
var mresult = new TryInvokeMemberResult(null, TryInvokeMemberSuccessReason.FoundExtensionMethod);
return Attempt<TryInvokeMemberResult>.Fail(mresult, ex);
@@ -171,7 +170,7 @@ namespace Umbraco.Core.Dynamics
}
else
{
throw new MissingMethodException();
throw new MissingMethodException(typeof(T).FullName, name);
}
return result;
}
+4 -24
View File
@@ -36,42 +36,22 @@ namespace Umbraco.Core.Dynamics
[Obsolete("This method should not be used and will be removed in the future")]
public static bool ContainsAny(this string haystack, IEnumerable<string> needles)
{
if (haystack == null) throw new ArgumentNullException("haystack");
if (!string.IsNullOrEmpty(haystack) || needles.Any())
{
return needles.Any(haystack.Contains);
}
return false;
return StringExtensions.ContainsAny(haystack, needles);
}
[Obsolete("This method should not be used and will be removed in the future")]
public static bool ContainsAny(this string haystack, params string[] needles)
{
if (haystack == null) throw new ArgumentNullException("haystack");
if (!string.IsNullOrEmpty(haystack) || needles.Length > 0)
{
return needles.Any(haystack.Contains);
}
return false;
return StringExtensions.ContainsAny(haystack, needles);
}
[Obsolete("This method should not be used and will be removed in the future")]
public static bool ContainsAny(this string haystack, StringComparison comparison, IEnumerable<string> needles)
{
if (haystack == null) throw new ArgumentNullException("haystack");
if (!string.IsNullOrEmpty(haystack) || needles.Any())
{
return needles.Any(value => haystack.IndexOf(value, comparison) >= 0);
}
return false;
return StringExtensions.ContainsAny(haystack, needles, comparison);
}
[Obsolete("This method should not be used and will be removed in the future")]
public static bool ContainsAny(this string haystack, StringComparison comparison, params string[] needles)
{
if (haystack == null) throw new ArgumentNullException("haystack");
if (!string.IsNullOrEmpty(haystack) || needles.Length > 0)
{
return needles.Any(value => haystack.IndexOf(value, comparison) >= 0);
}
return false;
return StringExtensions.ContainsAny(haystack, needles, comparison);
}
[Obsolete("This method should not be used and will be removed in the future")]
public static bool ContainsInsensitive(this string haystack, string needle)
+2 -2
View File
@@ -6,12 +6,12 @@ namespace Umbraco.Core.Dynamics
{
internal class PropertyResult : IPublishedProperty, IHtmlString
{
private readonly IPublishedProperty _source;
private readonly IPublishedProperty _source;
private readonly string _alias;
private readonly object _value;
private readonly PropertyResultType _type;
internal PropertyResult(IPublishedProperty source, PropertyResultType type)
internal PropertyResult(IPublishedProperty source, PropertyResultType type)
{
if (source == null) throw new ArgumentNullException("source");
+12 -51
View File
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using Umbraco.Core.Logging;
namespace Umbraco.Core
{
@@ -14,43 +15,13 @@ namespace Umbraco.Core
public static IEnumerable<IEnumerable<T>> InGroupsOf<T>(this IEnumerable<T> source, int groupSize)
{
if (source == null)
throw new NullReferenceException("source");
throw new ArgumentNullException("source");
if (groupSize <= 0)
throw new ArgumentException("Must be greater than zero.", "groupSize");
// enumerate the source only once!
return new InGroupsEnumerator<T>(source, groupSize).Groups();
}
// this class makes sure that the source is enumerated only ONCE
// which means that when it is enumerated, the actual groups content
// has to be evaluated at the same time, and stored in an array.
private class InGroupsEnumerator<T>
{
private readonly IEnumerator<T> _source;
private readonly int _count;
private bool _mightHaveNext;
public InGroupsEnumerator(IEnumerable<T> source, int count)
{
_source = source.GetEnumerator();
_count = count;
_mightHaveNext = true;
}
public IEnumerable<IEnumerable<T>> Groups()
{
while (_mightHaveNext && _source.MoveNext())
yield return Group().ToArray(); // see note above
}
private IEnumerable<T> Group()
{
var c = 0;
do
{
yield return _source.Current;
} while (++c < _count && _source.MoveNext());
_mightHaveNext = c == _count;
}
return source
.Select((x, i) => Tuple.Create(i / groupSize, x))
.GroupBy(t => t.Item1, t => t.Item2);
}
/// <summary>The distinct by.</summary>
@@ -125,23 +96,13 @@ namespace Umbraco.Core
}
/// <summary>The flatten list.</summary>
/// <param name="items">The items.</param>
/// <param name="selectChild">The select child.</param>
/// <typeparam name="TItem">Item type</typeparam>
/// <param name="e">The items.</param>
/// <param name="f">The select child.</param>
/// <typeparam name="T">Item type</typeparam>
/// <returns>list of TItem</returns>
[SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures", Justification = "By design")]
public static IEnumerable<TItem> FlattenList<TItem>(this IEnumerable<TItem> items, Func<TItem, IEnumerable<TItem>> selectChild)
public static IEnumerable<T> FlattenList<T>(this IEnumerable<T> e, Func<T, IEnumerable<T>> f)
{
IEnumerable<TItem> children = items != null && items.Any()
? items.SelectMany(selectChild).FlattenList(selectChild)
: Enumerable.Empty<TItem>();
if (items != null)
{
return items.Concat(children);
}
return null;
return e.SelectMany(c => f(c).FlattenList(f)).Concat(e);
}
/// <summary>
@@ -29,7 +29,7 @@ namespace Umbraco.Core.Events
/// <remarks>
/// This is protected so that inheritors can expose it with their own name
/// </remarks>
protected T EventObject { get; private set; }
protected T EventObject { get; set; }
}
}
+40 -28
View File
@@ -1,35 +1,47 @@
namespace Umbraco.Core.Events
{
public class CopyEventArgs<TEntity> : CancellableObjectEventArgs<TEntity>
{
public CopyEventArgs(TEntity original, TEntity copy, bool canCancel, int parentId) : base(original, canCancel)
{
Copy = copy;
ParentId = parentId;
}
public class CopyEventArgs<TEntity> : CancellableObjectEventArgs<TEntity>
{
public CopyEventArgs(TEntity original, TEntity copy, bool canCancel, int parentId)
: base(original, canCancel)
{
Copy = copy;
ParentId = parentId;
}
public CopyEventArgs(TEntity eventObject, TEntity copy, int parentId) : base(eventObject)
{
Copy = copy;
ParentId = parentId;
}
public CopyEventArgs(TEntity eventObject, TEntity copy, int parentId)
: base(eventObject)
{
Copy = copy;
ParentId = parentId;
}
/// <summary>
/// The copied entity
/// </summary>
public TEntity Copy { get; set; }
public CopyEventArgs(TEntity eventObject, TEntity copy, bool canCancel, int parentId, bool relateToOriginal)
: base(eventObject, canCancel)
{
Copy = copy;
ParentId = parentId;
RelateToOriginal = relateToOriginal;
}
/// <summary>
/// The original entity
/// </summary>
public TEntity Original
{
get { return EventObject; }
}
/// <summary>
/// The copied entity
/// </summary>
public TEntity Copy { get; set; }
/// <summary>
/// Gets or Sets the Id of the objects new parent.
/// </summary>
public int ParentId { get; private set; }
}
/// <summary>
/// The original entity
/// </summary>
public TEntity Original
{
get { return EventObject; }
}
/// <summary>
/// Gets or Sets the Id of the objects new parent.
/// </summary>
public int ParentId { get; private set; }
public bool RelateToOriginal { get; set; }
}
}
@@ -0,0 +1,26 @@
using System.Collections.Generic;
using Umbraco.Core.Packaging.Models;
namespace Umbraco.Core.Events
{
internal class ImportPackageEventArgs<TEntity> : CancellableObjectEventArgs<IEnumerable<TEntity>>
{
private readonly MetaData _packageMetaData;
public ImportPackageEventArgs(TEntity eventObject, bool canCancel)
: base(new[] { eventObject }, canCancel)
{
}
public ImportPackageEventArgs(TEntity eventObject, MetaData packageMetaData)
: base(new[] { eventObject })
{
_packageMetaData = packageMetaData;
}
public MetaData PackageMetaData
{
get { return _packageMetaData; }
}
}
}
@@ -4,7 +4,7 @@ using Umbraco.Core.Persistence.Migrations;
namespace Umbraco.Core.Events
{
public class MigrationEventArgs : CancellableObjectEventArgs<IEnumerable<IMigration>>
public class MigrationEventArgs : CancellableObjectEventArgs<IList<IMigration>>
{
/// <summary>
/// Constructor accepting multiple migrations that are used in the migration runner
@@ -13,7 +13,7 @@ namespace Umbraco.Core.Events
/// <param name="targetVersion"></param>
/// <param name="canCancel"></param>
/// <param name="configuredVersion"></param>
public MigrationEventArgs(IEnumerable<IMigration> eventObject, Version configuredVersion, Version targetVersion, bool canCancel)
public MigrationEventArgs(IList<IMigration> eventObject, Version configuredVersion, Version targetVersion, bool canCancel)
: base(eventObject, canCancel)
{
ConfiguredVersion = configuredVersion;
@@ -28,7 +28,7 @@ namespace Umbraco.Core.Events
/// <param name="targetVersion"></param>
/// <param name="canCancel"></param>
/// <param name="configuredVersion"></param>
internal MigrationEventArgs(IEnumerable<IMigration> eventObject, MigrationContext migrationContext, Version configuredVersion, Version targetVersion, bool canCancel)
internal MigrationEventArgs(IList<IMigration> eventObject, MigrationContext migrationContext, Version configuredVersion, Version targetVersion, bool canCancel)
: base(eventObject, canCancel)
{
MigrationContext = migrationContext;
@@ -42,7 +42,7 @@ namespace Umbraco.Core.Events
/// <param name="eventObject"></param>
/// <param name="configuredVersion"></param>
/// <param name="targetVersion"></param>
public MigrationEventArgs(IEnumerable<IMigration> eventObject, Version configuredVersion, Version targetVersion)
public MigrationEventArgs(IList<IMigration> eventObject, Version configuredVersion, Version targetVersion)
: base(eventObject)
{
ConfiguredVersion = configuredVersion;
@@ -52,7 +52,7 @@ namespace Umbraco.Core.Events
/// <summary>
/// Returns all migrations that were used in the migration runner
/// </summary>
public IEnumerable<IMigration> Migrations
public IList<IMigration> Migrations
{
get { return EventObject; }
}
+92 -22
View File
@@ -1,28 +1,98 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Umbraco.Core.Events
{
public class MoveEventArgs<TEntity> : CancellableObjectEventArgs<TEntity>
{
public MoveEventArgs(TEntity eventObject, bool canCancel, int parentId) : base(eventObject, canCancel)
{
ParentId = parentId;
}
public class MoveEventInfo<TEntity>
{
public MoveEventInfo(TEntity entity, string originalPath, int newParentId)
{
Entity = entity;
OriginalPath = originalPath;
NewParentId = newParentId;
}
public MoveEventArgs(TEntity eventObject, int parentId) : base(eventObject)
{
ParentId = parentId;
}
public TEntity Entity { get; set; }
public string OriginalPath { get; set; }
public int NewParentId { get; set; }
}
/// <summary>
/// The entity being moved
/// </summary>
public TEntity Entity
{
get { return EventObject; }
}
public class MoveEventArgs<TEntity> : CancellableObjectEventArgs<TEntity>
{
/// <summary>
/// Constructor accepting a collection of MoveEventInfo objects
/// </summary>
/// <param name="canCancel"></param>
/// <param name="moveInfo">
/// A colleciton of MoveEventInfo objects that exposes all entities that have been moved during a single move operation
/// </param>
public MoveEventArgs(bool canCancel, params MoveEventInfo<TEntity>[] moveInfo)
: base(default(TEntity), canCancel)
{
if (moveInfo.FirstOrDefault() == null)
{
throw new ArgumentException("moveInfo argument must contain at least one item");
}
/// <summary>
/// Gets or Sets the Id of the objects new parent.
/// </summary>
public int ParentId { get; private set; }
}
MoveInfoCollection = moveInfo;
//assign the legacy props
EventObject = moveInfo.First().Entity;
ParentId = moveInfo.First().NewParentId;
}
/// <summary>
/// Constructor accepting a collection of MoveEventInfo objects
/// </summary>
/// <param name="moveInfo">
/// A colleciton of MoveEventInfo objects that exposes all entities that have been moved during a single move operation
/// </param>
public MoveEventArgs(params MoveEventInfo<TEntity>[] moveInfo)
: base(default(TEntity))
{
if (moveInfo.FirstOrDefault() == null)
{
throw new ArgumentException("moveInfo argument must contain at least one item");
}
MoveInfoCollection = moveInfo;
//assign the legacy props
EventObject = moveInfo.First().Entity;
ParentId = moveInfo.First().NewParentId;
}
[Obsolete("Use the overload that specifies the MoveEventInfo object")]
public MoveEventArgs(TEntity eventObject, bool canCancel, int parentId)
: base(eventObject, canCancel)
{
ParentId = parentId;
}
[Obsolete("Use the overload that specifies the MoveEventInfo object")]
public MoveEventArgs(TEntity eventObject, int parentId)
: base(eventObject)
{
ParentId = parentId;
}
/// <summary>
/// Gets all MoveEventInfo objects used to create the object
/// </summary>
public IEnumerable<MoveEventInfo<TEntity>> MoveInfoCollection { get; private set; }
/// <summary>
/// The entity being moved
/// </summary>
[Obsolete("Retrieve the entity object from the MoveInfoCollection property instead")]
public TEntity Entity
{
get { return EventObject; }
}
/// <summary>
/// Gets the Id of the object's new parent
/// </summary>
[Obsolete("Retrieve the ParentId from the MoveInfoCollection property instead")]
public int ParentId { get; private set; }
}
}
@@ -0,0 +1,13 @@
using System;
namespace Umbraco.Core
{
/// <summary>
/// Used to notify the TypeFinder to ignore any class attributed with this during it's discovery
/// </summary>
[AttributeUsage(AttributeTargets.Class)]
public sealed class HideFromTypeFinderAttribute : Attribute
{
}
}
+4 -2
View File
@@ -1,6 +1,5 @@
using System;
using System.IO;
using Umbraco.Core.CodeAnnotations;
namespace Umbraco.Core.IO
{
@@ -19,7 +18,10 @@ namespace Umbraco.Core.IO
public static void CopyFile(this IFileSystem fs, string path, string newPath)
{
fs.AddFile(newPath, fs.OpenFile(path));
using (var stream = fs.OpenFile(path))
{
fs.AddFile(newPath, stream);
}
}
public static string GetExtension(this IFileSystem fs, string path)
-1
View File
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.IO;
using Umbraco.Core.CodeAnnotations;
namespace Umbraco.Core.IO
{
-1
View File
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.IO;
using Umbraco.Core.CodeAnnotations;
namespace Umbraco.Core.IO
{
+3 -5
View File
@@ -3,10 +3,7 @@ using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Web;
using Umbraco.Core.CodeAnnotations;
using Umbraco.Core.Logging;
using Umbraco.Core.Publishing;
namespace Umbraco.Core.IO
{
@@ -93,8 +90,9 @@ namespace Umbraco.Core.IO
public void AddFile(string path, Stream stream, bool overrideIfExists)
{
if (FileExists(path) && !overrideIfExists) throw new InvalidOperationException(string.Format("A file at path '{0}' already exists", path));
var exists = FileExists(path);
if (exists && overrideIfExists == false) throw new InvalidOperationException(string.Format("A file at path '{0}' already exists", path));
EnsureDirectory(Path.GetDirectoryName(path));
if (stream.CanSeek)
+13 -15
View File
@@ -154,19 +154,18 @@ namespace Umbraco.Core.IO
EnsureFileSupportsResizing();
using (var fs = _fs.OpenFile(Path))
using (var image = Image.FromStream(fs))
{
using (var image = Image.FromStream(fs))
{
var fileWidth = image.Width;
var fileHeight = image.Height;
_size = new Size(fileWidth, fileHeight);
}
var fileWidth = image.Width;
var fileHeight = image.Height;
_size = new Size(fileWidth, fileHeight);
}
}
else
{
_size = new Size(-1, -1);
}
}
}
return _size.Value;
}
@@ -179,7 +178,7 @@ namespace Umbraco.Core.IO
var fileNameThumb = DoResize(width, height, -1, string.Empty);
return _fs.GetUrl(fileNameThumb);
return _fs.GetUrl(fileNameThumb);
}
return string.Empty;
}
@@ -192,7 +191,7 @@ namespace Umbraco.Core.IO
var fileNameThumb = DoResize(-1, -1, maxWidthHeight, fileNameAddition);
return _fs.GetUrl(fileNameThumb);
return _fs.GetUrl(fileNameThumb);
}
return string.Empty;
}
@@ -207,14 +206,13 @@ namespace Umbraco.Core.IO
? string.Format("{0}_UMBRACOSYSTHUMBNAIL.jpg", Path.Substring(0, Path.LastIndexOf(".", StringComparison.Ordinal)))
: string.Format("{0}_{1}.jpg", Path.Substring(0, Path.LastIndexOf(".", StringComparison.Ordinal)), fileNameAddition);
var thumbnail = maxWidthHeight == -1
?ImageHelper.GenerateThumbnail(image, maxWidthHeight, fileNameThumb, Extension, _fs)
: ImageHelper.GenerateThumbnail(image, width, height, fileNameThumb, Extension, _fs);
var thumbnail = maxWidthHeight == -1
? ImageHelper.GenerateThumbnail(image, width, height, fileNameThumb, Extension, _fs)
: ImageHelper.GenerateThumbnail(image, maxWidthHeight, fileNameThumb, Extension, _fs);
return thumbnail.FileName;
}
}
}
}
private void EnsureFileSupportsResizing()
@@ -223,6 +221,6 @@ namespace Umbraco.Core.IO
throw new InvalidOperationException(string.Format("The file {0} is not an image, so can't get dimensions", Filename));
}
}
}
@@ -0,0 +1,63 @@
using System.Collections.Generic;
using System.IO;
using System.Web;
using Umbraco.Core.Logging;
namespace Umbraco.Core.Manifest
{
internal class ManifestWatcher : DisposableObject
{
private readonly List<FileSystemWatcher> _fws = new List<FileSystemWatcher>();
private static volatile bool _isRestarting = false;
private static readonly object Locker = new object();
public void Start(params string[] packageFolders)
{
foreach (var packageFolder in packageFolders)
{
if (Directory.Exists(packageFolder) && File.Exists(Path.Combine(packageFolder, "package.manifest")))
{
//NOTE: for some reason *.manifest doesn't work!
var fsw = new FileSystemWatcher(packageFolder, "*package.*")
{
IncludeSubdirectories = false,
NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
};
_fws.Add(fsw);
fsw.Changed += FswChanged;
fsw.EnableRaisingEvents = true;
}
}
}
void FswChanged(object sender, FileSystemEventArgs e)
{
if (e.Name.InvariantContains("package.manifest"))
{
//Ensure the app is not restarted multiple times for multiple saving during the same app domain execution
if (_isRestarting == false)
{
lock (Locker)
{
if (_isRestarting == false)
{
_isRestarting = true;
LogHelper.Info<ManifestWatcher>("manifest has changed, app pool is restarting (" + e.FullPath + ")");
HttpRuntime.UnloadAppDomain();
Dispose();
}
}
}
}
}
protected override void DisposeResources()
{
foreach (var fw in _fws)
{
fw.Dispose();
}
}
}
}
+8 -4
View File
@@ -44,14 +44,18 @@ namespace Umbraco.Core.Media
var result = new List<ResizedImage>();
var allSizes = new List<int> {100, 500};
var allSizesDictionary = new Dictionary<int,string> {{100,"thumb"}, {500,"big-thumb"}};
var allSizes = allSizesDictionary.Select(kv => kv.Key).ToList();
allSizes.AddRange(additionalThumbSizes.Where(x => x > 0).Distinct());
var sizesDictionary = allSizes.ToDictionary(s => s, s => allSizesDictionary.ContainsKey(s) ? allSizesDictionary[s]: "");
foreach (var s in allSizes)
foreach (var s in sizesDictionary)
{
if (originalImage.Width >= s && originalImage.Height >= s)
var size = s.Key;
var name = s.Value;
if (originalImage.Width >= size && originalImage.Height >= size)
{
result.Add(Resize(fs, fileName, extension, s, "thumb", originalImage));
result.Add(Resize(fs, fileName, extension, size, name, originalImage));
}
}
+1 -1
View File
@@ -1,7 +1,7 @@
namespace Umbraco.Core.Media
{
//NOTE: Could definitely have done with a better name
//TODO: Could definitely have done with a better name
public class Result
{
public Status Status { get; set; }
+45 -20
View File
@@ -232,6 +232,7 @@ namespace Umbraco.Core.Models
/// <remarks>
/// This Property is kept internal until localization is introduced.
/// </remarks>
[DataMember]
internal string NodeName
{
get { return _nodeName; }
@@ -248,6 +249,7 @@ namespace Umbraco.Core.Models
/// <summary>
/// Used internally to track if permissions have been changed during the saving process for this entity
/// </summary>
[IgnoreDataMember]
internal bool PermissionsChanged
{
get { return _permissionsChanged; }
@@ -314,6 +316,7 @@ namespace Umbraco.Core.Models
PublishedState = state;
}
[DataMember]
internal PublishedState PublishedState { get; set; }
/// <summary>
@@ -333,26 +336,6 @@ namespace Umbraco.Core.Models
}
}
/// <summary>
/// Creates a clone of the current entity
/// </summary>
/// <returns></returns>
public IContent Clone()
{
var clone = (Content)this.MemberwiseClone();
clone.Key = Guid.Empty;
clone.Version = Guid.NewGuid();
clone.ResetIdentity();
foreach (var property in clone.Properties)
{
property.ResetIdentity();
property.Version = clone.Version;
}
return clone;
}
/// <summary>
/// Indicates whether a specific property on the current <see cref="IContent"/> entity is dirty.
/// </summary>
@@ -432,5 +415,47 @@ namespace Umbraco.Core.Models
base.UpdatingEntity();
Version = Guid.NewGuid();
}
/// <summary>
/// Creates a deep clone of the current entity with its identity and it's property identities reset
/// </summary>
/// <returns></returns>
[Obsolete("Use DeepCloneWithResetIdentities instead")]
public IContent Clone()
{
return DeepCloneWithResetIdentities();
}
/// <summary>
/// Creates a deep clone of the current entity with its identity and it's property identities reset
/// </summary>
/// <returns></returns>
public IContent DeepCloneWithResetIdentities()
{
var clone = (Content)DeepClone();
clone.Key = Guid.Empty;
clone.Version = Guid.NewGuid();
clone.ResetIdentity();
foreach (var property in clone.Properties)
{
property.ResetIdentity();
property.Version = clone.Version;
}
return clone;
}
public override object DeepClone()
{
var clone = (Content)base.DeepClone();
//need to manually clone this since it's not settable
clone._contentType = (IContentType)ContentType.DeepClone();
clone.ResetDirtyProperties(false);
return clone;
}
}
}
+8 -4
View File
@@ -15,10 +15,13 @@ namespace Umbraco.Core.Models
/// <summary>
/// Represents an abstract class for base Content properties and methods
/// </summary>
[Serializable]
[DataContract(IsReference = true)]
[DebuggerDisplay("Id: {Id}, Name: {Name}, ContentType: {ContentTypeBase.Alias}")]
public abstract class ContentBase : Entity, IContentBase
{
protected IContentTypeComposition ContentTypeBase;
private Lazy<int> _parentId;
private string _name;//NOTE Once localization is introduced this will be the localized Name of the Content/Media.
private int _sortOrder;
@@ -257,6 +260,7 @@ namespace Umbraco.Core.Models
}
private readonly IDictionary<string, object> _additionalData;
/// <summary>
/// Some entities may expose additional data that other's might not, this custom data will be available in this collection
/// </summary>
@@ -306,10 +310,8 @@ namespace Umbraco.Core.Models
/// <returns><see cref="Property"/> Value as a <see cref="TPassType"/></returns>
public virtual TPassType GetValue<TPassType>(string propertyTypeAlias)
{
if (Properties[propertyTypeAlias].Value is TPassType)
return (TPassType)Properties[propertyTypeAlias].Value;
return (TPassType)Convert.ChangeType(Properties[propertyTypeAlias].Value, typeof(TPassType));
var convertAttempt = Properties[propertyTypeAlias].Value.TryConvertTo<TPassType>();
return convertAttempt.Success ? convertAttempt.Result : default(TPassType);
}
/// <summary>
@@ -447,6 +449,7 @@ namespace Umbraco.Core.Models
/// <summary>
/// Returns a collection of the result of the last validation process, this collection contains all invalid properties.
/// </summary>
[IgnoreDataMember]
internal IEnumerable<Property> LastInvalidProperties
{
get { return _lastInvalidProperties; }
@@ -468,5 +471,6 @@ namespace Umbraco.Core.Models
prop.ResetDirtyProperties(rememberPreviouslyChangedProperties);
}
}
}
}
+89 -10
View File
@@ -9,6 +9,8 @@ using System.Linq;
using System.Web;
using System.Xml;
using System.Xml.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Umbraco.Core.Configuration;
using Umbraco.Core.Configuration.UmbracoSettings;
using Umbraco.Core.IO;
@@ -26,6 +28,20 @@ namespace Umbraco.Core.Models
{
#region IContent
/// <summary>
/// Returns true if this entity was just published as part of a recent save operation (i.e. it wasn't previously published)
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
/// <remarks>
/// This is helpful for determining if the published event will execute during the saved event for a content item.
/// </remarks>
internal static bool JustPublished(this IContent entity)
{
var dirty = (IRememberBeingDirty)entity;
return dirty.WasPropertyDirty("Published") && entity.Published;
}
/// <summary>
/// Determines if a new version should be created
/// </summary>
@@ -224,6 +240,28 @@ namespace Umbraco.Core.Models
return content.Path.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Contains(recycleBinId.ToInvariantString());
}
/// <summary>
/// Removes characters that are not valide XML characters from all entity properties
/// of type string. See: http://stackoverflow.com/a/961504/5018
/// </summary>
/// <returns></returns>
/// <remarks>
/// If this is not done then the xml cache can get corrupt and it will throw YSODs upon reading it.
/// </remarks>
/// <param name="entity"></param>
public static void SanitizeEntityPropertiesForXmlStorage(this IContentBase entity)
{
entity.Name = entity.Name.ToValidXmlString();
foreach (var property in entity.Properties)
{
if (property.Value is string)
{
var value = (string)property.Value;
property.Value = value.ToValidXmlString();
}
}
}
/// <summary>
/// Checks if the IContentBase has children
@@ -525,7 +563,7 @@ namespace Umbraco.Core.Models
return ApplicationContext.Current.Services.ContentService.HasPublishedVersion(content.Id);
}
#region Tag methods
///// <summary>
@@ -553,12 +591,33 @@ namespace Umbraco.Core.Models
/// <param name="tagGroup">The group/category to assign the tags, the default value is "default"</param>
/// <returns></returns>
public static void SetTags(this IContentBase content, string propertyTypeAlias, IEnumerable<string> tags, bool replaceTags, string tagGroup = "default")
{
content.SetTags(TagCacheStorageType.Csv, propertyTypeAlias, tags, replaceTags, tagGroup);
}
/// <summary>
/// Sets tags for the property - will add tags to the tags table and set the property value to be the comma delimited value of the tags.
/// </summary>
/// <param name="content">The content item to assign the tags to</param>
/// <param name="storageType">The tag storage type in cache (default is csv)</param>
/// <param name="propertyTypeAlias">The property alias to assign the tags to</param>
/// <param name="tags">The tags to assign</param>
/// <param name="replaceTags">True to replace the tags on the current property with the tags specified or false to merge them with the currently assigned ones</param>
/// <param name="tagGroup">The group/category to assign the tags, the default value is "default"</param>
/// <returns></returns>
public static void SetTags(this IContentBase content, TagCacheStorageType storageType, string propertyTypeAlias, IEnumerable<string> tags, bool replaceTags, string tagGroup = "default")
{
var property = content.Properties[propertyTypeAlias];
if (property == null)
{
throw new IndexOutOfRangeException("No property exists with name " + propertyTypeAlias);
}
property.SetTags(storageType, propertyTypeAlias, tags, replaceTags, tagGroup);
}
internal static void SetTags(this Property property, TagCacheStorageType storageType, string propertyTypeAlias, IEnumerable<string> tags, bool replaceTags, string tagGroup = "default")
{
if (property == null) throw new ArgumentNullException("property");
var trimmedTags = tags.Select(x => x.Trim()).ToArray();
@@ -569,15 +628,39 @@ namespace Umbraco.Core.Models
//ensure the property value is set to the same thing
if (replaceTags)
{
property.Value = string.Join(",", trimmedTags);
switch (storageType)
{
case TagCacheStorageType.Csv:
property.Value = string.Join(",", trimmedTags);
break;
case TagCacheStorageType.Json:
//json array
property.Value = JsonConvert.SerializeObject(trimmedTags);
break;
}
}
else
{
var currTags = property.Value.ToString().Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries)
switch (storageType)
{
case TagCacheStorageType.Csv:
var currTags = property.Value.ToString().Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Trim());
property.Value = string.Join(",", trimmedTags.Union(currTags));
property.Value = string.Join(",", trimmedTags.Union(currTags));
break;
case TagCacheStorageType.Json:
var currJson = JsonConvert.DeserializeObject<JArray>(property.Value.ToString());
//need to append the new ones
foreach (var tag in trimmedTags)
{
currJson.Add(tag);
}
//json array
property.Value = JsonConvert.SerializeObject(currJson);
break;
}
}
}
/// <summary>
@@ -650,7 +733,7 @@ namespace Umbraco.Core.Models
{
return ApplicationContext.Current.Services.PackagingService.Export(media, true, raiseEvents: false);
}
/// <summary>
/// Creates the xml representation for the <see cref="IContent"/> object
/// </summary>
@@ -673,10 +756,6 @@ namespace Umbraco.Core.Models
{
return ((PackagingService)(ApplicationContext.Current.Services.PackagingService)).Export(member);
}
#endregion
}
}
@@ -0,0 +1,21 @@
using System;
using System.Xml.Linq;
namespace Umbraco.Core.Models
{
/// <summary>
/// Used content repository in order to add an entity to the persisted collection to be saved
/// in a single transaction during saving an entity
/// </summary>
internal class ContentPreviewEntity<TContent> : ContentXmlEntity<TContent>
where TContent : IContentBase
{
public ContentPreviewEntity(bool previewExists, TContent content, Func<TContent, XElement> xml)
: base(previewExists, content, xml)
{
Version = content.Version;
}
public Guid Version { get; private set; }
}
}
+33 -37
View File
@@ -120,38 +120,6 @@ namespace Umbraco.Core.Models
return result;
}
/// <summary>
/// Creates a clone of the current entity
/// </summary>
/// <returns></returns>
public IContentType Clone(string alias)
{
var clone = (ContentType)this.MemberwiseClone();
clone.Alias = alias;
clone.Key = Guid.Empty;
var propertyGroups = this.PropertyGroups.Select(x => x.Clone()).ToList();
clone.PropertyGroups = new PropertyGroupCollection(propertyGroups);
clone.PropertyTypes = this.PropertyTypeCollection.Select(x => x.Clone()).ToList();
clone.ResetIdentity();
clone.ResetDirtyProperties(false);
foreach (var propertyGroup in clone.PropertyGroups)
{
propertyGroup.ResetIdentity();
foreach (var propertyType in propertyGroup.PropertyTypes)
{
propertyType.ResetIdentity();
}
}
foreach (var propertyType in clone.PropertyTypes.Where(x => x.HasIdentity))
{
propertyType.ResetIdentity();
}
return clone;
}
/// <summary>
/// Method to call when Entity is being saved
@@ -165,13 +133,41 @@ namespace Umbraco.Core.Models
Key = Guid.NewGuid();
}
/// <summary>
/// Method to call when Entity is being updated
/// Creates a deep clone of the current entity with its identity/alias and it's property identities reset
/// </summary>
/// <remarks>Modified Date is set and a new Version guid is set</remarks>
internal override void UpdatingEntity()
{
base.UpdatingEntity();
/// <returns></returns>
[Obsolete("Use DeepCloneWithResetIdentities instead")]
public IContentType Clone(string alias)
{
return DeepCloneWithResetIdentities(alias);
}
/// <summary>
/// Creates a deep clone of the current entity with its identity/alias and it's property identities reset
/// </summary>
/// <returns></returns>
public IContentType DeepCloneWithResetIdentities(string alias)
{
var clone = (ContentType)DeepClone();
clone.Alias = alias;
clone.Key = Guid.Empty;
foreach (var propertyGroup in clone.PropertyGroups)
{
propertyGroup.ResetIdentity();
propertyGroup.ResetDirtyProperties(false);
}
foreach (var propertyType in clone.PropertyTypes)
{
propertyType.ResetIdentity();
propertyType.ResetDirtyProperties(false);
}
clone.ResetIdentity();
clone.ResetDirtyProperties(false);
return clone;
}
}
}
+35 -8
View File
@@ -6,6 +6,7 @@ using System.Linq;
using System.Reflection;
using System.Runtime.Serialization;
using Umbraco.Core.Models.EntityBase;
using Umbraco.Core.Strings;
namespace Umbraco.Core.Models
{
@@ -173,7 +174,8 @@ namespace Umbraco.Core.Models
{
SetPropertyValueAndDetectChanges(o =>
{
_alias = value.ToSafeAlias();
//_alias = value.ToSafeAlias();
_alias = value.ToCleanString(CleanStringType.Alias | CleanStringType.UmbracoCase);
return _alias;
}, _alias, AliasSelector);
}
@@ -319,7 +321,7 @@ namespace Umbraco.Core.Models
}
}
private readonly IDictionary<string, object> _additionalData;
private IDictionary<string, object> _additionalData;
/// <summary>
/// Some entities may expose additional data that other's might not, this custom data will be available in this collection
/// </summary>
@@ -329,11 +331,6 @@ namespace Umbraco.Core.Models
get { return _additionalData; }
}
/// <summary>
/// Some entities may expose additional data that other's might not, this custom data will be available in this collection
/// </summary>
public IDictionary<string, object> AdditionalData { get; private set; }
/// <summary>
/// Gets or sets a list of integer Ids for allowed ContentTypes
/// </summary>
@@ -354,7 +351,9 @@ namespace Umbraco.Core.Models
/// <summary>
/// List of PropertyGroups available on this ContentType
/// </summary>
/// <remarks>A PropertyGroup corresponds to a Tab in the UI</remarks>
/// <remarks>
/// A PropertyGroup corresponds to a Tab in the UI
/// </remarks>
[DataMember]
public virtual PropertyGroupCollection PropertyGroups
{
@@ -370,7 +369,13 @@ namespace Umbraco.Core.Models
/// List of PropertyTypes available on this ContentType.
/// This list aggregates PropertyTypes across the PropertyGroups.
/// </summary>
/// <remarks>
/// Marked as DoNotClone because the result of this property is not the natural result of the data, it is
/// a union of data so when auto-cloning if the setter is used it will be setting the unnatural result of the
/// data. We manually clone this instead.
/// </remarks>
[IgnoreDataMember]
[DoNotClone]
public virtual IEnumerable<PropertyType> PropertyTypes
{
get
@@ -386,6 +391,14 @@ namespace Umbraco.Core.Models
}
/// <summary>
/// Returns the property type collection containing types that are non-groups - used for tests
/// </summary>
internal IEnumerable<PropertyType> NonGroupedPropertyTypes
{
get { return _propertyTypes; }
}
/// <summary>
/// A boolean flag indicating if a property type has been removed from this instance.
/// </summary>
/// <remarks>
@@ -582,5 +595,19 @@ namespace Umbraco.Core.Models
propertyType.ResetDirtyProperties();
}
}
public override object DeepClone()
{
var clone = (ContentTypeBase)base.DeepClone();
//need to manually wire up the event handlers for the property type collections - we've ensured
// its ignored from the auto-clone process because its return values are unions, not raw and
// we end up with duplicates, see: http://issues.umbraco.org/issue/U4-4842
clone._propertyTypes = (PropertyTypeCollection)_propertyTypes.DeepClone();
clone._propertyTypes.CollectionChanged += clone.PropertyTypesChanged;
return clone;
}
}
}
@@ -13,7 +13,7 @@ namespace Umbraco.Core.Models
[DataContract(IsReference = true)]
public abstract class ContentTypeCompositionBase : ContentTypeBase, IContentTypeComposition
{
private readonly List<IContentTypeComposition> _contentTypeComposition = new List<IContentTypeComposition>();
private List<IContentTypeComposition> _contentTypeComposition = new List<IContentTypeComposition>();
internal List<int> RemovedContentTypeKeyTracker = new List<int>();
protected ContentTypeCompositionBase(int parentId) : base(parentId)
@@ -217,5 +217,17 @@ namespace Umbraco.Core.Models
.Select(x => x.Id)
.Union(ContentTypeComposition.SelectMany(x => x.CompositionIds()));
}
public override object DeepClone()
{
var clone = (ContentTypeCompositionBase)base.DeepClone();
//need to manually assign since this is an internal field and will not be automatically mapped
clone.RemovedContentTypeKeyTracker = new List<int>();
clone._contentTypeComposition = ContentTypeComposition.Select(x => (IContentTypeComposition)x.DeepClone()).ToList();
clone.ResetDirtyProperties(false);
return clone;
}
}
}
+32 -1
View File
@@ -6,7 +6,7 @@ namespace Umbraco.Core.Models
/// <summary>
/// Represents a POCO for setting sort order on a ContentType reference
/// </summary>
public class ContentTypeSort : IValueObject
public class ContentTypeSort : IValueObject, IDeepCloneable
{
public ContentTypeSort()
{
@@ -33,5 +33,36 @@ namespace Umbraco.Core.Models
/// Gets or sets the Alias of the ContentType
/// </summary>
public string Alias { get; set; }
public object DeepClone()
{
var clone = (ContentTypeSort)MemberwiseClone();
var id = Id.Value;
clone.Id = new Lazy<int>(() => id);
return clone;
}
protected bool Equals(ContentTypeSort other)
{
return Id.Value.Equals(other.Id.Value) && string.Equals(Alias, other.Alias);
}
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
if (ReferenceEquals(this, obj)) return true;
if (obj.GetType() != this.GetType()) return false;
return Equals((ContentTypeSort) obj);
}
public override int GetHashCode()
{
unchecked
{
return (Id.GetHashCode()*397) ^ Alias.GetHashCode();
}
}
}
}
@@ -0,0 +1,60 @@
using System;
using System.Xml.Linq;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models
{
/// <summary>
/// Used in content/media/member repositories in order to add this type of entity to the persisted collection to be saved
/// in a single transaction during saving an entity
/// </summary>
internal class ContentXmlEntity<TContent> : IAggregateRoot
where TContent : IContentBase
{
private readonly bool _entityExists;
private readonly Func<TContent, XElement> _xml;
public ContentXmlEntity(bool entityExists, TContent content, Func<TContent, XElement> xml)
{
if (content == null) throw new ArgumentNullException("content");
_entityExists = entityExists;
_xml = xml;
Content = content;
}
public ContentXmlEntity(TContent content)
{
if (content == null) throw new ArgumentNullException("content");
Content = content;
}
public XElement Xml
{
get { return _xml(Content); }
}
public TContent Content { get; private set; }
public int Id
{
get { return Content.Id; }
set { throw new NotSupportedException(); }
}
public Guid Key { get; set; }
public DateTime CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
public bool HasIdentity
{
get { return _entityExists; }
}
public object DeepClone()
{
var clone = (ContentXmlEntity<TContent>)MemberwiseClone();
//Automatically deep clone ref properties that are IDeepCloneable
DeepCloneHelper.DeepCloneRefProperties(this, clone);
return clone;
}
}
}
+174
View File
@@ -0,0 +1,174 @@
using System;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
namespace Umbraco.Core.Models
{
/// <summary>
/// Used to attribute properties that have a setter and are a reference type
/// that should be ignored for cloning when using the DeepCloneHelper
/// </summary>
/// <remarks>
///
/// This attribute must be used:
/// * when the property is backed by a field but the result of the property is the un-natural data stored in the field
///
/// This attribute should not be used:
/// * when the property is virtual
/// * when the setter performs additional required logic other than just setting the underlying field
///
/// </remarks>
internal class DoNotCloneAttribute : Attribute
{
}
public static class DeepCloneHelper
{
/// <summary>
/// Used to avoid constant reflection (perf)
/// </summary>
private static readonly ConcurrentDictionary<Type, PropertyInfo[]> PropCache = new ConcurrentDictionary<Type, PropertyInfo[]>();
/// <summary>
/// Used to deep clone any reference properties on the object (should be done after a MemberwiseClone for which the outcome is 'output')
/// </summary>
/// <param name="input"></param>
/// <param name="output"></param>
/// <returns></returns>
public static void DeepCloneRefProperties(IDeepCloneable input, IDeepCloneable output)
{
var inputType = input.GetType();
var outputType = output.GetType();
if (inputType != outputType)
{
throw new InvalidOperationException("Both the input and output types must be the same");
}
var refProperties = PropCache.GetOrAdd(inputType, type =>
inputType.GetProperties()
.Where(x =>
//is not attributed with the ignore clone attribute
x.GetCustomAttribute<DoNotCloneAttribute>() == null
//reference type but not string
&& x.PropertyType.IsValueType == false && x.PropertyType != typeof (string)
//settable
&& x.CanWrite
//non-indexed
&& x.GetIndexParameters().Any() == false)
.ToArray());
foreach (var propertyInfo in refProperties)
{
if (TypeHelper.IsTypeAssignableFrom<IDeepCloneable>(propertyInfo.PropertyType))
{
//this ref property is also deep cloneable so clone it
var result = (IDeepCloneable)propertyInfo.GetValue(input, null);
if (result != null)
{
//set the cloned value to the property
propertyInfo.SetValue(output, result.DeepClone(), null);
}
}
else if (TypeHelper.IsTypeAssignableFrom<IEnumerable>(propertyInfo.PropertyType)
&& TypeHelper.IsTypeAssignableFrom<string>(propertyInfo.PropertyType) == false)
{
IList newList;
if (propertyInfo.PropertyType.IsGenericType
&& (propertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(IEnumerable<>)
|| propertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(ICollection<>)
|| propertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(IList<>)))
{
//if it is a IEnumerable<>, IList<T> or ICollection<> we'll use a List<>
var genericType = typeof(List<>).MakeGenericType(propertyInfo.PropertyType.GetGenericArguments());
newList = (IList)Activator.CreateInstance(genericType);
}
else if (propertyInfo.PropertyType.IsArray
|| (propertyInfo.PropertyType.IsInterface && propertyInfo.PropertyType.IsGenericType == false))
{
//if its an array, we'll create a list to work with first and then convert to array later
//otherwise if its just a regular derivitave of IEnumerable, we can use a list too
newList = new List<object>();
}
else
{
//its a custom IEnumerable, we'll try to create it
try
{
var custom = Activator.CreateInstance(propertyInfo.PropertyType);
//if it's an IList we can work with it, otherwise we cannot
newList = custom as IList;
if (newList == null)
{
continue;
}
}
catch (Exception)
{
//could not create this type so we'll skip it
continue;
}
}
var enumerable = (IEnumerable)propertyInfo.GetValue(input, null);
if (enumerable == null) continue;
var isUsableType = true;
//now clone each item
foreach (var o in enumerable)
{
//first check if the item is deep cloneable and copy that way
var dc = o as IDeepCloneable;
if (dc != null)
{
newList.Add(dc.DeepClone());
}
else if (o is string || o.GetType().IsValueType)
{
//check if the item is a value type or a string, then we can just use it
newList.Add(o);
}
else
{
//this will occur if the item is not a string or value type or IDeepCloneable, in this case we cannot
// clone each element, we'll need to skip this property, people will have to manually clone this list
isUsableType = false;
break;
}
}
//if this was not usable, skip this property
if (isUsableType == false)
{
continue;
}
if (propertyInfo.PropertyType.IsArray)
{
//need to convert to array
var arr = (object[])Activator.CreateInstance(propertyInfo.PropertyType, newList.Count);
for (int i = 0; i < newList.Count; i++)
{
arr[i] = newList[i];
}
//set the cloned collection
propertyInfo.SetValue(output, arr, null);
}
else
{
//set the cloned collection
propertyInfo.SetValue(output, newList, null);
}
}
}
}
}
}
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Runtime.Serialization;
using Umbraco.Core.Models.EntityBase;
@@ -96,5 +97,6 @@ namespace Umbraco.Core.Models
if(ParentId == Guid.Empty)
_parentId = new Guid("41c7638d-f529-4bff-853e-59a0c2fb1bde");
}
}
}
@@ -65,5 +65,6 @@ namespace Umbraco.Core.Models
}, _value, ValueSelector);
}
}
}
}
+16 -1
View File
@@ -1,7 +1,10 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
namespace Umbraco.Core.Models.EntityBase
{
@@ -93,7 +96,7 @@ namespace Umbraco.Core.Models.EntityBase
}
/// <summary>
/// /// Gets or sets the WasCancelled flag, which is used to track
/// Gets or sets the WasCancelled flag, which is used to track
/// whether some action against an entity was cancelled through some event.
/// This only exists so we have a way to check if an event was cancelled through
/// the new api, which also needs to take effect in the legacy api.
@@ -155,6 +158,7 @@ namespace Umbraco.Core.Models.EntityBase
/// <summary>
/// Indicates whether the current entity has an identity, eg. Id.
/// </summary>
[DataMember]
public virtual bool HasIdentity
{
get
@@ -226,5 +230,16 @@ namespace Umbraco.Core.Models.EntityBase
_hash = !HasIdentity ? new int?(base.GetHashCode()) : new int?(Id.GetHashCode() * 397 ^ GetType().GetHashCode());
return _hash.Value;
}
public virtual object DeepClone()
{
//Memberwise clone on Entity will work since it doesn't have any deep elements
// for any sub class this will work for standard properties as well that aren't complex object's themselves.
var clone = (Entity)MemberwiseClone();
//Automatically deep clone ref properties that are IDeepCloneable
DeepCloneHelper.DeepCloneRefProperties(this, clone);
clone.ResetDirtyProperties(false);
return clone;
}
}
}
@@ -9,7 +9,7 @@ namespace Umbraco.Core.Models.EntityBase
/// </summary>
/// <remarks>The current database schema doesn't provide a modified date
/// for all entities, so this will have to be changed at a later stage.</remarks>
public interface IEntity
public interface IEntity : IDeepCloneable
{
/// <summary>
/// The Id of the entity
@@ -3,18 +3,21 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Runtime.Serialization;
namespace Umbraco.Core.Models.EntityBase
{
/// <summary>
/// A base class for use to implement IRememberBeingDirty/ICanBeDirty
/// </summary>
[Serializable]
[DataContract(IsReference = true)]
public abstract class TracksChangesEntityBase : IRememberBeingDirty
{
/// <summary>
/// Tracks the properties that have changed
/// </summary>
private readonly IDictionary<string, bool> _propertyChangedInfo = new Dictionary<string, bool>();
private IDictionary<string, bool> _propertyChangedInfo = new Dictionary<string, bool>();
/// <summary>
/// Tracks the properties that we're changed before the last commit (or last call to ResetDirtyProperties)
@@ -83,7 +86,9 @@ namespace Umbraco.Core.Models.EntityBase
/// </summary>
public void ForgetPreviouslyDirtyProperties()
{
_lastPropertyChangedInfo.Clear();
//NOTE: We cannot .Clear() because when we memberwise clone this will be the SAME
// instance as the one on the clone, so we need to create a new instance.
_lastPropertyChangedInfo = new Dictionary<string, bool>();
}
/// <summary>
@@ -116,7 +121,9 @@ namespace Umbraco.Core.Models.EntityBase
_lastPropertyChangedInfo = _propertyChangedInfo.ToDictionary(v => v.Key, v => v.Value);
}
_propertyChangedInfo.Clear();
//NOTE: We cannot .Clear() because when we memberwise clone this will be the SAME
// instance as the one on the clone, so we need to create a new instance.
_propertyChangedInfo = new Dictionary<string, bool>();
}
/// <summary>
@@ -0,0 +1,24 @@
using System.Linq;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models
{
public static class EntityExtensions
{
/// <summary>
/// Returns true if this entity has just been created and persisted to the data store
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
/// <remarks>
/// This is useful when handling events to determine if an entity is a brand new entity or was
/// already existing.
/// </remarks>
public static bool IsNewEntity(this IEntity entity)
{
var dirty = (IRememberBeingDirty)entity;
return dirty.WasPropertyDirty("Id");
}
}
}
+13 -10
View File
@@ -6,16 +6,6 @@ using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models
{
internal sealed class Folder : Entity
{
public Folder(string folderPath)
{
Path = folderPath;
}
public string Path { get; set; }
}
/// <summary>
/// Represents an abstract file which provides basic functionality for a File with an Alias and Name
/// </summary>
@@ -114,5 +104,18 @@ namespace Umbraco.Core.Models
/// </summary>
/// <returns>True if file is valid, otherwise false</returns>
public abstract bool IsValid();
public override object DeepClone()
{
var clone = (File)base.DeepClone();
//need to manually assign since they are readonly properties
clone._alias = Alias;
clone._name = Name;
clone.ResetDirtyProperties(false);
return clone;
}
}
}
+14
View File
@@ -0,0 +1,14 @@
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models
{
internal sealed class Folder : Entity
{
public Folder(string folderPath)
{
Path = folderPath;
}
public string Path { get; set; }
}
}
+6
View File
@@ -72,5 +72,11 @@ namespace Umbraco.Core.Models
/// Changes the Published state of the content object
/// </summary>
void ChangePublishedState(PublishedState state);
/// <summary>
/// Creates a deep clone of the current entity with its identity/alias and it's property identities reset
/// </summary>
/// <returns></returns>
IContent DeepCloneWithResetIdentities();
}
}
+7
View File
@@ -29,5 +29,12 @@ namespace Umbraco.Core.Models
/// <param name="template"><see cref="ITemplate"/> to remove</param>
/// <returns>True if template was removed, otherwise False</returns>
bool RemoveTemplate(ITemplate template);
/// <summary>
/// Creates a deep clone of the current entity with its identity/alias and it's property identities reset
/// </summary>
/// <param name="newAlias"></param>
/// <returns></returns>
IContentType DeepCloneWithResetIdentities(string newAlias);
}
}
@@ -0,0 +1,9 @@
using System.Reflection;
namespace Umbraco.Core.Models
{
public interface IDeepCloneable
{
object DeepClone();
}
}
+1 -1
View File
@@ -6,7 +6,7 @@ namespace Umbraco.Core.Models
/// <summary>
/// Defines a Property for a Macro
/// </summary>
public interface IMacroProperty : IValueObject
public interface IMacroProperty : IValueObject, IDeepCloneable, IRememberBeingDirty
{
[DataMember]
int Id { get; set; }
+26
View File
@@ -0,0 +1,26 @@
using System.Collections.Generic;
using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models
{
/// <summary>
/// Represents a member type
/// </summary>
public interface IMemberGroup : IAggregateRoot
{
/// <summary>
/// The name of the member group
/// </summary>
string Name { get; set; }
/// <summary>
/// Profile of the user who created this Entity
/// </summary>
int CreatorId { get; set; }
/// <summary>
/// Some entities may expose additional data that other's might not, this custom data will be available in this collection
/// </summary>
IDictionary<string, object> AdditionalData { get; }
}
}
+5
View File
@@ -3,6 +3,9 @@ using Umbraco.Core.Models.EntityBase;
namespace Umbraco.Core.Models
{
/// <summary>
/// Represents a Tag, which is composed of a Text, Group and NodeCount property.
/// </summary>
public interface ITag : IAggregateRoot
{
[DataMember]
@@ -11,6 +14,8 @@ namespace Umbraco.Core.Models
[DataMember]
string Group { get; set; }
int NodeCount { get; }
//TODO: enable this at some stage
//int ParentId { get; set; }
}

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