Very often I copy & paste settings from existing projects as I need them for most new projects. Or I help other people when they wonder how to achieve certain things in Neos.
To make things easier, here is a list of my top 10 settings in Flow & Neos CMS.
You can add them to your main Settings.yaml of your site package or create additional Settings.XYZ.yaml files where XYZ matches the topic of the settings it contains.
1. Disable session timeout during development
Neos: Flow: session: inactivityTimeout: 0
Annoyed when the Neos backend bothers you with a login popup when just wanted to test your new content element?
This will make sure that your backend session is still alive while you've been busy implementing your changes.
You can put this setting into Development/Settings.yaml in your Configuration folder, so it's only loaded during development.
2. Change default languages and fallbacks
Neos: Flow: i18n: defaultLocale: de fallbackRule: order: ['fr', 'en'] Neos: userInterface: defaultLanguage: de
Changes on the one hand the order in which translations and their fallbacks are loaded for plugins and other frontend code. But also the default backend interface language for new users.
Don't forget the fallbackRule or you might even get errors when your language has missing translations in some package.
3. Define global image quality
Neos: Media: image: defaultOptions: quality: 95 webp_quality: 95 jpeg_quality: 95 png_compression_level: 95
Defines the default image quality that the configured image library in Neos will use.
4. Remove application version from HTTP header
Neos: Flow: http: applicationToken: ApplicationName
By default the version of Flow & Neos is contained in the HTTP header. With this setting it will just say "Flow Neos".
5. Define initial tree loading depth
Neos: Neos: userInterface: navigateComponent: nodeTree: loadingDepth: 1 structureTree: loadingDepth: 2
This setting decreases the initial loading depth which can help with large or complex trees and long loading times.
If you have long loading times. Maybe you want to look into using ElasticSearch for querying the page tree.
6. Define responsive previews for the backend
Neos: Neos: userInterface: editPreviewModes: iphone: isEditingMode: false isPreviewMode: true fusionRenderingPath: '' title: 'iPhone' position: 100 width: 375px height: 667px backgroundColor: 'black' ipad: isEditingMode: false isPreviewMode: true fusionRenderingPath: '' title: 'iPad - landscape' position: 100 width: 1024px height: 768px backgroundColor: 'black'
These settings allow you to add additional preview modes in the backend to see how the selected page will look on small to large devices.
7. Additional groups for the creation dialog
Neos: Neos: nodeTypes: groups: myAdditionalTypes: position:'end' label: 'My additional rarely used types' collapsed: true
You have a lot of node types? Group them in a smart way and initially collapse groups with rarely needed types.
8. Disable html suffix in URL generation
Neos: Flow: mvc: routes: 'Neos.Neos': variables: defaultUriSuffix: ''
Bored of ".html" at the end of your urls? Disable it!
But don't do it in production without a redirect mechanism ;)
9. Spot untranslated labels in the backend
Neos: Neos: userInterface: scrambleTranslatedLabels: true
Only do this during development!
It will scramble all labels that are using the translation mechanism in Flow / Neos.
Everything that can still be read is either your data or untranslated labels.
10. Customize your login screen
Neos: Neos: backendLoginForm: backgroundImage: 'resource://My.Site/Public/Images/Login/MyLoginScreen.jpg' stylesheets: 'My.Site:LoginStyles': 'resource://My.Site/Public/Styles/Login.css'
You don't like our beautiful login background in each Neos version? Or you want to keep the one you like the most? Or you want to have your customer see something related to their company?
Simply change the background image to your liking.
You can even add your own stylesheet to override the Neos logo or make other changes.
There are a lot of settings in the Flow & Neos core packages. But the ones I mentioned should solve the most common issues.
But it's always a good idea to go into the Settings.yaml files of the packages you use and have a look around. Maybe you spot a helpful setting too!