An error occurred in template Page._additionalHead.ftl for Content with ID 7519548.
Show Details
FreemarkerView[template=/jar:id:contentproperty:/Themes/insinkerator/templates/insinkerator-templates.jar/archive!/META-INF/resources/WEB-INF/templates/insinkerator/com.coremedia.blueprint.common.contentbeans/Page._additionalHead.ftl]
com.coremedia.blueprint.cae.contentbeans.PageImpl$$[navigation=com.coremedia.blueprint.cae.contentbeans.CMChannelImpl[id=7519548], content=com.coremedia.blueprint.cae.contentbeans.CMChannelImpl[id=7519548]]
Error rendering view
Current store context is not set.
com.coremedia.blueprint.cae.contentbeans.PageImpl$$
com.coremedia.objectserver.dataviews.DataView
com.coremedia.dispatch.HasCustomType
com.coremedia.blueprint.cae.contentbeans.PageImpl
com.coremedia.blueprint.common.contentbeans.Page
com.coremedia.blueprint.cae.contentbeans.AbstractPageImpl
com.coremedia.blueprint.common.contentbeans.AbstractPage
com.coremedia.blueprint.common.datevalidation.ValidityPeriod
com.coremedia.objectserver.dataviews.AssumesIdentity
java.lang.Object
com.coremedia.objectserver.view.ViewException: Error rendering view
at com.coremedia.objectserver.view.ViewUtils.rethrow(ViewUtils.java:344)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:154)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:184)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:124)
at com.coremedia.objectserver.view.freemarker.impl.CAEFreemarkerFacadeImpl.include(CAEFreemarkerFacadeImpl.java:159)
at jdk.internal.reflect.GeneratedMethodAccessor288.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1552)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.visitAndTransform(Environment.java:514)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:184)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:124)
at com.coremedia.objectserver.view.freemarker.impl.CAEFreemarkerFacadeImpl.include(CAEFreemarkerFacadeImpl.java:159)
at jdk.internal.reflect.GeneratedMethodAccessor288.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1552)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.visitAndTransform(Environment.java:514)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:122)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:113)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:334)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:336)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:336)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:113)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:334)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:152)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:109)
at com.coremedia.objectserver.view.BeanView.renderMergedOutputModel(BeanView.java:63)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1401)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1145)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1084)
at com.coremedia.objectserver.web.DispatcherServlet.doDispatch(DispatcherServlet.java:69)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.livecontext.fragment.FragmentContextProvider.doFilter(FragmentContextProvider.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.PreviewViewFilter.doFilterInternal(PreviewViewFilter.java:48)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:289)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.SiteFilter.doFilter(SiteFilter.java:54)
at com.emerson.globalization.web.filter.VirtualSiteFilter.doFilter(VirtualSiteFilter.java:40)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.livecontext.preview.PreviewMarkerFilter.doFilter(PreviewMarkerFilter.java:35)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.livecontext.ecommerce.filter.CommerceConnectionFilter.doFilter(CommerceConnectionFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.SiteFilter.doFilter(SiteFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:117)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.emerson.blueprint.component.cae.csrf.CsrfLegacyTokenGetterFilter.doFilterInternal(CsrfLegacyTokenGetterFilter.java:19)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.RequestRejectedExceptionFilter.doFilter(RequestRejectedExceptionFilter.java:41)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1787)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.coremedia.blueprint.base.livecontext.ecommerce.common.NoStoreContextAvailable: Current store context is not set.
at com.coremedia.blueprint.base.livecontext.ecommerce.common.CurrentStoreContext.lambda$get$0(CurrentStoreContext.java:31)
at java.base/java.util.Optional.orElseThrow(Optional.java:408)
at com.coremedia.blueprint.base.livecontext.ecommerce.common.CurrentStoreContext.get(CurrentStoreContext.java:31)
at com.emerson.web.taglib.EmersonFreemarkerFacade.getStoreContext(EmersonFreemarkerFacade.java:552)
at jdk.internal.reflect.GeneratedMethodAccessor373.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1552)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.ReturnInstruction.accept(ReturnInstruction.java:38)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.Environment.invokeFunction(Environment.java:841)
at freemarker.core.MethodCall._eval(MethodCall.java:65)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.Assignment.accept(Assignment.java:134)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
... 196 more

Before you begin, make sure you have the right tools. Measurement doesn’t require a specialist kit, but you’ll need a tape measure, a straight edge and grid paper as a minimum. If you’re tech-minded, laser levels and laser distance measures exist – they’re extremely precise and easy to use, but by no means necessary.

Start with the basics

Firstly, draw the outline of your kitchen and take the following base measurements. These should all be noted down on a large sheet of grid paper in a clear, legible fashion. 

  1. Measure the width of the walls. You should measure at the base, in the middle and at the ceiling – walls are rarely square and yours could surprise you.
  2. Once you’ve measured the width, measure the height. Follow the same idea as the width – measure at the corners and in the middle of the wall to capture any variation.
  3. Next is doorways. You need the distance from the corner of the walls to the edge of the door trim, the total width of the doorway (including trim) and the height of the door (again, including trim).
  4. Follow the same process with windows – from the corner of the walls to the edge of the window trim, the width and height of the window (including trim) and finally, the distance from the floor to the bottom of the window trim.
Read More...
Start with the basics
Start with the basics

5. Pipes, switches, vents and outlets also need to be marked. Measure from the corner of the wall to each specific item that will impact on the layout, functionality or design of your kitchen – this time, measure to the centre of the item and note the dimensions on your plan.

6. If you’re only renovating part of your kitchen, for example fitting new cabinets and countertops along one wall, then you only need to measure the relevant areas – although if you’ve got the tape measure out, it’s a good idea to measure up the rest of the room. After all, it’s sure to come in handy and save you time at a later date.

If you’re using a professional designer, they’ll be able to use this skeleton plan to begin designing your new kitchen. If this is the case, make sure to note the position of the sink, cooker and electrical outlets – unless you want major plumbing and gas works, these might not change too much!

If you’re designing the kitchen yourself, this is where the creative part comes in. Sketch in the desired locations of appliances, sink(s), countertops and furniture. Use the measurements you’ve taken earlier to estimate the space available – this can always be tweaked when you find the exact appliances, fixtures and fittings you’ll be ordering.


Quality-check your work

Quality-check your work

Once you’ve sketched in your dream kitchen, it’s time to make sure the reality will match the picture that’s in your head and check your design against accepted standards. The important things to check are as follows:

- Is it appropriately lit? A well-lit kitchen will include a mix of ambient lighting for atmosphere, task lighting for practical tasks and accent lighting to highlight the showpiece areas of the room. Let our in-depth guide to choosing the right kitchen lighting be your guide.

Read More...
Quality-check your work


- Is there enough space for preparation, cooking, cleaning and handling? There’s no point in cramming every appliance and feature under the sun into your kitchen if you don’t leave enough space to work in. At a minimum, you should allow:

  • 15 inches of countertop space on the handle side of the refrigerator, or within 48 inches of the refrigerator front.
  • 15 inches of countertop space to one side of an oven. If countertop space is opposite the oven, ensure the route does not intersect a walkway.
  • 15 inches of countertop space to the handle side of a microwave.
  • 24 inches of countertop space to one side of a sink, and 18 inches on the other.
  • At least 36 inches by 24 inches in the primary food preparation area.
  • The dishwasher should be located no more than 36 inches from the countertop space allocated to the sink.

Where countertop space intersects – e.g. if the landing space for the oven and microwave are the same piece of countertop – then you should add a minimum of 12 inches.

These are suggested minimum guidelines, not hard-and-fast rules – if you frequently cook for groups of people or create complex multi-stage meals, for example, you may wish to allocate more countertop space. On the other hand, if you live alone and never have much washing up to do, the countertop space to one side of the sink can be reduced.

- Is the ‘work triangle’ suitable? The primary work triangle is the area covered between the sink, fridge and oven/hob. This area should be minimised to make meal preparation more efficient. You should also make sure that no ‘traffic’ comes through the work triangle, to avoid people walking through your meal prep area.

- Is there space for bins? Bins aren’t glamorous, but you’d soon miss them! Make sure there’s a waste receptacle within easy reach of the sink, and another for recycling in a convenient spot.

- Are there enough electrical outlets? Not being able to find a spare plug is a real frustration that can be minimised with careful planning. Make sure to consider all likely uses – where will household members charge their phones? What appliances will be plugged in regularly? Will you have plug-in LED lights in cabinets? If in doubt, nobody regrets having too many spare outlets.


Please enable JavaScript to use this website.