Skip to content

Commit 7d0b26b

Browse files
authored
Merge pull request #10884 from umbraco/v9/feature/imagesharp-cachefolder
V9: Move default ImageSharp cache folder to TEMP and map configured value to content root
2 parents 4814eb5 + 33108a7 commit 7d0b26b

File tree

5 files changed

+165
-171
lines changed

5 files changed

+165
-171
lines changed

.gitignore

Lines changed: 156 additions & 164 deletions
Original file line numberDiff line numberDiff line change
@@ -1,164 +1,156 @@
1-
#
2-
# Umbraco Cms Git Ignore
3-
#
4-
5-
# common files
6-
*.obj
7-
*.pdb
8-
*.user
9-
*.aps
10-
*.pch
11-
*.vspscc
12-
*.orig
13-
*.suo
14-
*.vs10x
15-
*.ndproj
16-
*.ignorer.*
17-
18-
# common directories
19-
.DS_Store
20-
._.DS_Store
21-
.vs/
22-
/local/
23-
24-
# build directories
25-
[Bb]in/
26-
[Db]ebug*/
27-
[Rr]elease*/
28-
obj/
29-
30-
# tools
31-
_ReSharper*/
32-
_NCrunch_*/
33-
*.ncrunchsolution
34-
*.ncrunchsolution.user
35-
*.ncrunchproject
36-
*.crunchsolution.cache
37-
tools/NDepend/
38-
39-
40-
41-
42-
[Tt]est[Rr]esult*
43-
[Bb]uild[Ll]og.*
44-
*.[Pp]ublish.xml
45-
[sS]ource
46-
[sS]andbox
47-
umbraco.config
48-
App_Data/TEMP/*
49-
[Uu]mbraco/[Pp]resentation/[Uu]mbraco/[Pp]lugins/*
50-
[Uu]mbraco/[Pp]resentation/[Uu]ser[Cc]ontrols/*
51-
[Uu]mbraco/[Pp]resentation/[Ss]cripts/*
52-
[Uu]mbraco/[Pp]resentation/[Ff]onts/*
53-
[Uu]mbraco/[Pp]resentation/[Cc]ss/*
54-
55-
src/Umbraco.Tests/App_Data/*
56-
57-
umbraco/presentation/umbraco/plugins/uComponents/uComponentsInstaller.ascx
58-
umbraco/presentation/packages/uComponents/MultiNodePicker/CustomTreeService.asmx
59-
60-
src/Umbraco.Tests/config/applications.config
61-
src/Umbraco.Tests/config/trees.config
62-
src/Umbraco.Tests/config/404handlers.config
63-
src/Umbraco.Tests/[Cc]onfig/umbracoSettings.config
64-
src/packages/
65-
src/packages/repositories.config
66-
67-
*.transformed
68-
69-
node_modules
70-
lib-bower
71-
72-
src/Umbraco.Web.UI.Client/[Bb]uild/*
73-
src/Umbraco.Web.UI.Client/[Bb]uild/[Bb]elle/
74-
75-
src/Umbraco.Web.UI.Client/src/[Ll]ess/*.css
76-
src/Umbraco.Web.UI.Client/vwd.webinfo
77-
78-
src/*.psess
79-
src/*.vspx
80-
81-
NDependOut/*
82-
QueryResult.htm
83-
84-
build/ApiDocs/*
85-
build/ApiDocs/Output/*
86-
src/Umbraco.Web.UI.Client/bower_components/*
87-
88-
# ignore rule for clearing out Belle (avoid rebuilding all the time)
89-
preserve.belle
90-
91-
#Ignore Rule for output of generated documentation files from Grunt docserve
92-
src/Umbraco.Web.UI.Docs/api
93-
src/Umbraco.Web.UI.Docs/package-lock.json
94-
src/*.boltdata/
95-
src/umbraco.sln.ide/*
96-
src/.vs/
97-
98-
src/Umbraco.Tests/[Mm]edia
99-
tools/docfx/*
100-
apidocs/_site/*
101-
src/*/project.lock.json
102-
src/.idea/*
103-
104-
apidocs/api/*
105-
build/docs.zip
106-
build/ui-docs.zip
107-
build/csharp-docs.zip
108-
src/packages/
109-
src/PrecompiledWeb/*
110-
111-
# build
112-
build.out/
113-
build.tmp/
114-
build/hooks/
115-
build/temp/
116-
117-
118-
# Acceptance tests
119-
cypress.env.json
120-
/src/Umbraco.Tests.AcceptanceTest/cypress/support/chainable.ts
121-
/src/Umbraco.Tests.AcceptanceTest/package-lock.json
122-
/src/Umbraco.Tests.AcceptanceTest/cypress/videos/
123-
/src/Umbraco.Tests.AcceptanceTest/cypress/screenshots/
124-
125-
126-
# eof
127-
/src/Umbraco.Web.UI.Client/TESTS-*.xml
128-
/src/ApiDocs/api/*
129-
/src/Umbraco.Web.UI.Client/package-lock.json
130-
/src/Umbraco.Web.UI/wwwroot/Media/*
131-
/src/Umbraco.Web.UI/wwwroot/is-cache/*
132-
/src/Umbraco.Tests.Integration/App_Data/*
133-
/src/Umbraco.Tests.Integration/TEMP/*
134-
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/assets/*
135-
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/js/*
136-
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/lib/*
137-
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/views/*
138-
/src/Umbraco.Web.UI/wwwroot/App_Data/TEMP/*
139-
/src/Umbraco.Web.UI/App_Data/Logs/*
140-
/src/Umbraco.Web.UI/App_Data/TEMP/TypesCache/*
141-
/src/Umbraco.Web.UI/App_Data/TEMP/*
142-
/src/Umbraco.Web.UI/App_Data/Smidge/Cache/*
143-
/src/Umbraco.Web.UI/[Uu]mbraco/[Ll]ogs
144-
/src/Umbraco.Web.UI/[Uu]mbraco/[Dd]ata/*
145-
/src/Umbraco.Web.UI/[Uu]mbraco/[Mm]odels/*
146-
/src/Umbraco.Web.UI/[Vv]iews/*.vbhtml
147-
/src/Umbraco.Web.UI/appsettings.json
148-
/src/Umbraco.Web.UI/appsettings.Development.json
149-
/src/Umbraco.Web.UI/appsettings.Local.json
150-
151-
152-
src/Umbraco.Tests.Integration/umbraco/Data/
153-
src/Umbraco.Tests.Integration/umbraco/logs/
154-
155-
src/Umbraco.Tests.Integration/Views/
156-
157-
src/Umbraco.Tests/TEMP/
158-
159-
160-
src/Umbraco.Tests.UnitTests/umbraco/Data/TEMP/
161-
src/Umbraco.Tests.Integration.SqlCe/umbraco/Data/TEMP/
162-
src/Umbraco.Tests.Integration.SqlCe/DatabaseContextTests.sdf
163-
164-
src/Umbraco.Web.UI/umbraco/config/appsettings-schema.json
1+
#
2+
# Umbraco CMS .gitignore
3+
#
4+
5+
# Common files
6+
*.obj
7+
*.pdb
8+
*.user
9+
*.aps
10+
*.pch
11+
*.vspscc
12+
*.orig
13+
*.suo
14+
*.vs10x
15+
*.ndproj
16+
*.ignorer.*
17+
18+
# Common directories
19+
.DS_Store
20+
._.DS_Store
21+
.vs/
22+
/local/
23+
24+
# Build directories
25+
[Bb]in/
26+
[Db]ebug*/
27+
[Rr]elease*/
28+
obj/
29+
30+
# Tools
31+
_ReSharper*/
32+
_NCrunch_*/
33+
*.ncrunchsolution
34+
*.ncrunchsolution.user
35+
*.ncrunchproject
36+
*.crunchsolution.cache
37+
tools/NDepend/
38+
39+
[Tt]est[Rr]esult*
40+
[Bb]uild[Ll]og.*
41+
*.[Pp]ublish.xml
42+
[sS]ource
43+
[sS]andbox
44+
umbraco.config
45+
App_Data/TEMP/*
46+
[Uu]mbraco/[Pp]resentation/[Uu]mbraco/[Pp]lugins/*
47+
[Uu]mbraco/[Pp]resentation/[Uu]ser[Cc]ontrols/*
48+
[Uu]mbraco/[Pp]resentation/[Ss]cripts/*
49+
[Uu]mbraco/[Pp]resentation/[Ff]onts/*
50+
[Uu]mbraco/[Pp]resentation/[Cc]ss/*
51+
52+
src/Umbraco.Tests/App_Data/*
53+
54+
umbraco/presentation/umbraco/plugins/uComponents/uComponentsInstaller.ascx
55+
umbraco/presentation/packages/uComponents/MultiNodePicker/CustomTreeService.asmx
56+
57+
src/Umbraco.Tests/config/applications.config
58+
src/Umbraco.Tests/config/trees.config
59+
src/Umbraco.Tests/config/404handlers.config
60+
src/Umbraco.Tests/[Cc]onfig/umbracoSettings.config
61+
src/packages/
62+
src/packages/repositories.config
63+
64+
*.transformed
65+
66+
node_modules
67+
lib-bower
68+
69+
src/Umbraco.Web.UI.Client/[Bb]uild/*
70+
src/Umbraco.Web.UI.Client/[Bb]uild/[Bb]elle/
71+
72+
src/Umbraco.Web.UI.Client/src/[Ll]ess/*.css
73+
src/Umbraco.Web.UI.Client/vwd.webinfo
74+
75+
src/*.psess
76+
src/*.vspx
77+
78+
NDependOut/*
79+
QueryResult.htm
80+
81+
build/ApiDocs/*
82+
build/ApiDocs/Output/*
83+
src/Umbraco.Web.UI.Client/bower_components/*
84+
85+
# Ignore rule for clearing out Belle (avoid rebuilding all the time)
86+
preserve.belle
87+
88+
# Ignore rule for output of generated documentation files from grunt docserve
89+
src/Umbraco.Web.UI.Docs/api
90+
src/Umbraco.Web.UI.Docs/package-lock.json
91+
src/*.boltdata/
92+
src/umbraco.sln.ide/*
93+
src/.vs/
94+
95+
src/Umbraco.Tests/[Mm]edia
96+
tools/docfx/*
97+
apidocs/_site/*
98+
src/*/project.lock.json
99+
src/.idea/*
100+
101+
apidocs/api/*
102+
build/docs.zip
103+
build/ui-docs.zip
104+
build/csharp-docs.zip
105+
src/packages/
106+
src/PrecompiledWeb/*
107+
108+
# Build
109+
build.out/
110+
build.tmp/
111+
build/hooks/
112+
build/temp/
113+
114+
# Acceptance tests
115+
cypress.env.json
116+
/src/Umbraco.Tests.AcceptanceTest/cypress/support/chainable.ts
117+
/src/Umbraco.Tests.AcceptanceTest/package-lock.json
118+
/src/Umbraco.Tests.AcceptanceTest/cypress/videos/
119+
/src/Umbraco.Tests.AcceptanceTest/cypress/screenshots/
120+
121+
/src/Umbraco.Web.UI.Client/TESTS-*.xml
122+
/src/ApiDocs/api/*
123+
/src/Umbraco.Web.UI.Client/package-lock.json
124+
/src/Umbraco.Web.UI/wwwroot/Media/*
125+
/src/Umbraco.Tests.Integration/App_Data/*
126+
/src/Umbraco.Tests.Integration/TEMP/*
127+
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/assets/*
128+
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/js/*
129+
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/lib/*
130+
/src/Umbraco.Web.UI/wwwroot/[Uu]mbraco/views/*
131+
/src/Umbraco.Web.UI/wwwroot/App_Data/TEMP/*
132+
/src/Umbraco.Web.UI/App_Data/Logs/*
133+
/src/Umbraco.Web.UI/App_Data/TEMP/TypesCache/*
134+
/src/Umbraco.Web.UI/App_Data/TEMP/*
135+
/src/Umbraco.Web.UI/App_Data/Smidge/Cache/*
136+
/src/Umbraco.Web.UI/[Uu]mbraco/[Ll]ogs
137+
/src/Umbraco.Web.UI/[Uu]mbraco/[Dd]ata/*
138+
/src/Umbraco.Web.UI/[Uu]mbraco/[Mm]odels/*
139+
/src/Umbraco.Web.UI/[Vv]iews/*.vbhtml
140+
/src/Umbraco.Web.UI/appsettings.json
141+
/src/Umbraco.Web.UI/appsettings.Development.json
142+
/src/Umbraco.Web.UI/appsettings.Local.json
143+
144+
145+
src/Umbraco.Tests.Integration/umbraco/Data/
146+
src/Umbraco.Tests.Integration/umbraco/logs/
147+
148+
src/Umbraco.Tests.Integration/Views/
149+
150+
src/Umbraco.Tests/TEMP/
151+
152+
src/Umbraco.Tests.UnitTests/umbraco/Data/TEMP/
153+
src/Umbraco.Tests.Integration.SqlCe/umbraco/Data/TEMP/
154+
src/Umbraco.Tests.Integration.SqlCe/DatabaseContextTests.sdf
155+
156+
src/Umbraco.Web.UI/umbraco/config/appsettings-schema.json

src/Umbraco.Core/Configuration/Models/ImagingCacheSettings.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ namespace Umbraco.Cms.Core.Configuration.Models
1212
/// </summary>
1313
public class ImagingCacheSettings
1414
{
15-
internal const string StaticBrowserMaxAge = "7.00:00:00"; // TimeSpan.FromDays(7);
16-
internal const string StaticCacheMaxAge = "365.00:00:00"; // TimeSpan.FromDays(365);
15+
internal const string StaticBrowserMaxAge = "7.00:00:00";
16+
internal const string StaticCacheMaxAge = "365.00:00:00";
1717
internal const int StaticCachedNameLength = 8;
18-
internal const string StaticCacheFolder = "../umbraco/mediacache";
18+
internal const string StaticCacheFolder = Constants.SystemDirectories.TempData + "/MediaCache";
1919

2020
/// <summary>
2121
/// Gets or sets a value for the browser image cache maximum age.

src/Umbraco.Tests.Integration/TestServerTest/UmbracoTestServerTestBase.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,15 +134,17 @@ protected string PrepareUrl(string url)
134134
public override void ConfigureServices(IServiceCollection services)
135135
{
136136
services.AddTransient<TestUmbracoDatabaseFactoryProvider>();
137+
138+
Core.Hosting.IHostingEnvironment hostingEnvironment = TestHelper.GetHostingEnvironment();
137139
TypeLoader typeLoader = services.AddTypeLoader(
138140
GetType().Assembly,
139-
TestHelper.GetHostingEnvironment(),
141+
hostingEnvironment,
140142
TestHelper.ConsoleLoggerFactory,
141143
AppCaches.NoCache,
142144
Configuration,
143145
TestHelper.Profiler);
144146

145-
var builder = new UmbracoBuilder(services, Configuration, typeLoader);
147+
var builder = new UmbracoBuilder(services, Configuration, typeLoader, TestHelper.ConsoleLoggerFactory, TestHelper.Profiler, AppCaches.NoCache, hostingEnvironment);
146148

147149
builder
148150
.AddConfiguration()

src/Umbraco.Tests.Integration/Testing/UmbracoIntegrationTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ public virtual void ConfigureServices(IServiceCollection services)
212212
TestHelper.Profiler);
213213
var builder = new UmbracoBuilder(services, Configuration, typeLoader, TestHelper.ConsoleLoggerFactory, TestHelper.Profiler, AppCaches.NoCache, hostingEnvironment);
214214

215-
builder.Services.AddLogger(TestHelper.GetHostingEnvironment(), TestHelper.GetLoggingConfiguration(), Configuration);
215+
builder.Services.AddLogger(hostingEnvironment, TestHelper.GetLoggingConfiguration(), Configuration);
216216

217217
builder.AddConfiguration()
218218
.AddUmbracoCore()

src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilder.ImageSharp.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public static IServiceCollection AddUmbracoImageSharp(this IUmbracoBuilder build
5151
return Task.CompletedTask;
5252
};
5353
})
54-
.Configure<PhysicalFileSystemCacheOptions>(options => options.CacheFolder = imagingSettings.Cache.CacheFolder)
54+
.Configure<PhysicalFileSystemCacheOptions>(options => options.CacheFolder = builder.BuilderHostingEnvironment.MapPathContentRoot(imagingSettings.Cache.CacheFolder))
5555
// We need to add CropWebProcessor before ResizeWebProcessor (until https://github.com/SixLabors/ImageSharp.Web/issues/182 is fixed)
5656
.RemoveProcessor<ResizeWebProcessor>()
5757
.AddProcessor<CropWebProcessor>()

0 commit comments

Comments
 (0)