From 941dc933fb02414396a97dc7bd7a19028445b46d Mon Sep 17 00:00:00 2001
From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Date: Tue, 27 Jun 2023 10:04:23 +0200
Subject: [PATCH 01/27] package-lock sync
---
src/Umbraco.Web.UI.Client/package-lock.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json
index 00b71a2d2b..24ff76f74e 100644
--- a/src/Umbraco.Web.UI.Client/package-lock.json
+++ b/src/Umbraco.Web.UI.Client/package-lock.json
@@ -82,8 +82,8 @@
"run-sequence": "2.2.1"
},
"engines": {
- "node": ">=16.17",
- "npm": ">=8.15"
+ "node": ">=18.16",
+ "npm": ">=9.5"
}
},
"node_modules/@ampproject/remapping": {
From fe1080dd64b09cd569a885962ab934a1428339ec Mon Sep 17 00:00:00 2001
From: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Date: Tue, 27 Jun 2023 10:33:46 +0200
Subject: [PATCH 02/27] Check the cases where there might be a custom image
type, instead of an the default Umbraco image type (#14463)
---
.../Controllers/MediaController.cs | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs b/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
index 50c54f420f..5648f3046b 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
@@ -760,11 +760,25 @@ public class MediaController : ContentControllerBase
break;
}
- // If media type is still File then let's check if it's an image.
+ // If media type is still File then let's check if it's an image or a custom image type.
if (mediaTypeAlias == Constants.Conventions.MediaTypes.File &&
_imageUrlGenerator.IsSupportedImageFormat(ext))
{
- mediaTypeAlias = Constants.Conventions.MediaTypes.Image;
+ if (allowedContentTypes.Any(mt => mt.Alias == Constants.Conventions.MediaTypes.Image))
+ {
+ mediaTypeAlias = Constants.Conventions.MediaTypes.Image;
+ }
+ else
+ {
+ IMediaType? customType = allowedContentTypes.FirstOrDefault(mt =>
+ mt.CompositionPropertyTypes.Any(pt =>
+ pt.PropertyEditorAlias == Constants.PropertyEditors.Aliases.ImageCropper));
+
+ if (customType is not null)
+ {
+ mediaTypeAlias = customType.Alias;
+ }
+ }
}
}
else
From 2cbf44dd4cc3f7ba470cd2e9e831f995fe084640 Mon Sep 17 00:00:00 2001
From: Bjarke Berg
Date: Tue, 27 Jun 2023 11:53:10 +0200
Subject: [PATCH 03/27] Updated login svg
---
.../src/assets/img/login.svg | 997 +++++++++++++++++-
1 file changed, 996 insertions(+), 1 deletion(-)
diff --git a/src/Umbraco.Web.UI.Client/src/assets/img/login.svg b/src/Umbraco.Web.UI.Client/src/assets/img/login.svg
index 3bd280b4af..37499a996c 100644
--- a/src/Umbraco.Web.UI.Client/src/assets/img/login.svg
+++ b/src/Umbraco.Web.UI.Client/src/assets/img/login.svg
@@ -1 +1,996 @@
-
\ No newline at end of file
+
+
+
From e86fb0eeb6e8c4c969683d5303373a83905ac91a Mon Sep 17 00:00:00 2001
From: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Date: Tue, 27 Jun 2023 13:35:01 +0200
Subject: [PATCH 04/27] Adding null check and descriptive error (#14469)
---
src/Umbraco.Web.BackOffice/Controllers/MediaController.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs b/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
index 5648f3046b..a26934b3c1 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
@@ -579,9 +579,9 @@ public class MediaController : ContentControllerBase
Directory.CreateDirectory(root);
//must have a file
- if (file.Count == 0)
+ if (file is null || file.Count == 0)
{
- return NotFound();
+ return NotFound("No file was uploaded");
}
//get the string json from the request
From ba724ed97d77b9951a22fe693f9dd3bdd000047c Mon Sep 17 00:00:00 2001
From: Nikolaj
Date: Tue, 27 Jun 2023 14:15:13 +0200
Subject: [PATCH 05/27] Bump version to final
---
version.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/version.json b/version.json
index 902bee835c..531f830eba 100644
--- a/version.json
+++ b/version.json
@@ -1,6 +1,6 @@
{
"$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
- "version": "12.0.0-rc5",
+ "version": "12.0.0",
"assemblyVersion": {
"precision": "build"
},
From fad710364c540f4a833bd60d00e6686d40d74d95 Mon Sep 17 00:00:00 2001
From: Kenn Jacobsen
Date: Fri, 30 Jun 2023 07:26:31 +0200
Subject: [PATCH 06/27] Add additional preview URLs option (#14479)
---
.../ContentEditing/ContentVariationDisplay.cs | 4 ++++
src/Umbraco.Core/Models/ContentEditing/NamedUrl.cs | 13 +++++++++++++
.../Mapping/ContentMapDefinition.cs | 4 +++-
3 files changed, 20 insertions(+), 1 deletion(-)
create mode 100644 src/Umbraco.Core/Models/ContentEditing/NamedUrl.cs
diff --git a/src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs b/src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs
index 6418a7bca7..0d359b640f 100644
--- a/src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs
+++ b/src/Umbraco.Core/Models/ContentEditing/ContentVariationDisplay.cs
@@ -14,6 +14,7 @@ public class ContentVariantDisplay : ITabbedContent, ICo
Tabs = new List>();
Notifications = new List();
AllowedActions = Enumerable.Empty();
+ AdditionalPreviewUrls = Enumerable.Empty();
}
[DataMember(Name = "allowedActions", IsRequired = true)]
@@ -72,6 +73,9 @@ public class ContentVariantDisplay : ITabbedContent, ICo
///
[DataMember(Name = "tabs")]
public IEnumerable> Tabs { get; set; }
+
+ [DataMember(Name = "additionalPreviewUrls")]
+ public IEnumerable AdditionalPreviewUrls { get; set; }
}
public class ContentVariantScheduleDisplay : ContentVariantDisplay
diff --git a/src/Umbraco.Core/Models/ContentEditing/NamedUrl.cs b/src/Umbraco.Core/Models/ContentEditing/NamedUrl.cs
new file mode 100644
index 0000000000..8c71f86cbf
--- /dev/null
+++ b/src/Umbraco.Core/Models/ContentEditing/NamedUrl.cs
@@ -0,0 +1,13 @@
+using System.Runtime.Serialization;
+
+namespace Umbraco.Cms.Core.Models.ContentEditing;
+
+[DataContract(Name = "namedUrl", Namespace = "")]
+public class NamedUrl
+{
+ [DataMember(Name = "name")]
+ public required string Name { get; set; }
+
+ [DataMember(Name = "url")]
+ public required string Url { get; set; }
+}
diff --git a/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs b/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs
index e91384f86a..21961acb45 100644
--- a/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs
+++ b/src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs
@@ -127,6 +127,7 @@ internal class ContentMapDefinition : IMapDefinition
target.Tabs = source.Tabs;
target.UpdateDate = source.UpdateDate;
target.AllowedActions = source.AllowedActions;
+ target.AdditionalPreviewUrls = source.AdditionalPreviewUrls;
}
// Umbraco.Code.MapAll
@@ -189,6 +190,7 @@ internal class ContentMapDefinition : IMapDefinition
target.Tabs = source.Tabs;
target.UpdateDate = source.UpdateDate;
target.AllowedActions = source.AllowedActions;
+ target.AdditionalPreviewUrls = source.AdditionalPreviewUrls;
// We'll only try and map the ReleaseDate/ExpireDate if the "old" ContentVariantScheduleDisplay is in the context, otherwise we'll just skip it quietly.
_ = context.Items.TryGetValue(nameof(ContentItemDisplayWithSchedule.Variants), out var variants);
@@ -352,7 +354,7 @@ internal class ContentMapDefinition : IMapDefinition
return result;
}
- // Umbraco.Code.MapAll -Segment -Language -DisplayName
+ // Umbraco.Code.MapAll -Segment -Language -DisplayName -AdditionalPreviewUrls
private void Map(IContent source, ContentVariantDisplay target, MapperContext context)
{
target.CreateDate = source.CreateDate;
From 5382820e584c79dbe2a5d0e4793ea14a744709e7 Mon Sep 17 00:00:00 2001
From: Nathan Woulfe
Date: Mon, 3 Jul 2023 22:17:24 +1000
Subject: [PATCH 07/27] Ensure package view path is generated with
consideration the current section (#14268)
* check section when determining package template path
* return sectionAlias as packageFolder and the route segment won't always match
* fix test
* adds PluginController attribute to StylesheetsTreeController
fixes actionUrl generation to ensure valid URL
find controller by fullname to avoid incorrect controller selection when multiple exist with same name
* Fix frontend breaking changes
* Adding missing PluginController attribute for ScriptsTreeController
---------
Co-authored-by: Elitsa
---
.../Controllers/BackOfficeServerVariables.cs | 5 ++-
.../Trees/ApplicationTreeController.cs | 2 +-
.../Trees/ScriptsTreeController.cs | 2 +
.../Trees/StylesheetsTreeController.cs | 2 +
.../Trees/UrlHelperExtensions.cs | 39 ++++++++++++++-----
.../common/mocks/umbraco.servervariables.js | 2 +-
.../src/common/services/navigation.service.js | 7 ++--
.../src/common/services/tree.service.js | 30 +++++++-------
src/Umbraco.Web.UI.Client/src/routes.js | 18 +++++----
.../unit/common/services/tree-service.spec.js | 4 +-
10 files changed, 72 insertions(+), 39 deletions(-)
diff --git a/src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs b/src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs
index 6dbd5f1e79..9325f9e8ae 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs
@@ -704,6 +704,9 @@ namespace Umbraco.Cms.Web.BackOffice.Controllers
[DataMember(Name = "packageFolder")]
public string? PackageFolder { get; set; }
+
+ [DataMember(Name = "sectionAlias")]
+ public string? SectionAlias { get; set; }
}
private IEnumerable GetPluginTrees()
@@ -735,7 +738,7 @@ namespace Umbraco.Cms.Web.BackOffice.Controllers
continue;
}
- yield return new PluginTree { Alias = tree.TreeAlias, PackageFolder = pluginController.AreaName };
+ yield return new PluginTree { Alias = tree.TreeAlias, PackageFolder = pluginController.AreaName, SectionAlias = tree.SectionAlias };
}
}
diff --git a/src/Umbraco.Web.BackOffice/Trees/ApplicationTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/ApplicationTreeController.cs
index 461d1fc82f..28f685bf0d 100644
--- a/src/Umbraco.Web.BackOffice/Trees/ApplicationTreeController.cs
+++ b/src/Umbraco.Web.BackOffice/Trees/ApplicationTreeController.cs
@@ -360,7 +360,7 @@ public class ApplicationTreeController : UmbracoAuthorizedApiController
ControllerActionDescriptor? actionDescriptor = _actionDescriptorCollectionProvider.ActionDescriptors.Items
.Cast()
.First(x =>
- x.ControllerName.Equals(controllerName) &&
+ (x.ControllerTypeInfo.FullName ?? string.Empty).Equals(controllerType.FullName) &&
x.ActionName == action);
var actionContext = new ActionContext(HttpContext, routeData, actionDescriptor);
diff --git a/src/Umbraco.Web.BackOffice/Trees/ScriptsTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/ScriptsTreeController.cs
index 630584a839..0c46e809d2 100644
--- a/src/Umbraco.Web.BackOffice/Trees/ScriptsTreeController.cs
+++ b/src/Umbraco.Web.BackOffice/Trees/ScriptsTreeController.cs
@@ -3,10 +3,12 @@ using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Core.IO;
using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Core.Trees;
+using Umbraco.Cms.Web.Common.Attributes;
namespace Umbraco.Cms.Web.BackOffice.Trees;
[CoreTree]
+[PluginController(Constants.Web.Mvc.BackOfficeTreeArea)]
[Tree(Constants.Applications.Settings, Constants.Trees.Scripts, TreeTitle = "Scripts", SortOrder = 10, TreeGroup = Constants.Trees.Groups.Templating)]
public class ScriptsTreeController : FileSystemTreeController
{
diff --git a/src/Umbraco.Web.BackOffice/Trees/StylesheetsTreeController.cs b/src/Umbraco.Web.BackOffice/Trees/StylesheetsTreeController.cs
index 3ff7a7ecfc..32f2a3e465 100644
--- a/src/Umbraco.Web.BackOffice/Trees/StylesheetsTreeController.cs
+++ b/src/Umbraco.Web.BackOffice/Trees/StylesheetsTreeController.cs
@@ -3,10 +3,12 @@ using Umbraco.Cms.Core.Events;
using Umbraco.Cms.Core.IO;
using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Core.Trees;
+using Umbraco.Cms.Web.Common.Attributes;
namespace Umbraco.Cms.Web.BackOffice.Trees;
[CoreTree]
+[PluginController(Constants.Web.Mvc.BackOfficeTreeArea)]
[Tree(Constants.Applications.Settings, Constants.Trees.Stylesheets, TreeTitle = "Stylesheets", SortOrder = 9, TreeGroup = Constants.Trees.Groups.Templating)]
public class StylesheetsTreeController : FileSystemTreeController
{
diff --git a/src/Umbraco.Web.BackOffice/Trees/UrlHelperExtensions.cs b/src/Umbraco.Web.BackOffice/Trees/UrlHelperExtensions.cs
index 1688a99ec2..d8506f5692 100644
--- a/src/Umbraco.Web.BackOffice/Trees/UrlHelperExtensions.cs
+++ b/src/Umbraco.Web.BackOffice/Trees/UrlHelperExtensions.cs
@@ -47,14 +47,15 @@ public static class UrlHelperExtensions
string nodeId,
FormCollection? queryStrings)
{
- var actionUrl = urlHelper.GetUmbracoApiService(umbracoApiControllerTypeCollection, "GetNodes", treeType)?
- .EnsureEndsWith('?');
+ var actionName = "GetNodes";
+ var actionUrl = urlHelper.GetUmbracoApiService(umbracoApiControllerTypeCollection, actionName, treeType);
+ actionUrl = StartOrContinueQueryString(actionUrl, actionName);
+
+ // Now we need to append the query strings
+ // Always ignore the custom start node id when generating URLs for tree nodes since this is a custom once-only parameter
+ // that should only ever be used when requesting a tree to render (root), not a tree node
+ actionUrl += "id=" + nodeId.EnsureEndsWith('&') + queryStrings?.ToQueryString("id", TreeQueryStringParameters.StartNodeId);
- //now we need to append the query strings
- actionUrl += "id=" + nodeId.EnsureEndsWith('&') + queryStrings?.ToQueryString("id",
- //Always ignore the custom start node id when generating URLs for tree nodes since this is a custom once-only parameter
- // that should only ever be used when requesting a tree to render (root), not a tree node
- TreeQueryStringParameters.StartNodeId);
return actionUrl;
}
@@ -65,11 +66,29 @@ public static class UrlHelperExtensions
string nodeId,
FormCollection? queryStrings)
{
- var actionUrl = urlHelper.GetUmbracoApiService(umbracoApiControllerTypeCollection, "GetMenu", treeType)?
- .EnsureEndsWith('?');
+ var actionName = "GetMenu";
+ var actionUrl = urlHelper.GetUmbracoApiService(umbracoApiControllerTypeCollection, actionName, treeType);
+ actionUrl = StartOrContinueQueryString(actionUrl, actionName);
- //now we need to append the query strings
+ // now we need to append the query strings
actionUrl += "id=" + nodeId.EnsureEndsWith('&') + queryStrings?.ToQueryString("id");
return actionUrl;
}
+
+ ///
+ /// Check the provided string already includes a querystring fragment
+ /// If so, result has "&" appended, else has "?" appended.
+ ///
+ ///
+ ///
+ ///
+ private static string? StartOrContinueQueryString(string? actionUrl, string? delimiter)
+ {
+ if (actionUrl is null)
+ {
+ return actionUrl;
+ }
+
+ return actionUrl.EnsureEndsWith(actionUrl.Contains($"{delimiter}?") ? "&" : "?");
+ }
}
diff --git a/src/Umbraco.Web.UI.Client/src/common/mocks/umbraco.servervariables.js b/src/Umbraco.Web.UI.Client/src/common/mocks/umbraco.servervariables.js
index 51029234f5..4b8e8fa146 100644
--- a/src/Umbraco.Web.UI.Client/src/common/mocks/umbraco.servervariables.js
+++ b/src/Umbraco.Web.UI.Client/src/common/mocks/umbraco.servervariables.js
@@ -32,7 +32,7 @@ Umbraco.Sys.ServerVariables = {
},
umbracoPlugins: {
trees: [
- { alias: "myTree", packageFolder: "MyPackage" }
+ { alias: "myTree", packageFolder: "MyPackage", sectionAlias: "myPackageSectionAlias" }
]
},
isDebuggingEnabled: true,
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js b/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js
index 77b97545b6..248e78880a 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/navigation.service.js
@@ -616,7 +616,7 @@ function navigationService($routeParams, $location, $q, $injector, eventsService
if (!treeAlias) {
throw "Could not get tree alias for node " + args.node.id;
}
- templateUrl = this.getTreeTemplateUrl(treeAlias, args.action.alias);
+ templateUrl = this.getTreeTemplateUrl(treeAlias, args.action.alias, args.node.section);
}
setMode("dialog");
@@ -633,6 +633,7 @@ function navigationService($routeParams, $location, $q, $injector, eventsService
*
* @param {string} treeAlias the alias of the tree to look up
* @param {string} action the view file name
+ * @param {string} sectionAlias the alias of the current section
* @description
* creates the templateUrl based on treeAlias and action
* by convention we will look into the /views/{treetype}/{action}.html
@@ -640,8 +641,8 @@ function navigationService($routeParams, $location, $q, $injector, eventsService
* we will also check for a 'packageName' for the current tree, if it exists then the convention will be:
* for example: /App_Plugins/{mypackage}/backoffice/{treetype}/create.html
*/
- getTreeTemplateUrl: function (treeAlias, action) {
- var packageTreeFolder = treeService.getTreePackageFolder(treeAlias);
+ getTreeTemplateUrl: function (treeAlias, action, sectionAlias) {
+ var packageTreeFolder = treeService.getTreePackageFolder(treeAlias, sectionAlias);
if (packageTreeFolder) {
return (Umbraco.Sys.ServerVariables.umbracoSettings.appPluginsPath +
"/" + packageTreeFolder +
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/tree.service.js b/src/Umbraco.Web.UI.Client/src/common/services/tree.service.js
index ba9ebc1b00..fa5d297a88 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/tree.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/tree.service.js
@@ -166,23 +166,27 @@ function treeService($q, treeResource, iconHelper, notificationsService, eventsS
*
* @description
* Determines if the current tree is a plugin tree and if so returns the package folder it has declared
- * so we know where to find it's views, otherwise it will just return undefined.
+ * so we know where to find its views, otherwise it will just return undefined.
*
* @param {String} treeAlias The tree alias to check
+ * @param {String} sectionAlias The current section
*/
- getTreePackageFolder: function (treeAlias) {
+ getTreePackageFolder: function (treeAlias, sectionAlias) {
//we determine this based on the server variables
- if (Umbraco.Sys.ServerVariables.umbracoPlugins &&
- Umbraco.Sys.ServerVariables.umbracoPlugins.trees &&
- Utilities.isArray(Umbraco.Sys.ServerVariables.umbracoPlugins.trees)) {
-
- var found = _.find(Umbraco.Sys.ServerVariables.umbracoPlugins.trees, function (item) {
- return invariantEquals(item.alias, treeAlias);
- });
-
- return found ? found.packageFolder : undefined;
+ if (!Umbraco.Sys.ServerVariables.umbracoPlugins || !Utilities.isArray(Umbraco.Sys.ServerVariables.umbracoPlugins.trees)) {
+ return undefined;
}
- return undefined;
+
+ let found;
+ if (sectionAlias !== undefined) {
+ found = Umbraco.Sys.ServerVariables.umbracoPlugins.trees.find(item =>
+ invariantEquals(item.alias, treeAlias) && invariantEquals(item.sectionAlias, sectionAlias));
+ } else {
+ found = Umbraco.Sys.ServerVariables.umbracoPlugins.trees.find(item =>
+ invariantEquals(item.alias, treeAlias));
+ }
+
+ return found ? found.packageFolder : undefined;
},
/**
@@ -868,7 +872,7 @@ function treeService($q, treeResource, iconHelper, notificationsService, eventsS
//start
var wrappedPromise = doSync();
- //then wrap it
+ //then wrap it
wrappedPromise.then(function (args) {
deferred.resolve(args);
}, function (args) {
diff --git a/src/Umbraco.Web.UI.Client/src/routes.js b/src/Umbraco.Web.UI.Client/src/routes.js
index 7e65346d1b..e6d97ea18f 100644
--- a/src/Umbraco.Web.UI.Client/src/routes.js
+++ b/src/Umbraco.Web.UI.Client/src/routes.js
@@ -1,5 +1,5 @@
window.app.config(function ($routeProvider) {
-
+
/**
* This determines if the route can continue depending on authentication and initialization requirements
* @param {boolean} authRequired If true, it checks if the user is authenticated and will resolve successfully
@@ -117,9 +117,9 @@ window.app.config(function ($routeProvider) {
template: "",
//This controller will execute for this route, then we can execute some code in order to set the template Url
controller: function ($scope, $route, $routeParams, $location, sectionService) {
-
+
//We are going to check the currently loaded sections for the user and if the section we are navigating
- //to has a custom route path we'll use that
+ //to has a custom route path we'll use that
sectionService.getSectionsForUser().then(function(sections) {
//find the one we're requesting
var found = _.find(sections, function(s) {
@@ -175,8 +175,9 @@ window.app.config(function ($routeProvider) {
if ($routeParams.section.toLowerCase() === "users" && $routeParams.tree.toLowerCase() === "users" && usersPages.indexOf($routeParams.method.toLowerCase()) === -1) {
$scope.templateUrl = "views/users/overview.html";
return;
- }
- $scope.templateUrl = navigationService.getTreeTemplateUrl($routeParams.tree, $routeParams.method);
+ }
+
+ $scope.templateUrl = navigationService.getTreeTemplateUrl($routeParams.tree, $routeParams.method, $routeParams.section);
},
reloadOnSearch: false,
resolve: canRoute(true)
@@ -190,8 +191,9 @@ window.app.config(function ($routeProvider) {
if (!$routeParams.tree || !$routeParams.method) {
$scope.templateUrl = "views/common/dashboard.html";
return;
- }
- $scope.templateUrl = navigationService.getTreeTemplateUrl($routeParams.tree, $routeParams.method);
+ }
+
+ $scope.templateUrl = navigationService.getTreeTemplateUrl($routeParams.tree, $routeParams.method, $routeParams.section);
},
reloadOnSearch: false,
reloadOnUrl: false,
@@ -199,7 +201,7 @@ window.app.config(function ($routeProvider) {
})
.otherwise({ redirectTo: '/login' });
}).config(function ($locationProvider) {
-
+
$locationProvider.html5Mode(false); //turn html5 mode off
$locationProvider.hashPrefix('');
});
diff --git a/src/Umbraco.Web.UI.Client/test/unit/common/services/tree-service.spec.js b/src/Umbraco.Web.UI.Client/test/unit/common/services/tree-service.spec.js
index 4d19cf557a..63800a9e12 100644
--- a/src/Umbraco.Web.UI.Client/test/unit/common/services/tree-service.spec.js
+++ b/src/Umbraco.Web.UI.Client/test/unit/common/services/tree-service.spec.js
@@ -298,13 +298,13 @@ describe('tree service tests', function () {
it('can find a plugin based tree', function () {
//we know this exists in the mock umbraco server vars
- var found = treeService.getTreePackageFolder("myTree");
+ var found = treeService.getTreePackageFolder("myTree", "MyPackageSectionAlias");
expect(found).toBe("MyPackage");
});
it('returns undefined for a not found tree', function () {
//we know this does not exist in the mock umbraco server vars
- var found = treeService.getTreePackageFolder("asdfasdf");
+ var found = treeService.getTreePackageFolder("asdfasdf", "fdsafdsa");
expect(found).not.toBeDefined();
});
From b716e98780074d20f693f6dc7507b332f985356b Mon Sep 17 00:00:00 2001
From: Russell
Date: Wed, 31 May 2023 22:45:02 +1200
Subject: [PATCH 08/27] Change "Media Picker" in RTE to "Image Picker" (#14321)
(cherry picked from commit 02206213373b77644d348bbaa52893b834d3dfc5)
# Conflicts:
# src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
---
.../src/common/services/tinymce.service.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js b/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
index afb3fa1e84..584870e6e5 100644
--- a/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
+++ b/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
@@ -664,7 +664,7 @@ function tinyMceService($rootScope, $q, imageHelper, $locale, $http, $timeout, s
createMediaPicker: function (editor, callback) {
editor.addButton('umbmediapicker', {
icon: 'custom icon-picture',
- tooltip: 'Media Picker',
+ tooltip: 'Image Picker',
stateSelector: 'img[data-udi]',
onclick: function () {
From aa4a1b3498ac2b3a571e2b4f19007914956f0e9d Mon Sep 17 00:00:00 2001
From: Russell
Date: Wed, 31 May 2023 22:46:02 +1200
Subject: [PATCH 09/27] Fix for User null from IP address "::1" has logged out
(#14322)
(cherry picked from commit dd59ef17f521aceed57219d5bb6537ce66b08789)
---
.../Controllers/AuthenticationController.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Umbraco.Web.BackOffice/Controllers/AuthenticationController.cs b/src/Umbraco.Web.BackOffice/Controllers/AuthenticationController.cs
index 7d49adaf39..1a55e164a6 100644
--- a/src/Umbraco.Web.BackOffice/Controllers/AuthenticationController.cs
+++ b/src/Umbraco.Web.BackOffice/Controllers/AuthenticationController.cs
@@ -624,7 +624,7 @@ public class AuthenticationController : UmbracoApiControllerBase
await _signInManager.SignOutAsync();
_logger.LogInformation("User {UserName} from IP address {RemoteIpAddress} has logged out",
- User.Identity == null ? "UNKNOWN" : User.Identity.Name, HttpContext.Connection.RemoteIpAddress);
+ result.Principal.Identity == null ? "UNKNOWN" : result.Principal.Identity.Name, HttpContext.Connection.RemoteIpAddress);
var userId = result.Principal.Identity?.GetUserId();
SignOutSuccessResult args = _userManager.NotifyLogoutSuccess(User, userId);
From 8f6370a4808e6a9fbd81a9187c65c2d92b8ac500 Mon Sep 17 00:00:00 2001
From: Miguel Pinto
Date: Wed, 31 May 2023 16:39:37 +0200
Subject: [PATCH 10/27] Swapped the sortCreateDateAscending and
sortCreateDateDescending translation values to match the intended behavior
(#14315)
(cherry picked from commit 76cb85224e058f0f50fbbf61e522d48325d5089f)
---
src/Umbraco.Core/EmbeddedResources/Lang/bs.xml | 4 ++--
src/Umbraco.Core/EmbeddedResources/Lang/cs.xml | 4 ++--
src/Umbraco.Core/EmbeddedResources/Lang/da.xml | 4 ++--
src/Umbraco.Core/EmbeddedResources/Lang/de.xml | 4 ++--
src/Umbraco.Core/EmbeddedResources/Lang/en.xml | 4 ++--
src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml | 4 ++--
src/Umbraco.Core/EmbeddedResources/Lang/fr.xml | 4 ++--
src/Umbraco.Core/EmbeddedResources/Lang/it.xml | 4 ++--
src/Umbraco.Core/EmbeddedResources/Lang/nl.xml | 4 ++--
src/Umbraco.Core/EmbeddedResources/Lang/pt.xml | 2 ++
src/Umbraco.Core/EmbeddedResources/Lang/sv.xml | 4 ++--
src/Umbraco.Core/EmbeddedResources/Lang/tr.xml | 4 ++--
12 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/bs.xml b/src/Umbraco.Core/EmbeddedResources/Lang/bs.xml
index f7b763bdfa..c22086a81a 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/bs.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/bs.xml
@@ -2238,8 +2238,8 @@ Da upravljate svojom web lokacijom, jednostavno otvorite Umbraco backoffice i po
NeaktivanIme (A-Z)Ime (Z-A)
- Najnovije
- Najstarije
+ Najstarije
+ NajnovijeZadnja prijavaNijedna korisnička grupa nije dodanaAko želite da onemogućite ovog dvofaktorskog provajdera, onda morate uneti kod prikazan na vašem uređaju za autentifikaciju:
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/cs.xml b/src/Umbraco.Core/EmbeddedResources/Lang/cs.xml
index 09c679475d..26c7087c80 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/cs.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/cs.xml
@@ -1869,8 +1869,8 @@
NeaktivníJméno (A-Z)Jméno (Z-A)
- Nejnovější
- Nejstarší
+ Nejstarší
+ NejnovějšíPoslední přihlášeníNebyly přidány žádné skupiny uživatelů
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/da.xml b/src/Umbraco.Core/EmbeddedResources/Lang/da.xml
index 6a496a9b8f..dd68711783 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/da.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/da.xml
@@ -1927,8 +1927,8 @@ Mange hilsner fra Umbraco robotten
InaktivNavn (A-Å)Navn (Å-A)
- Nyeste
- Ældste
+ Ældste
+ NyesteSidst logget indIngen brugere er blevet tilføjetHvis du ønsker at slå denne totrinsbekræftelse fra, så skal du nu indtaste koden fra din enhed:
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/de.xml b/src/Umbraco.Core/EmbeddedResources/Lang/de.xml
index 310516a6bb..4bcf80994e 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/de.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/de.xml
@@ -2179,8 +2179,8 @@
Nicht aktivName (A-Z)Name (Z-A)
- Newest
- Oldest
+ Oldest
+ NewestLast login
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/en.xml b/src/Umbraco.Core/EmbeddedResources/Lang/en.xml
index bda3ffbfec..1d3f563c9c 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/en.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/en.xml
@@ -2245,8 +2245,8 @@ To manage your website, simply open the Umbraco backoffice and start adding cont
InactiveName (A-Z)Name (Z-A)
- Newest
- Oldest
+ Oldest
+ NewestLast loginNo user groups have been addedIf you wish to disable this two-factor provider, then you must enter the code shown on your authentication device:
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml b/src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml
index 46c7dad6cd..d38a8f0c06 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml
@@ -2340,8 +2340,8 @@ To manage your website, simply open the Umbraco backoffice and start adding cont
InactiveName (A-Z)Name (Z-A)
- Newest
- Oldest
+ Oldest
+ NewestLast loginNo user groups have been addedIf you wish to disable this two-factor provider, then you must enter the code shown on your authentication device:
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/fr.xml b/src/Umbraco.Core/EmbeddedResources/Lang/fr.xml
index 1576cedbe4..55dad6e986 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/fr.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/fr.xml
@@ -1910,8 +1910,8 @@ Pour gérer votre site, ouvrez simplement le backoffice Umbraco et commencez à
InactifNom (A-Z)Nom (Z-A)
- Plus récent
- Plus ancien
+ Plus ancien
+ Plus récentDernière connexion
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/it.xml b/src/Umbraco.Core/EmbeddedResources/Lang/it.xml
index 5e45248d48..b1ac0385e1 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/it.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/it.xml
@@ -2319,8 +2319,8 @@ Per gestire il tuo sito web, è sufficiente aprire il backoffice di Umbraco e in
InattiviNome (A-Z)Nome (Z-A)
-
-
+
+ Ultimo loginNon sono stati aggiunti gruppi di utenti
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/nl.xml b/src/Umbraco.Core/EmbeddedResources/Lang/nl.xml
index 9c17715e50..0a39cf05a7 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/nl.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/nl.xml
@@ -2056,8 +2056,8 @@ Echter, Runway biedt een gemakkelijke basis om je snel op weg te helpen. Als je
InactiefNaam (A-Z)Naam (Z-A)
- Nieuwste
- Oudste
+ Oudste
+ NieuwsteLaatste loginEr zijn geen gebruikersgroepen toegevoegd
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/pt.xml b/src/Umbraco.Core/EmbeddedResources/Lang/pt.xml
index f6cdb21208..29ae77a2d8 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/pt.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/pt.xml
@@ -822,6 +822,8 @@ Você pode publicar esta página e todas suas sub-páginas ao selecionar pub
Tipo de usuárioTipos de usuáriosEscrevente
+ Mais antigo
+ Mais recenteSelecionar tudo
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/sv.xml b/src/Umbraco.Core/EmbeddedResources/Lang/sv.xml
index ec52c0343c..d219464321 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/sv.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/sv.xml
@@ -1001,8 +1001,8 @@
SkribentDin nuvarande historikDin profil
- Nyast
- Äldst
+ Äldst
+ NyastSenaste login
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/tr.xml b/src/Umbraco.Core/EmbeddedResources/Lang/tr.xml
index 1195378516..ebd284465f 100644
--- a/src/Umbraco.Core/EmbeddedResources/Lang/tr.xml
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/tr.xml
@@ -1996,8 +1996,8 @@ Web sitenizi yönetmek için, Umbraco'nun arka ofisini açın ve içerik eklemey
Etkin DeğilAd (AZ)Ad (ZA)
- En yeni
- En eski
+ En eski
+ En yeniSon girişHiçbir kullanıcı grubu eklenmedi
From b8415ed7f07e76939bf020d71f561fa398fd2847 Mon Sep 17 00:00:00 2001
From: Paul Seal
Date: Fri, 16 Jun 2023 09:31:09 +0100
Subject: [PATCH 11/27] Update the tour text to the correct text and to save
confusion
(cherry picked from commit 5073a26e7f58ef986a599940f82df5c1e1fefdb3)
---
.../EmbeddedResources/Tours/getting-started.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Umbraco.Web.BackOffice/EmbeddedResources/Tours/getting-started.json b/src/Umbraco.Web.BackOffice/EmbeddedResources/Tours/getting-started.json
index eba7e94d1e..502b1fe47e 100644
--- a/src/Umbraco.Web.BackOffice/EmbeddedResources/Tours/getting-started.json
+++ b/src/Umbraco.Web.BackOffice/EmbeddedResources/Tours/getting-started.json
@@ -146,7 +146,7 @@
{
"element": "#dialog [data-element='action-documentType']",
"title": "Create Document Type",
- "content": "
Click Document Type to create a new document type with a template. The template will be automatically created and set as the default template for this Document Type.
You will use the template in a later tour to render content.
",
+ "content": "
Click Document Type with Template to create a new document type with a template. The template will be automatically created and set as the default template for this Document Type.
You will use the template in a later tour to render content.
",
"event": "click"
},
{
@@ -197,8 +197,8 @@
},
{
"element": "[data-element~='editor-property-settings'] [data-element='editor-add']",
- "title": "Add editor",
- "content": "When you add an editor you choose what the input method for this property will be. Click Add editor to open the editor picker dialog.",
+ "title": "Select editor",
+ "content": "When you select an editor you choose what the input method for this property will be. Click Select editor to open the editor picker dialog.",
"event": "click"
},
{
From b99e14e2880968b829b2597c7122cc4805f32092 Mon Sep 17 00:00:00 2001
From: alevak09 <73195407+alevak09@users.noreply.github.com>
Date: Fri, 16 Jun 2023 10:49:22 +0200
Subject: [PATCH 12/27] Add Croatian Language (#14379)
Croatian language translation of Umbraco backoffice and culture settings
(cherry picked from commit 9f4d3e55257fa865c5b474d691243b8d5cbd0f5c)
---
.../EmbeddedResources/Lang/hr.xml | 2829 +++++++++++++++++
1 file changed, 2829 insertions(+)
create mode 100644 src/Umbraco.Core/EmbeddedResources/Lang/hr.xml
diff --git a/src/Umbraco.Core/EmbeddedResources/Lang/hr.xml b/src/Umbraco.Core/EmbeddedResources/Lang/hr.xml
new file mode 100644
index 0000000000..492eb3155a
--- /dev/null
+++ b/src/Umbraco.Core/EmbeddedResources/Lang/hr.xml
@@ -0,0 +1,2829 @@
+
+
+
+ alevak09
+ https://github.com/alevak09
+
+
+ Kultura i imena hostova
+ Audit zapis
+ Pregledaj čvor
+ Promijeni Tip Dokumenta
+ Kopiraj
+ Kreiraj
+ Izvezi
+ Kreiraj Paket
+ Kreiraj grupu
+ Obriši
+ Onemogući
+ Uredi postavke
+ Isprazni koš za smeće
+ Omogući
+ Izvezi Tip Dokumenta
+ Uvezi Tip Dokumenta
+ Uvezi Paket
+ Uređivanje na stranici
+ Izlaz
+ Premjesti
+ Obavijesti
+ Javni pristup
+ Objavi
+ Poništi objavu
+ Osvježi
+ Ponovna objava cijele stranice
+ Ukloni
+ Preimenuj
+ Vrati
+ Odaberite gdje ćete kopirati
+ Odaberite gdje ćete premjestiti
+ Odaberite gdje ćete uvesti
+ do u strukturi stabla ispod
+ Odaberite gdje želite kopirati odabrane stavke
+ Odaberite gdje želite premjestiti odabrane stavke
+ je premješteno u
+ je kopirana u
+ je obrisana
+ Dozvole
+ Vraćanje unazad
+ Pošalji na objavljivanje
+ Pošalji na prijevod
+ Postavi grupu
+ Sortiraj
+ Prevedi
+ Ažuriraj
+ Postavi dozvole
+ Otključaj
+ Kreirajte Predložak Sadržaja
+ Ponovo pošaljite pozivnicu
+
+
+ Sadržaj
+ Administracija
+ Struktura
+ Ostalo
+
+
+ Dopustite pristup za dodjelu kulture i imena hostova
+ Dopustite pristup za pregled dnevnika povijesti čvora
+ Dopustite pristup za pregled čvora
+ Dopustite pristup za promjenu Tipa Dokumenta za čvor
+ Dopustite pristup za kopiranje čvora
+ Dopustite pristup za kreiranje čvora
+ Dopustite pristup za brisanje čvora
+ Dopustite pristup za premještaj čvora
+ Dopustite pristup za postavljanje i promjenu javnog pristupa za čvor
+ Dopustite pristup za objavljivanje čvora
+ Dopustite pristup da poništavanje objave čvora
+ Dopustite pristup za promjenu dozvola za čvor
+ Dopustite pristup za vraćanje čvora na prethodno stanje
+ Dopustite pristup za slanje čvora na odobrenje prije objavljivanja
+ Dopustite pristup za slanje čvora na prijevod
+ Dopustite pristup za promjenu sortiranja čvorova
+ Dopustite pristup za prevođenje čvora
+ Dopustite pristup za spremanje čvora
+ Dopustite pristup za kreiranje Predloška Sadržaja
+ Dopustite pristup za podešavanje obavijesti za čvorove
+
+
+ Sadržaj
+ Info
+
+
+ Dozvola odbijena.
+ Dodaj novu domenu
+ Dodaj postojeću domenu
+ Ukloni
+ Nevažeći čvor.
+ Jedna ili više domena imaju nevažeći format.
+ Domena je već dodijeljena.
+ Jezik
+ Domena
+ Nova domena '%0%' je kreirana
+ Domena '%0%' je obrisana
+ Domena '%0%' je već dodijeljena
+ Domena '%0%' je ažurirana
+ Uredi trenutne domene
+
+
+ Naslijedi
+ Kultura
+
+ ili naslijedite kulturu od roditeljskih čvorova. Također će se primijeniti
+ na trenutni čvor, osim ako se domena u nastavku ne primjenjuje.]]>
+
+ Domene
+
+
+ Obriši odabir
+ Odaberi
+ Uradi nešto drugo
+ Podebljano
+ Odustani od uvlačenje odlomka
+ Umetni polje obrasca
+ Umetni grafički naslov
+ Uredi Html
+ Uvuci odlomak
+ Nakošeno
+ Centrirano
+ Poravnanje lijevo
+ Poravnanje desno
+ Umetni link
+ Umetni lokalni link (sidro)
+ Obična lista
+ Numerička lista
+ Umetni makro
+ Umetni sliku
+ Objavi i zatvori
+ Objavi sa potomcima
+ Uredite odnose
+ Povratak na listu
+ Spremi
+ Spremi i zatvori
+ Spremi i objavi
+ Spremi i pošalji na odobrenje
+ Spremi prikaz liste
+ Zakazivanje objave
+ Spremi i pregledaj
+ Pregled je onemogućen jer nije dodijeljen predložak
+ Odaberi stil
+ Prikaži stilove
+ Umetni tablicu
+ Spremi i generiraj modele
+ Poništi
+ Vrati
+ Obriši tag
+ Odustani
+ Potvrdi
+ Više opcija za objavljivanje
+ Pošalji
+
+
+ Pregled za
+ Sadržaj je obrisan
+ Poništena objava Sadržaja
+ Poništena je objava sadržaja za jezike: %0%
+ Sadržaj je spremljen i objavljen
+ Sadržaj spremljen i objavljen za jezike: %0%
+ Sadržaj spremljen
+ Sadržaj spremljen za jezike: %0%
+ Sadržaj premješten
+ Sadržaj kopiran
+ Sadržaj vraćen
+ Sadržaj poslan na objavljivanje
+ Sadržaj poslan na objavljivanje za jezike: %0%
+ Sortiranje podređenih stavki je izvršio korisnik
+ %0%
+ Čišćenje je onemogućeno za verziju: %0%
+ Čišćenje je omogućeno za verziju: %0%
+ Kopiraj
+ Objavljeno
+ Objavi
+ Premjesti
+ Spremljeno
+ Spremi
+ Obriši
+ Poništi objavu
+ Vrati na stariju verziju
+ Pošalji na objavljivanje
+ Pošalji na objavljivanje
+ Sortiraj
+ Prilagođeno
+ Spremi
+ Spremi
+ Povijest (sve varijante)
+
+
+ Naziv mape ne može sadržavati nedozvoljene znakove.
+ Nije uspjelo brisanje stavke: %0%
+
+
+ Da li je objavljeno
+ Više o ovoj stranici
+ Alias
+ (kako bi opisali sliku preko telefona)
+ Alternativni linkovi
+ Kliknite za uređivanje ove stavke
+ Kreirao
+ Originalni autor
+ Ažurirao
+ Kreirano
+ Datum i vrijeme kreiranja ovog dokumenta
+ Tip dokumenta
+ Uređivanje
+ Ukloni na
+ Ova stavka je promijenjena nakon objavljivanja
+ Ova stavka nije objavljena
+ Posljednje objavljeno
+ Nema stavki za prikaz
+ Nema stavki za prikaz na listi.
+ Nije dodan sadržaj
+ Nijedan član nije dodan
+ Tip medija
+ Link do medijske stavke
+ Grupa članova
+ Uloga
+ Tip člana
+ Nisu napravljene nikakve promjene
+ Nije odabran datum
+ Naslov stranice
+ Ova medijska stavka nema vezu
+ Svojstva
+ Ovaj dokument je objavljen, ali nije vidljiv jer nadređeni '%0%' nije objavljen
+ Ova kultura je objavljena, ali nije vidljiva jer nije objavljena na nadređenom '%0%'
+ Ovaj dokument je objavljen, ali nije u predmemoriji
+ Nije moguće dohvatiti URL
+ Ovaj dokument je objavljen, ali njegov URL je u sukobu sa sadržajem %0%
+ Ovaj dokument je objavljen, ali njegov URL se ne može preusmjeriti
+ Objavi
+ Objavljeno
+ Objavljeno (promjene na čekanju)
+ Status objave
+
+ %0% i sve stavke sadržaja ispod i time čineći njihov sadržaj javno dostupnim.]]>
+
+
+ Objavi na
+ Poništi objavu na
+ Obriši datum
+ Postavi datum
+ Sortiranje je ažurirano
+ Da biste sortirali čvorove, jednostavno pomaknite čvorove ili kliknite na jedno od zaglavlja kolona. Možete odabrati
+ više čvorova držeći tipku "shift" ili "control" dok birate
+
+ Statistika
+ Naslov (opcionalno)
+ Alternativni tekst (opcionalno)
+ Natpis (opcionalno)
+ Tip
+ Poništi objavu
+ Neobjavljeno
+ Nije kreirano
+ Zadnje uređivano
+ Datum/vrijeme uređivanja ovog dokumenta
+ Ukloni datoteke
+ Kliknite ovdje kako bi uklonili sliku iz medijske stavke
+ Kliknite ovdje kako bi uklonili datoteku iz medijske stavke
+ Link na dokument
+ Član grupe
+ Nije član grupe
+ Dječje stavke
+ Meta
+ Ovo se označava kao sljedeće vrijeme na serveru:
+
+ Što ovo znači?]]>
+ Jeste li sigurni da želite obrisati ovu stavku?
+ Svojstvo %0% koristi uređivač %1% koji nije podržan za Ugniježđeni
+ Sadržaj.
+
+ Jeste li sigurni da želite obrisati sve stavke?
+ Za ovo svojstvo nisu konfigurirani tipovi sadržaja.
+ Dodajte tip elementa
+ Odaberi tip elementa
+ Odaberite grupu čija svojstva trebaju biti prikazana. Ako je ostavljeno prazno,
+ koristit će se prva grupa na tipu elementa.
+
+ Unesite angular izraz za procjenu svake stavke za njeno
+ ime. Koristi
+
+ za prikaz indeksa stavke
+ Odabrani tip elementa ne sadrži nijednu podržanu grupu (ovaj uređivač ne podržava kartice, promijenite ih u grupe ili koristite uređivač liste blokova).
+ Dodajte još jedan okvir za tekst
+ Uklonite ovaj okvir za tekst
+ Korijen Sadržaja
+ Uključite neobjavljeni sadržaj.
+ Ova vrijednost je skrivena. Ako vam je potreban pristup da vidite ovu vrijednost, obratite se
+ administratoru web stranice.
+
+ Ova vrijednost je skrivena.
+ Koje jezike želite objaviti?
+ Koje jezike želite poslati na odobrenje?
+ Koje jezike želite zakazano objaviti?
+ Odaberite jezike za poništavanje objavljivanja. Poništavanje objavljivanja obaveznog jezika će
+ poništiti objavljivanje svih jezika.
+
+ Sve nove varijante će biti spremljene.
+ Koje varijante želite objaviti?
+ Odaberite koje varijante želite spremiti.
+ Za objavljivanje su potrebne sljedeće varijante:
+ Nije spremno za objavljivanje
+ Spremno za objavljivanje?
+ Spremno za spremanje?
+ Poništi fokusnu točku
+ Pošalji na odobrenje
+ Odaberite datum i vrijeme za objavljivanje i/ili poništavanje objave stavke sadržaja.
+ Kreiraj novo
+ Zalijepi iz međuspremnika
+ Ova stavka je u košu za smeće
+
+
+ %0%]]>
+ Prazno
+ Odaberite predložak sadržaja
+ Predložak sadržaja kreiran
+ Predložak sadržaja je kreiran od '%0%'
+ Drugi predložak sadržaja sa istim nazivom već postoji
+ Predložak sadržaja je unaprijed definiran sadržaj koji uređivač može odabrati da bi se koristio
+ kao osnova za kreiranje novog sadržaja
+
+
+
+ Kliknite za prijenos
+ ili kliknite ovdje kako bi odaberali datoteke
+ Nije moguće učitati ovu datoteku, jer nema odobreni tip datoteke
+ Nije moguće učitati ovu datoteku, format medija sa nastavkom '%0%' nije dozvoljen
+ Nije moguće učitati ovu datoteku, jer nema važeći naziv datoteke
+ Maksimalna veličina datoteke je
+ Korijen medija
+ Kreiranje mape pod ID-om roditelja nije uspjelo %0%
+ Preimenovanje mape sa ID-om %0% nije uspjelo
+ Povucite i ispustite svoje datoteke u područje
+
+
+ Kreirajte novog člana
+ Svi članovi
+ Grupe članova nemaju dodatnih svojstva za uređivanje.
+ Dvostruka provjera autentičnosti
+
+
+ Kopiranje tipa sadržaja nije uspjelo
+ Premještanje tipa sadržaja nije uspjelo
+
+
+ Kopiranje tipa medija nije uspjelo
+ Premještanje tipa medija nije uspjelo
+ Automatski odabir
+
+
+ Kopiranje tipa člana nije uspjelo
+
+
+ Gdje želite kreirati novi %0%
+ Kreirajte stavku pod
+ Odaberite vrstu dokumenta za koju želite napraviti predložak sadržaja
+ Unesite naziv mape
+ Odaberite vrstu i naslov
+
+ Dokument Tip unutar sekcije Postavke, uređivanjem Dozvoljeni tipovi podređenih čvorova unutar Dozvole.]]>
+
+ Dokument Tip unutar sekcije Postavke.]]>
+ Odabrana stranica u stablu sadržaja ne dozvoljava kreiranje nijedne stranice ispod.
+
+ Uredi dozvole za ovaj tip dokumenta
+ Kreiraj novi tip dokumenta
+
+ Dokument Tip unutar sekcije Postavke, izmjenom Dozvoli kao root opcije unutar Dozvole.]]>
+
+ Media Tip unutar sekcije Postavke, uređivanjem Dozvoljeni tipovi podređenih čvorova unutar Dozvole.]]>
+ Odabrani medij u stablu ne dopušta bilo koji drugi medij
+ kreiran ispod njega.
+
+ Uredi dozvole za ovaj tip medija
+ Tip dokumenta bez predloška
+ Tip dokumenta sa predloškom
+ Definiranje podataka za stranicu sadržaja koja se može kreirati u stablu sadržaja i direktno je dostupana preko URL-a.
+
+ Tip dokumenta
+ Definiranje podataka za komponentu sadržaja koju mogu kreirati urednici u
+ stablu sadržaja i može biti izabrana na drugim stranicama, ali nema direktan URL.
+
+ Tip elementa
+ Definiranje sheme za ponavljajući skup svojstava, na primjer, u 'Bloku
+ Uređivaču svojstava Lista' ili 'Ugniježđeni sadržaj'.
+
+ Kompozicija
+ Definiranje višenamjenski skup svojstava koja se mogu uključiti u definiciju
+ više drugih vrsta dokumenata. Na primjer, skup 'Common Page Settings'.
+
+ Mapa
+ Koristi se za organiziranje tipova dokumenata, sastava i tipova elemenata kreiranih u ovome
+ Stablo vrste dokumenta.
+
+ Nova mapa
+ Novi tip podatka
+ Nova JavaScript datoteka
+ Novi prazan djelomični prikaz
+ Novi djelomični prikaz za makro
+ Novi djelomični prikaz iz isječka
+ Novi djelomični prikaz za makro iz isječka
+ Novi djelomični prikaz za makro (bez makroa)
+ Nova CSS datoteka
+ Nova Rich Text Editor CSS datoteka
+
+
+ Pregledajte svoju web stranicu
+ - Sakrij
+ Ako se Umbraco ne otvara, možda ćete morati dozvoliti skočne prozore sa ove stranice
+ je otvoren u novom prozoru
+ Ponovno pokreni
+ Posjetite
+ Dobrodošli
+
+
+ Ostani
+ Poništite promjene
+ Imate ne spremljene promjene
+ Jeste li sigurni da želite izaći s ove stranice? - imate ne spremljene promjene
+ Objavljivanjem će odabrane stavke biti vidljive na stranici.
+ Poništavanje objavljivanja će ukloniti odabrane stavke i sve njihove potomke sa
+ stranice.
+
+ Poništavanje objavljivanja će ukloniti ovu stranicu i sve njene potomke sa stranice.
+ Imate ne spremljene promjene. Promjenom vrste dokumenta odbacit će se promjene.
+
+
+ Završeno
+ Obrisana %0% stavka
+ Obrisano %0% stavki
+ Obrisana %0% od %1% stavka
+ Obrisano %0% od %1% stavki
+ Objavljeno %0% stavka
+ Objavljeno %0% stavki
+ Objavljeno %0% od %1% stavka
+ Objavljeno %0% od %1% stavki
+ Neobjavljeno za %0% stavku
+ Neobjavljeno za %0% stavki
+ Neobjavljeno za %0% od %1% stavku
+ Neobjavljeno za %0% od %1% stavki
+ Premještena %0% stavka
+ Premješteno %0% stavki
+ Premješteno %0% od %1% stavku
+ Premješteno %0% od %1% stavki
+ Kopirana %0% stavka
+ Kopirano %0% stavki
+ Kopirano %0% od %1% stavku
+ Kopirano %0% od %1% stavki
+
+
+ Naslov linka
+ Link
+ Sidro / querystring
+ Naziv
+ Upravljanje nazivima domena
+ Zatvorite ovaj prozor
+ Jeste li sigurni da želite obrisati
+ %0% od %1% stavki]]>
+ Jeste li sigurni da želite onemogućiti
+ Jeste li sigurni da želite ukloniti
+ %0%]]>
+ Jeste li sigurni?
+ Jeste li sigurni?
+ Izreži
+ Uredi stavku iz rječnika
+ Uredi jezik
+ Uredite odabrane medije
+ Umetni lokalnu vezu
+ Umetni znak
+ Umetni grafički naslov
+ Umetni sliku
+ Umetni link
+ Klikni za dodavanje makro
+ Umetni tablicu
+ Ovo će obrisati jezik
+ Promjena kulture jezika može biti skupa operacija i rezultirat će promjenama u predmemoriji sadržaja i indeksima koji se rekonstruiraju
+
+ Zadnje uređivano
+ Link
+ Interni link:
+ Kada koristite lokalni linkovi, umetnite "#" ispred linka
+ Otvoriti u novom prozoru?
+ Ovaj makro ne sadrži svojstva koja možete uređivati
+ Zalijepi
+ Uredi dozvole za
+ Postavi dozvole za
+ Postavi dozvole za %0% za grupu korisnika %1%
+ Odaberi grupe korisnika za koje želite postaviti dozvole
+ Stavke u košu za smeće se upravo brišu. Molimo vas da ne zatvarate ovaj prozor
+ dok se ova operacija odvija
+
+ Koš za smeće je sada prazna
+ Kada se stavke obrišu iz koša za smeće, nestat će zauvijek
+
+ regexlib.com web servis trenutno ima probleme u komunikaciji na koje ne možemo utjecati. Žao nam je zbog nastalih smetnji.]]>
+ Traži regular expression kako bi njime validirali polje unosa. Primjer: 'e-pošta,
+ 'poštanski broj', 'URL'.
+
+ Ukloni makro
+ Obavezno polje
+ Stranica je ponovo indeksirana
+ Predmemorija web stranice je osvježena. Sav objavljeni sadržaj je sada ažuriran. Dok će sav
+ neobjavljen sadržaj ostati neobjavljen
+
+ Predmemorija web stranice će biti osvježena. Svi objavljeni sadržaji bit će ažurirani, dok će sav
+ neobjavljeni sadržaj ostati neobjavljen.
+
+ Broj kolona
+ Broj redova
+ Klikni na sliku za prikaz pune veličine
+ Odaberi stavku
+ Prikaži stavku predmemorije
+ Odnosi se na original
+ Uključiti potomke
+ Prijateljska zajednica
+ Link na stranicu
+ Otvara povezani dokument u novom prozoru ili kartici
+ Link do medija
+ Odaberi početni čvor sadržaja
+ Odaberi medije
+ Odaberi tip medija
+ Odaberi ikonu
+ Odaberi stavku
+ Odaberi vezu
+ Odaberi makro
+ Odaberi sadržaj
+ Odaberi tip sadržaja
+ Odaberi početni čvor medija
+ Odaberi člana
+ Odaberi grupu članova
+ Odaberi tip članova
+ Odaberi čvor
+ Odaberi jezike
+ Odaberi sekcije
+ Odaberi korisnika
+ Odaberi korisnike
+ Nema pronađenih ikona
+ Nema parametara za ovaj makro
+ Nema dostupnih makroa za umetanje
+ Vanjski provajderi prijave
+ Detalji iznimaka
+ Zapisnik
+ Unutarnja iznimka
+ Poveži svoj
+ Poništi povezivanje svoje veze
+ račun
+ Odaberi urednika
+ Odaberite predložak
+ Ovo će obrisati čvor i sve njegove jezike. Ako želite obrisati jedan jezik, poništite radije objavu na tom jeziku.
+ %0%.]]>
+ %0% iz grupe %1%]]>
+ Da, ukloni
+ Brišete izgled
+ Promjena izgleda će rezultirati gubitkom podataka za bilo koji postojeći sadržaj koji je zasnovan na ovoj konfiguraciji.
+
+
+
+ Da bi uvezli stavku iz rječnika, pronađite ".udt" datoteku na svom računalu klikom na
+ gumb "Uvezi" (na sljedećem ekranu će se tražiti da potvrdite)
+
+ Stavka iz rječnika ne postoji.
+ Nadređena stavka ne postoji.
+ Ne postoje stavke iz rječnika.
+ U ovoj datoteci nema stavki iz rječnika.
+ Nisu pronađene stavke iz rječnika.
+ Kreirajte stavku iz rječnika
+
+
+ %0%' ispod
+ ]]>
+ Kultura
+
+ Pregled riječnika
+
+
+ Konfigurirani pretraživači
+ Prikazuje svojstva i alate za bilo koji konfigurirani pretraživač (npr. kao multi-indeksni pretraživač)
+ Vrijednosti polja
+ Status zdravlja
+ Status zdravlja indeksa i da li se može pročitati
+ Indeksi
+ Indeks info
+ Sadržaj u indeksu
+ Navodi svojstva indeksa
+ Upravljanje Examine-ovim indeksima
+ Omogućava vam pregled detalja svakog indeksa i pruža neke alate za upravljanje indeksima
+ Obnovi indeks
+
+ Ovisno o količini sadržaja vaše web stranice, ovo bi moglo potrajati.
+ Nije preporučljivo obnavljati index-e tijekom velike posjećenosti vaše web stranice ili u vrijeme kada urednik uređuje sadržaj stranice.
+ ]]>
+
+ Pretraživači
+ Pretražite indeks i pogledajte rezultate
+ Alati
+ Alati za upravljanje indeksima
+ polja
+ Indeks se ne može pročitati i morat će se ponovo obnoviti
+ Proces traje duže od očekivanog, provjerite Umbraco log zapis da vidite
+ da li je bilo grešaka tijekom ove operacije
+
+ Ovaj indeks se ne može ponovo obnoviti jer mu nije dodijeljen
+ IIndexPopulator
+
+
+ Upišite svoje korisničko ime
+ Upišite svoju lozinku
+ Potvrdite lozinku
+ Imenujte %0%...
+ Upišite ime...
+ Upišite email...
+ Upišite korisničko ime...
+ Oznaka...
+ Upišite opis...
+ Upišite za pretragu...
+ Upišite za filtriranje...
+ Upišite da dodate oznake (pritisnite enter nakon svake oznake)...
+ Upišite vaš email
+ Upišite poruku...
+ Vaše korisničko ime je obično vaš email
+ #value ili ?key=value
+ Upišite alias...
+ Generiranje aliasa...
+ Kreiraj stavku
+ Uredi
+ Naziv
+
+
+ Kreirajte prilagođeni prikaz liste
+ Ukloni prilagođeni prikaz liste
+ Tip sadržaja, tip medija ili tip člana s ovim aliasom već postoji
+
+
+ Preimenovano
+ Upišite novi naziv mape
+ %0% je preimenovan u %1%
+
+
+ Dodajte vrijednost
+ Tip baze podataka
+ Uređivač svojstva GUID
+ Uređivač svojstva
+ Gumbi
+ Omogući napredne postavke za
+ Omogući kontekstni meni
+ Maksimalna zadana veličina umetnutih slika
+ Povezani stilovi
+ Prikaži oznaku
+ Širina i visina
+ Odaberite mapu za premještanje
+ do u strukturi stabla ispod
+ je premeštena ispod
+
+
+ Vaši podaci su spremljeni, ali prije nego što možete objaviti ovu stranicu postoje neke
+ greške koje prvo morate ispraviti:
+
+ Trenutni provajder članstva ne podržava promjenu lozinke
+ (Omogući preuzimanje lozinke mora biti uključeno)
+
+ %0% već postoji
+ Bilo je grešaka:
+ Bilo je grešaka:
+ Lozinka treba imati najmanje %0% znakova i sadržavati najmanje %1%
+ znakova koji nisu alfanumerički
+
+ %0% mora biti cijeli broj
+ Polje %0% na kartici %1% je obavezno
+ %0% je obavezno polje
+ %0% na %1% nije u ispravnom formatu
+ %0% nije u ispravnom formatu
+
+
+ Primljena greška sa servera
+ Administrator je zabranio navedeni tip datoteke
+ NAPOMENA! Iako je CodeMirror omogućen konfiguracijom, on je onemogućen u
+ Internet Explorer-u jer nije dovoljno stabilan.
+
+ Unesite i alias i ime na novu vrstu svojstva!
+ Postoji problem sa pristupom za čitanje/pisanje određenoj datoteci ili mapi
+ Greška pri učitavanju skripte parcijalnog prikaza (datoteka: %0%)
+ Unesite naslov
+ Molimo odaberite tip
+ Napravit ćete sliku veću od originalne veličine. Jeste li sigurni
+ da želite nastaviti?
+
+ Početni čvor je obrisan, kontaktirajte svog administratora
+ Molimo označite sadržaj prije promjene stila
+ Nema dostupnih aktivnih stilova
+ Postavite kursor lijevo od dvije ćelije koje želite spojiti
+ Ne možete podijeliti ćeliju koja nije spojena.
+ Ovo svojstvo je nevažeće
+
+
+ O
+ Akcija
+ Akcije
+ Dodaj
+ Alias
+ Sve
+ Jeste li sigurni?
+ Nazad
+ Nazad na pregled
+ Rub
+ od
+ Odustani
+ Margina ćelije
+ Odaberi
+ Očisti
+ Zatvori
+ Zatvori prozor
+ Zatvori panel
+ Komentar
+ Potvrdi
+ Ograniči
+ Ograniči proporcije
+ Sadržaj
+ Nastavi
+ Kopiraj
+ Kreiraj
+ Baza podataka
+ Datum
+ Zadano
+ Obriši
+ Obrisano
+ Brisanje...
+ Dizajn
+ Riječnik
+ Dimenzije
+ Otkaži
+ Dolje
+ Preuzmi
+ Uredi
+ Uređeno
+ Elementi
+ Email
+ Greška
+ Polje
+ Pronađi
+ Prvi
+ Fokusna točka
+ Općenito
+ Grupe
+ Grupa
+ Visina
+ Pomoć
+ Sakrij
+ Povijest
+ Ikona
+ Id
+ Uvezi
+ Pretraži samo ovu mapu
+ Info
+ Unutrašnja margina
+ Umetni
+ Instaliraj
+ Nevažeće
+ Poravnaj
+ Oznaka
+ Jezik
+ Zadnji
+ Izgled
+ Linkovi
+ Učitavanje
+ Zaključano
+ Prijava
+ Odjava
+ Odjava
+ Makro
+ Obavezno
+ Poruka
+ Pomakni
+ Ime
+ Novo
+ Sljedeći
+ Ne
+ Ime čvora
+ od
+ Isključeno
+ OK
+ Otvori
+ Opcije
+ Uključeno
+ ili
+ Poredaj po
+ Lozinka
+ Putanja
+ Trenutak molim...
+ Prethodno
+ Svojstva
+ Pročitaj više
+ Ponovo izgradi
+ Email za primanje obrasca
+ Koš za smeće
+ Vaš koš za smeće je prazn
+ Osvježi
+ Preostalo
+ Izbriši
+ Preimenuj
+ Obnovi
+ Obavezno
+ Povratiti
+ Pokušaj ponovo
+ Dozvole
+ Planirano objavljivanje
+ Umbraco info
+ Traži
+ Žao nam je, ne možemo pronaći ono što tražite.
+ Nije dodana nijedna stavka
+ Server
+ Postavke
+ Prikaži
+ Prikaži stranicu nprilikom Slanja
+ Veličina
+ Sortiranje
+ Status
+ Potvrdi
+ Uspjeh
+ Tip
+ Ime tipa
+ Upišite za pretragu...
+ ispod
+ Gore
+ Ažuriraj
+ Nadogradi
+ Prenesi
+ URL
+ Korisnik
+ Korisničko ime
+ Vrijednost
+ Pogled
+ Dobrodošli...
+ Širina
+ Da
+ Mapa
+ Rezultati pretrage
+ Promijeni redosljed
+ Završeno sortiranje
+ Pregled
+ Promijeni lozinku
+ do
+ Prikaz liste
+ Spremanje...
+ trenutni
+ Ugradi
+ odabran
+ Ostalo
+ Članci
+ Videi
+ Avatar za
+ Zaglavlje
+ sistemsko polje
+ Posljednje ažurirano
+
+
+ Plava
+
+
+ Dodaj grupu
+ Dodaj svojstvo
+ Dodaj urednika
+ Dodaj predložak
+ Dodajte podređeni čvor
+ Dodaj dijete
+ Uredite tip podataka
+ Krećite se po odjeljcima
+ Prečice
+ Prikaži prečice
+ Uključi prikaz liste
+ Uključi dozvoli kao root
+ Redovi za komentiranje/dekomentiranje
+ Uklonite liniju
+ Kopiraj linije gore
+ Kopiraj linije dole
+ Pomakni linije gore
+ Pomakni linije dole
+ Općenito
+ Uređivač
+ Uključi dozvoli varijante kulture
+
+
+ Boja pozadine
+ Podebljano
+ Boja teksta
+ Font
+ Tekst
+
+
+ Stranica
+
+
+ Instalacija se ne može povezati s bazom podataka.
+ Nije moguće spremiti web.config datoteku. Molimo izmijenite konekcijski string
+ ručno.
+
+ Vaša baza podataka je pronađena i identificirana je kao
+ Konfiguracija baze podataka
+
+ Instaliraj za instalaciju Umbraco %0% baze podataka
+ ]]>
+
+
+ Dalje da nastavite.]]>
+ Baza podataka nije pronađena! Provjerite jesu li informacije u "konekcijskom string" u "web.config" datoteci ispravne.
+
Da nastavite, uredite "web.config" datoteku. (koristeći Visual Studio ili vaš omiljeni uređivač teksta), skorlajte do dna, dodajte konekcijski string za vašu bazu podataka u svojstvo nazvan "UmbracoDbDSN" i spremite datoteku.
]]>
+
+ Molimo kontaktirajte svog ISP-a ako je potrebno.
+ Ako instalirate na lokalnoj mašini ili serveru, možda će vam trebati informacije od administratora sistema.]]>
+
+ Pritisnite nadogradnja za nadogradnju vaše baze podataka na Umbraco %0%
+
+ Ne brinite - nijedan sadržaj neće biti obrisan i sve će nastaviti raditi nakon toga!
+
+ ]]>
+ Pritisnite Dalje da nastavite.]]>
+
+ Dalje da nastavite sa čarobnjakom za konfiguraciju]]>
+
+ Zadanu korisničku lozinku treba promijeniti!]]>
+
+ Zadani korisnik je onemogućen ili nema pristup Umbraco-u!
Ne treba preduzimati nikakve daljnje radnje. Pritisnite Dalje da nastavite.]]>
+
+ Zadana korisnička lozinka je uspješno promijenjena od instalacije!
Ne treba preduzimati nikakve daljnje radnje. Pritisnite Dalje da nastavite.]]>
+ Lozinka je promijenjena!
+ Započnite odlično, pogledajte naše uvodne video zapise
+ Klikom na sljedeći gumb (ili modifikacijom umbracoConfigurationStatus u web.config),
+ prihvaćate licencu za ovaj softver kao što je navedeno u polju ispod. Primijetite da se ova Umbraco distribucija
+ sastoji se od dvije različite licence, open source MIT licence za okvir i licence za besplatni softver Umbraco
+ koji pokriva korisničko sučelje.
+
+ Još nije instalirano.
+ Zahvaćene datoteke i mape
+ Više informacija o postavljanju dozvola za Umbraco ovdje
+ Morate dodijeliti dozvole za izmjenu ASP.NET-a za sljedeće
+ datoteke/mape
+
+ Vaše postavke dozvola su gotovo savršene!
+ Možete pokrenuti Umbraco bez problema, ali nećete moći instalirati pakete koji se preporučuju da biste u potpunosti iskoristili Umbraco.]]>
+ Kako riješiti
+ Kliknite ovdje da pročitate tekstualnu verziju
+
+ video tutorijale o postavljanju dozvola foldera za Umbraco ili pročitajte tekstualnu verziju.]]>
+ Vaše postavke dozvola mogu biti problem!
+
+ Možete pokrenuti Umbraco bez problema, ali nećete moći kreirati mape ili instalirati pakete koji se preporučuju da biste u potpunosti iskoristili Umbraco.]]>
+ Vaše postavke dozvola nisu spremne za Umbraco!
+
+ Da biste pokrenuli Umbraco, morat ćete ažurirati postavke dozvola.]]>
+ Vaše postavke dozvola su savršene!
+ Spremni ste da pokrenete Umbraco i instalirate pakete!]]>
+ Rješavanje problema sa mapom
+ Pratite ovu vezu za više informacija o problemima sa ASP.NET i
+ kreiranje mapa
+
+ Postavljanje dozvola za mape
+
+ Želim početi od nule
+ naučite kako)
+ I dalje možete odabrati da kasnije instalirate Runway. Molimo idite na odjeljak Developer i odaberite Paketi.
+ ]]>
+ Upravo ste postavili čistu Umbraco platformu. Šta želite sljedeće učiniti?
+ Runway je instaliran
+
+ Ovo je naša lista preporučenih modula, označite one koje želite da instalirate ili pogledajte punu listu modula
+ ]]>
+ Preporučuje se samo iskusnim korisnicima
+ Želim početi s jednostavnom web-stranicom
+
+ "Runway" je jednostavna web stranica koja nudi neke osnovne tipove dokumenata i predloške. Instalacijski čarobnjak može postaviti Runway za vas automatski,
+ ali ga možete lako urediti, proširiti ili ukloniti. Nije potrebno i možete savršeno koristiti Umbraco i bez njega. Kako god,
+ Runway nudi laku osnovu zasnovanu na najboljim praksama za početak brže nego ikad.
+ Ako se odlučite za instalaciju Runway, opcionalo možete odabrati osnovne građevne blokove tzv. Runway Modules da poboljšate svoje Runway stranice.
+
+
+ Uključeno u Runway: Početna stranica, Stranica za početak, Stranica za instaliranje modula.
+ Dodatni moduli: Navigacija, Sitemap, Kontakt, Galerija.
+
+ ]]>
+ Što je Runway
+ Korak 1/5: Prihvatite licencu
+ Korak 2/5: Konfiguracija baze podataka
+ Korak 3/5: Potvrđivanje dozvola za datoteke
+ Korak 4/5: Provjerite Umbraco sigurnost
+ Korak 5/5: Umbraco je spreman za početak
+ Hvala vam što ste odabrali Umbraco
+ Pregledajte svoju novu stranicu
+Instalirali ste Runway, pa zašto ne biste vidjeli kako izgleda vaša nova web stranica.]]>
+ Dodatna pomoć i informacije
+Potražite pomoć od naše nagrađivane zajednice, pregledajte dokumentaciju ili pogledajte nekoliko besplatnih videozapisa o tome kako napraviti jednostavnu stranicu, kako koristiti pakete i brzi vodič za terminologiju Umbraco]]>
+ Umbraco %0% je instaliran i spreman za upotrebu
+ /web.config datoteku i ažurirati svojstvo unutar AppSetting UmbracoConfigurationStatus na dnu do vrijednosti od '%0%'.]]>
+ započeti odmah klikom na "Pokreni Umbraco" gumb ispod. Ako ste novi u Umbraco-u,
+možete pronaći mnogo resursa na našim stranicama za početak.]]>
+ Pokreni Umbraco
+Da bi upravljali svojom web lokacijom, jednostavno otvorite Umbraco backoffice i počnite dodavati sadržaj, ažurirati predloške i stilove ili dodati novu funkcionalnost]]>
+ Povezivanje s bazom podataka nije uspjelo.
+ Umbraco Verzija 3
+ Umbraco Verzija 4
+ Gledaj
+ Umbraco %0% za novu instalaciju ili nadogradnju sa verzije 3.0.
+