<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Neos &#8211; Aimeos</title>
	<atom:link href="https://aimeos.org/tips/category/neos/feed/" rel="self" type="application/rss+xml" />
	<link>https://aimeos.org/tips</link>
	<description>ultra fast PHP e-commerce framework</description>
	<lastBuildDate>Tue, 17 Nov 2020 16:56:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.7.8</generator>

<image>
	<url>https://aimeos.org/tips/wp-content/uploads/2019/09/Aimeos_e_200-100x104.png</url>
	<title>Neos &#8211; Aimeos</title>
	<link>https://aimeos.org/tips</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Aimeos 2019.10 LTS release</title>
		<link>https://aimeos.org/tips/aimeos-2019-10-lts-release/</link>
					<comments>https://aimeos.org/tips/aimeos-2019-10-lts-release/#comments</comments>
		
		<dc:creator><![CDATA[aimeos]]></dc:creator>
		<pubDate>Wed, 23 Oct 2019 17:14:11 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[Neos]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[SlimPHP]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[TYPO3]]></category>
		<guid isPermaLink="false">https://aimeos.org/tips/?p=437</guid>

					<description><![CDATA[The new 2019.10 branch of the Aimeos e-commerce framework with long term support (LTS) contains lots of helpful improvements. The most important ones are: AI-based translation of texts with DeepL Customizable product datasets Manage multiple tax rates Watermarks for images Bulk<span class="ellipsis">&#8230;</span><div class="read-more"><a href="https://aimeos.org/tips/aimeos-2019-10-lts-release/">Read more <span class="screen-reader-text">Aimeos 2019.10 LTS release</span><span class="meta-nav"> &#8250;</span></a></div><!-- end of .read-more -->]]></description>
										<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-287" src="https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px.jpg" alt="" width="1200" height="630" srcset="https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px.jpg 1200w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-300x158.jpg 300w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-768x403.jpg 768w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-1024x538.jpg 1024w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-100x53.jpg 100w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-150x79.jpg 150w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-200x105.jpg 200w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-450x236.jpg 450w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-600x315.jpg 600w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-900x473.jpg 900w" sizes="(max-width: 1200px) 100vw, 1200px" /></p>
<p>The new 2019.10 branch of the Aimeos e-commerce framework with long term support (LTS) contains lots of helpful improvements. The most important ones are:</p>
<ul>
<li>AI-based translation of texts with DeepL</li>
<li>Customizable product datasets</li>
<li>Manage multiple tax rates</li>
<li>Watermarks for images</li>
<li>Bulk delete and reorder items</li>
<li>Bulk order form for B2B and B2C</li>
<li>Add new columns/properties to managers/items easily</li>
</ul>
<p><span id="more-437"></span></p>
<h2>AI-based text translation</h2>
<p><a href="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-translate.png"><img class="alignright wp-image-461" src="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-translate-300x105.png" alt="" width="330" height="115" srcset="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-translate-300x105.png 300w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-translate-100x35.png 100w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-translate-150x52.png 150w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-translate-200x70.png 200w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-translate-450x157.png 450w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-translate-600x209.png 600w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-translate.png 660w" sizes="(max-width: 330px) 100vw, 330px" /></a>Translations based on machine learning algorithms are quite good now. <a href="https://deepl.com">DeepL</a> is the best translation service currently available and it supports all major western languages. To use it, you need a DeepL API account for developers and configure the DeepL base URL and the authentication key:</p>
<div>
<pre>admin/jqadm/api/translate/url = 'https://api.deepl.com/v2'
admin/jqadm/api/translate/key = '&lt;your-deepl-auth-key&gt;'</pre>
<p>Afterwards, you can translate texts of all supported languages to another language using the translate icon in the header of the text panel.</p>
</div>
<h2>Customizable product datasets</h2>
<p><a href="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-dataset.png"><img class="alignleft wp-image-465" src="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-dataset-300x105.png" alt="" width="330" height="115" srcset="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-dataset-300x105.png 300w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-dataset-100x35.png 100w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-dataset-150x52.png 150w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-dataset-200x70.png 200w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-dataset-450x157.png 450w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-dataset-600x209.png 600w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-dataset.png 660w" sizes="(max-width: 330px) 100vw, 330px" /></a>Other shops offer customizable attribute sets where you can define for e.g. a T-Shirt product which attribute types are required (most likely color and size in that case) but Aimeos now offers much more! Instead of attribute sets only, you can create a product template for almost all panels in the admin interface.</p>
<p>For example, a product template can automatically add a required category or related product drop-down, a media download item as well as pre-configured text and price items, stock and so on. Anything that should be entered can be automatically shown by the product template, e.g.</p>
<pre>'admin' =&gt; ['jqadm' =&gt; ['dataset' =&gt; ['product' =&gt; [
    'T-Shirt' =&gt; [
        'characteristic' =&gt; ['variant' =&gt; [['attribute.type' =&gt; 'color'], ['attribute.type' =&gt; 'size']]],
        'catalog' =&gt; ['default' =&gt; [[]]],
        'related' =&gt; ['suggest' =&gt; [[]]],
        'media' =&gt; [['media.type' =&gt; 'download']],
        'price' =&gt; [['price.currencyid' =&gt; 'EUR', 'price.taxrate' =&gt; '19.00']],
        'text' =&gt; [['text.type' =&gt; 'name'], ['text.type' =&gt; 'short', 'text.languageid' =&gt; 'de']],
        'stock' =&gt; [['stock.type' =&gt; 'default']],
    ]]],
],</pre>
<h2>Manage multiple tax rates</h2>
<p><a href="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multitax.png"><img class="alignright wp-image-452" src="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multitax-300x105.png" alt="" width="330" height="115" srcset="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multitax-300x105.png 300w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multitax-100x35.png 100w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multitax-150x52.png 150w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multitax-200x70.png 200w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multitax-450x157.png 450w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multitax-600x209.png 600w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multitax.png 660w" sizes="(max-width: 330px) 100vw, 330px" /></a>For countries having multiple tax rates for single products (e.g. state and local tax), you can configure the available tax types in the admin interface including the associated tax rates that will be prefilled.</p>
<p>To define additonal GST and PST tax rates for example, add this settings to your configuration:</p>
<pre>admin/tax/gst = 8.50
admin/tax/pst = 7.25</pre>
<p>Then, the tax types can also be translated using &#8220;taxgst&#8221; and &#8220;taxpst&#8221; in the &#8220;client/code&#8221; translation domain.</p>
<h2>Watermarks for images</h2>
<p><a href="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-watermark.png"><img class="alignleft wp-image-468" src="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-watermark-300x300.png" alt="" width="250" height="250" srcset="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-watermark-300x300.png 300w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-watermark-150x150.png 150w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-watermark-100x100.png 100w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-watermark-200x200.png 200w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-watermark-450x450.png 450w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-watermark.png 500w" sizes="(max-width: 250px) 100vw, 250px" /></a>Protecting your images from being used in other shops or web sites can be useful if you put a lot of work into creating them. Aimeos can combine every preview image with a configured watermark image. This image should be a PNG image with a transparent background and a translucent water mark. For best result use the &#8220;Imagick&#8221; media class:</p>
<div>
<pre>controller/common/media/standard/options/image/watermark = /path/to/image.png
controller/common/media/standard/options/image/name = Imagick</pre>
</div>
<div style="clear: both;"></div>
<h2>Bulk order form for B2B and B2C</h2>
<p><a href="https://aimeos.org/tips/wp-content/uploads/2019/10/aimeos-bulkorder.png"><img class="size-medium wp-image-474 alignright" src="https://aimeos.org/tips/wp-content/uploads/2019/10/aimeos-bulkorder-300x130.png" alt="" width="300" height="130" srcset="https://aimeos.org/tips/wp-content/uploads/2019/10/aimeos-bulkorder-300x130.png 300w, https://aimeos.org/tips/wp-content/uploads/2019/10/aimeos-bulkorder-100x43.png 100w, https://aimeos.org/tips/wp-content/uploads/2019/10/aimeos-bulkorder-150x65.png 150w, https://aimeos.org/tips/wp-content/uploads/2019/10/aimeos-bulkorder-200x87.png 200w, https://aimeos.org/tips/wp-content/uploads/2019/10/aimeos-bulkorder-450x195.png 450w, https://aimeos.org/tips/wp-content/uploads/2019/10/aimeos-bulkorder.png 600w" sizes="(max-width: 300px) 100vw, 300px" /></a>There&#8217;s a new HTML client component available for adding multiple articles to the basket quickly. This bulk order component is located above the basket by default but can be placed anywhere.</p>
<p>It supports finding products by name as well as by their SKU which makes it equally useful for B2B and B2C customers.</p>
<h2>Bulk delete and reorder items</h2>
<p><img class="wp-image-456 alignleft" src="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multidelete-300x105.png" alt="" width="330" height="115" srcset="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multidelete-300x105.png 300w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multidelete-100x35.png 100w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multidelete-150x52.png 150w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multidelete-200x70.png 200w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multidelete-450x157.png 450w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multidelete-600x209.png 600w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-multidelete.png 660w" sizes="(max-width: 330px) 100vw, 330px" />Deleteing several items at once in the list view is extremely useful for clean ups. Like seen in various other backends, you can select multiple items by clicking on the check boxes on the left. You can also select all visible items at once in the list and delete them with one click at the cross symbol in the header of the table.</p>
<p>The modal dialog which opens now informs you also about the names of the items that are going to be deleted to avoid deleting items you don&#8217;t want to remove.</p>
<p><a href="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-reorder-attributes.png"><img class="wp-image-457 alignright" src="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-reorder-attributes-300x105.png" alt="" width="330" height="115" srcset="https://aimeos.org/tips/wp-content/uploads/2019/10/blog-reorder-attributes-300x105.png 300w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-reorder-attributes-100x35.png 100w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-reorder-attributes-150x52.png 150w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-reorder-attributes-200x70.png 200w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-reorder-attributes-450x157.png 450w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-reorder-attributes-600x209.png 600w, https://aimeos.org/tips/wp-content/uploads/2019/10/blog-reorder-attributes.png 660w" sizes="(max-width: 330px) 100vw, 330px" /></a>Another useful capability for editors is to modify the order of attributes, media, prices and texts in their panels. Therefore, it&#8217;s not necessary any more to remove and add items again to enforce a certain order of the items.</p>
<p>To move items around, simply drag them by using the &#8220;move&#8221; handle (arrowed cross) and drop them at the position where they should be placed. It&#8217;s available for all saved items but not for new ones due to restrictions in the browsers (file uploads are read only for example).</p>
<h2>Extend managers/items easily</h2>
<p>Before 2019.10, you had to extend both, manager and item and overwrite several methods in these classes. By extending the classes it was hard to combine 3rd party extensions and own code. This is gone now! Instead of extending managers and items, you can <strong>stack manager decorators</strong> that care about saving and searching additional column values. Addionally, all items contain <strong>generic get() and set() methods</strong> so there&#8217;s no need to extend the items any more.</p>
<p>For more information, there&#8217;s an article explaining <strong><a href="https://aimeos.org/docs/Developers/Library/Extend_managers_items#Easy_way">how to add own columns</a></strong> easily.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://aimeos.org/tips/aimeos-2019-10-lts-release/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Aimeos 2019.07 stable release</title>
		<link>https://aimeos.org/tips/aimeos-2019-07-stable-release/</link>
					<comments>https://aimeos.org/tips/aimeos-2019-07-stable-release/#respond</comments>
		
		<dc:creator><![CDATA[aimeos]]></dc:creator>
		<pubDate>Mon, 29 Jul 2019 17:12:49 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[Neos]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[SlimPHP]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[TYPO3]]></category>
		<guid isPermaLink="false">https://aimeos.org/tips/?p=347</guid>

					<description><![CDATA[The most important changes in the Aimeos 2019.07 release are: Responsive images Responsive e-mails with MJML Multiple tax rates per price Customizable XML order export Address management in user profile Responsive images Finally, Aimeos contains support for responsive images of<span class="ellipsis">&#8230;</span><div class="read-more"><a href="https://aimeos.org/tips/aimeos-2019-07-stable-release/">Read more <span class="screen-reader-text">Aimeos 2019.07 stable release</span><span class="meta-nav"> &#8250;</span></a></div><!-- end of .read-more -->]]></description>
										<content:encoded><![CDATA[<p><a href="https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px.jpg"><img class="aligncenter size-full wp-image-287" src="https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px.jpg" alt="" width="1200" height="630" srcset="https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px.jpg 1200w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-300x158.jpg 300w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-768x403.jpg 768w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-1024x538.jpg 1024w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-100x53.jpg 100w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-150x79.jpg 150w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-200x105.jpg 200w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-450x236.jpg 450w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-600x315.jpg 600w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-900x473.jpg 900w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></p>
<p>The most important changes in the Aimeos 2019.07 release are:</p>
<ul>
<li>Responsive images</li>
<li>Responsive e-mails with MJML</li>
<li>Multiple tax rates per price</li>
<li>Customizable XML order export</li>
<li>Address management in user profile</li>
</ul>
<p><span id="more-347"></span></p>
<h2>Responsive images</h2>
<p>Finally, Aimeos contains support for responsive images of several sizes using the &#8220;srcset&#8221; attribute supported by the &lt;img&gt; tag in HTML5. By default, the Aimeos media controller creates three different preview images with 240px, 720px and 2160px width for each uploaded or imported and resized image. The original file is left unscaled if not configured otherwise and is used as source if images need to be rescaled to different sizes. In the frontend, those images are used in the list and details views like this:</p>
<pre>&lt;img src="/path/to/preview1" srcset="/path/to/preview1 240w, /path/to/preview2 720w, /path/to/preview3 2160w" /&gt;</pre>
<p>The smallest preview is always used as fallback if the browser doesn&#8217;t support image srcsets (<a href="https://caniuse.com/#search=srcset">like IE 11</a>). You should configure different images sizes depending on your frontend layout and the images widths that are required using the <a href="https://github.com/aimeos/aimeos-core/blob/master/config/controller.php#L31-L43">controller/common/media/standard/previews</a> setting. Aimeos also supports cropping images exactly to the configured size automatically when you add the <em>&#8216;fit&#8217;=&gt;true</em> setting for each preview image configuration.</p>
<h2>Responsive e-mails with MJML</h2>
<p>E-mails in Aimeos have been responsive since the beginning but e-mail clients displayed them very differently due to various built-in limitations in the clients. Now, we use the MJML framework for responsive e-mails that generates HTML code from a custom markup language that looks very similar in all major e-mail clients. The new order confirmation e-mail is now displayed like this in the clients (click for full size):</p>
<p><a href="https://aimeos.org/tips/wp-content/uploads/2019/07/responsive-email.png"><img class="aligncenter size-thumbnail wp-image-348" src="https://aimeos.org/tips/wp-content/uploads/2019/07/responsive-email-150x150.png" alt="" width="150" height="150" /></a></p>
<p>If you would like to know more about responsive e-mails in Aimeos and how to adapt them to your own project, please have a look into our <a href="https://aimeos.org/tips/responsive-emails-with-mjml-in-aimeos/">Aimeos MJML article</a>.</p>
<h2>Multiple tax rates</h2>
<p>For countries where federal and local taxes apply to product prices, Aimeos now supports multiple tax rates per price item. Those tax rates and their calculated tax values will be listed separately in the basket, checkout and the e-mails:</p>
<p><a href="https://aimeos.org/tips/wp-content/uploads/2019/07/aimeos-multiple-tax.png"><img class="aligncenter wp-image-354" src="https://aimeos.org/tips/wp-content/uploads/2019/07/aimeos-multiple-tax-300x180.png" alt="" width="600" height="360" srcset="https://aimeos.org/tips/wp-content/uploads/2019/07/aimeos-multiple-tax-300x180.png 300w, https://aimeos.org/tips/wp-content/uploads/2019/07/aimeos-multiple-tax-768x461.png 768w, https://aimeos.org/tips/wp-content/uploads/2019/07/aimeos-multiple-tax-100x60.png 100w, https://aimeos.org/tips/wp-content/uploads/2019/07/aimeos-multiple-tax-150x90.png 150w, https://aimeos.org/tips/wp-content/uploads/2019/07/aimeos-multiple-tax-200x120.png 200w, https://aimeos.org/tips/wp-content/uploads/2019/07/aimeos-multiple-tax-450x270.png 450w, https://aimeos.org/tips/wp-content/uploads/2019/07/aimeos-multiple-tax-600x360.png 600w, https://aimeos.org/tips/wp-content/uploads/2019/07/aimeos-multiple-tax-900x540.png 900w, https://aimeos.org/tips/wp-content/uploads/2019/07/aimeos-multiple-tax.png 1000w" sizes="(max-width: 600px) 100vw, 600px" /></a></p>
<p>Each tax rate contains of a code and the tax rate value stored within each price item and the custom tax codes can be translated for the frontend.</p>
<h2>Customizable XML order export</h2>
<p>All who need exports of Aimeos orders including all details in XML format can use the new Aimeos <a href="https://github.com/aimeos/aimeos-core/blob/master/lib/mshoplib/src/MShop/Service/Provider/Delivery/Xml.php"><em>Xml</em> delivery service provider</a>. It generates one local file at the configured location when the order/service/delivery job controller is executed. All orders created since the last run are then part of each file. A stripped example of the XML is:</p>
<pre>&lt;<span class="pl-ent">orders</span>&gt;
    &lt;<span class="pl-ent">orderitem</span>&gt;
        &lt;<span class="pl-ent">invoice</span>&gt;...&lt;/<span class="pl-ent">invoice</span>&gt;
        &lt;base&gt;...&lt;/base&gt;
        &lt;address&gt;
            &lt;addressitem&gt;...&lt;/addressitem&gt;
        &lt;/address&gt;
        &lt;product&gt;
            &lt;productitem&gt;...&lt;/productitem&gt;
        &lt;/product&gt;
        &lt;service&gt;
            &lt;serviceitem&gt;...&lt;/serviceitem&gt;
        &lt;/service&gt;
        &lt;coupon&gt;
            &lt;couponitem&gt;...&lt;/couponitem&gt;
        &lt;/coupon&gt;
    &lt;/<span class="pl-ent">orderitem</span>&gt;
&lt;/<span class="pl-ent">orders</span>&gt;</pre>
<p>The provider uses <a href="https://github.com/aimeos/aimeos-core/tree/master/lib/mshoplib/templates/service/provider/delivery">two templates</a> to generate the XML files so you are able to create a custom XML file by simply overwriting these template files.</p>
<h2>User address management</h2>
<p>Up to now, users have been able to change their addresses only during the checkout process. Their changes are stored automatically and this is still the prefered way because it&#8217;s most user friendly. As alternative, the Aimeos user page can contain the account/<em>profile</em> component which offers managing billing and delivery addresses too:</p>
<p><a href="https://aimeos.org/tips/wp-content/uploads/2019/07/account-profile-address.png"><img class="aligncenter wp-image-358" src="https://aimeos.org/tips/wp-content/uploads/2019/07/account-profile-address.png" alt="" width="600" height="384" srcset="https://aimeos.org/tips/wp-content/uploads/2019/07/account-profile-address.png 703w, https://aimeos.org/tips/wp-content/uploads/2019/07/account-profile-address-300x192.png 300w, https://aimeos.org/tips/wp-content/uploads/2019/07/account-profile-address-100x64.png 100w, https://aimeos.org/tips/wp-content/uploads/2019/07/account-profile-address-150x96.png 150w, https://aimeos.org/tips/wp-content/uploads/2019/07/account-profile-address-200x128.png 200w, https://aimeos.org/tips/wp-content/uploads/2019/07/account-profile-address-450x288.png 450w, https://aimeos.org/tips/wp-content/uploads/2019/07/account-profile-address-600x384.png 600w" sizes="(max-width: 600px) 100vw, 600px" /></a></p>
<p>The new release also contains a lot of minor improvements and fixes you can find in the <a href="https://github.com/aimeos">commit history of the repositories</a>. Updated packages are available for <a href="https://aimeos.org/TYPO3">TYPO3</a>, <a href="https://aimeos.org/Laravel">Laravel</a>, <a href="https://aimeos.org/Symfony">Symfony</a>, <a href="https://aimeos.org/SlimPHP">SlimPHP</a> and <a href="https://aimeos.org/Flow">Flow</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://aimeos.org/tips/aimeos-2019-07-stable-release/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Aimeos 2019.04 stable release</title>
		<link>https://aimeos.org/tips/aimeos-2019-04-stable-release/</link>
					<comments>https://aimeos.org/tips/aimeos-2019-04-stable-release/#respond</comments>
		
		<dc:creator><![CDATA[aimeos]]></dc:creator>
		<pubDate>Thu, 02 May 2019 08:22:07 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[Neos]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[SlimPHP]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[TYPO3]]></category>
		<guid isPermaLink="false">https://aimeos.org/tips/?p=283</guid>

					<description><![CDATA[&#160; The stable 2019.04 release contains some major improvements: Improved core APIs and rewritten frontend controllers XML importer for attributes, categories, customers, products and suppliers Increased performance for complex queries More SEO friendly URLs Improved APIs The Aimeos core already<span class="ellipsis">&#8230;</span><div class="read-more"><a href="https://aimeos.org/tips/aimeos-2019-04-stable-release/">Read more <span class="screen-reader-text">Aimeos 2019.04 stable release</span><span class="meta-nav"> &#8250;</span></a></div><!-- end of .read-more -->]]></description>
										<content:encoded><![CDATA[<h2><a href="https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px.jpg"><img class="aligncenter size-full wp-image-287" src="https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px.jpg" alt="" width="1200" height="630" srcset="https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px.jpg 1200w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-300x158.jpg 300w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-768x403.jpg 768w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-1024x538.jpg 1024w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-100x53.jpg 100w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-150x79.jpg 150w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-200x105.jpg 200w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-450x236.jpg 450w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-600x315.jpg 600w, https://aimeos.org/tips/wp-content/uploads/2019/04/aimeos-release-grafik_1200x630px-900x473.jpg 900w" sizes="(max-width: 1200px) 100vw, 1200px" /></a></h2>
<p>&nbsp;</p>
<p>The stable 2019.04 release contains some major improvements:</p>
<ul>
<li>Improved core APIs and rewritten frontend controllers</li>
<li>XML importer for attributes, categories, customers, products and suppliers</li>
<li>Increased performance for complex queries</li>
<li>More SEO friendly URLs</li>
</ul>
<p><span id="more-283"></span></p>
<h2>Improved APIs</h2>
<p>The Aimeos core already offered an easy to learn API for working with managers, items and providers. All methods are now supporting fluent interfaces if possible so method calls can be chained like:</p>
<pre>$item = $manager-&gt;createItem()-&gt;fromArray( $map )
    -&gt;setType( 'default' )-&gt;addPropertyItem( $propItem );</pre>
<p>Additionally, the frontend controller API for working with the shop objects efficiently in the HTML clients and the JSON REST API has been completely overhauled. All objects contain simple, fluent methods that can be concatenated like in the core library. Implementing your own product list in the frontend is now only a matter of a few easy to understand calls:</p>
<pre>$products = \Aimeos\Controller\Frontend::create( $context, 'product' )
   -&gt;uses( ['text', 'price', 'media' )-&gt;category( 123 )-&gt;text( 'sneaker' )
   -&gt;sort( 'name' )-&gt;slice( 0, 48 )-&gt;search();</pre>
<p>This statement would retrieve the first 48 products with texts, prices and images that are in category &#8220;123&#8221; and contain the text &#8220;sneaker&#8221; sorted by their names. In Laravel, facades simplify working with the frontend controller even more:</p>
<pre>$products = Product::uses( ['text', 'price', 'media' )-&gt;category( 123 )
   -&gt;text( 'sneaker' )-&gt;sort( 'name' )-&gt;slice( 0, 48 )-&gt;search();</pre>
<h2>XML importer</h2>
<p>It&#8217;s now possible to import attributes, categories, customers, products and suppliers using Aimeos XML files. They are as flexible as the Aimeos data structures so you can import all items in a document oriented way. A simple example for a product XML import file would be:</p>
<pre>&lt;products&gt;
    &lt;product ref="test-article"&gt;
       &lt;product.type&gt;event&lt;/product.type&gt;
       &lt;product.code&gt;test-article&lt;/product.code&gt;
       &lt;product.label&gt;Test event&lt;/product.label&gt;
       &lt;product.datestart&gt;2000-01-01T10:00:00&lt;/product.datestart&gt;
       &lt;lists&gt;
          &lt;text&gt;&lt;textitem&gt;...&lt;/textitem&gt;&lt;/text&gt;
          &lt;price&gt;&lt;priceitem&gt;...&lt;/priceitem&gt;&lt;/price&gt;
          &lt;media&gt;&lt;mediaitem&gt;...&lt;/mediaitem&gt;&lt;/media&gt;
       &lt;/lists&gt;
    &lt;/product&gt;
&lt;/products&gt;</pre>
<p>The product XML export job produces the same XML format so you can share data between different Aimeos instances too.</p>
<h2>Performance</h2>
<p>Aimeos has gotten faster once more. Complex queries which ask for entries that reference items from other domains or have properties of a specific value are now lightning fast in all DBMS when using the *:has and *:prop search functions. To fetch all products which reference a specific attribute use:</p>
<pre>$search = $manager-&gt;createSearch();
$func = $search-&gt;createFunction( 'product:has', ['attribute', 'default', 123 );
$search-&gt;setConditions( $search-&gt;combine( '!=', $func, null ) );
$products = $manager-&gt;searchItems();</pre>
<p>To get notfied about queries which take longer than one second, a monitoring similar to the MySQL slowlog is now active. Furthermore, using utf8mb4 as charset in MySQL doesn&#8217;t have a performance drawback any more so it&#8217;s now used by default. Existing setups are migrated towards this charset if possible (requires MySQL &gt;= 5.7.8).</p>
<h2>SEO friendly URLs</h2>
<p>In the past, Aimeos required the product ID to be part of the URL. Due to the simplifed index for product texts which contains the product URL name and due to optimized routes, the URLs of all detail pages can now look like</p>
<pre>https://shop.com/My_cool_product</pre>
<p>The product name in the URL can be localized for each language of corse.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://aimeos.org/tips/aimeos-2019-04-stable-release/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Aimeos 2019.01 major release</title>
		<link>https://aimeos.org/tips/aimeos-2019-01-major-release/</link>
					<comments>https://aimeos.org/tips/aimeos-2019-01-major-release/#comments</comments>
		
		<dc:creator><![CDATA[aimeos]]></dc:creator>
		<pubDate>Wed, 30 Jan 2019 10:47:52 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[Neos]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[SlimPHP]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[Aimeos]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[release]]></category>
		<guid isPermaLink="false">https://aimeos.org/tips/?p=241</guid>

					<description><![CDATA[The new beta version contains a lot of improvements and focuses on: Even more performance Developer experience Code cleanup Performance improvements Aimeos is already known as ultra fast e-commerce solution for Laravel, Symfony, SlimPHP, TYPO3 and Flow/NeosCMS even for complex requirements. This release pushes<span class="ellipsis">&#8230;</span><div class="read-more"><a href="https://aimeos.org/tips/aimeos-2019-01-major-release/">Read more <span class="screen-reader-text">Aimeos 2019.01 major release</span><span class="meta-nav"> &#8250;</span></a></div><!-- end of .read-more -->]]></description>
										<content:encoded><![CDATA[<p><a href="https://aimeos.org/tips/wp-content/uploads/2019/01/pit-crew-583024_1000.jpg"><img class="aligncenter size-full wp-image-243" src="https://aimeos.org/tips/wp-content/uploads/2019/01/pit-crew-583024_1000.jpg" alt="" width="1000" height="666" srcset="https://aimeos.org/tips/wp-content/uploads/2019/01/pit-crew-583024_1000.jpg 1000w, https://aimeos.org/tips/wp-content/uploads/2019/01/pit-crew-583024_1000-300x200.jpg 300w, https://aimeos.org/tips/wp-content/uploads/2019/01/pit-crew-583024_1000-768x511.jpg 768w, https://aimeos.org/tips/wp-content/uploads/2019/01/pit-crew-583024_1000-100x67.jpg 100w, https://aimeos.org/tips/wp-content/uploads/2019/01/pit-crew-583024_1000-150x100.jpg 150w, https://aimeos.org/tips/wp-content/uploads/2019/01/pit-crew-583024_1000-200x133.jpg 200w, https://aimeos.org/tips/wp-content/uploads/2019/01/pit-crew-583024_1000-450x300.jpg 450w, https://aimeos.org/tips/wp-content/uploads/2019/01/pit-crew-583024_1000-600x400.jpg 600w, https://aimeos.org/tips/wp-content/uploads/2019/01/pit-crew-583024_1000-900x599.jpg 900w" sizes="(max-width: 1000px) 100vw, 1000px" /></a></p>
<p>The new beta version contains a lot of improvements and focuses on:</p>
<ul>
<li>Even more performance</li>
<li>Developer experience</li>
<li>Code cleanup</li>
</ul>
<p><span id="more-241"></span></p>
<h2>Performance improvements</h2>
<p>Aimeos is already known as ultra fast e-commerce solution for Laravel, Symfony, SlimPHP, TYPO3 and Flow/NeosCMS even for complex requirements. This release pushes the limits teared down by <a href="https://aimeos.com/gigacommerce/">Aimeos #gigacommerce</a> further with render times of 20ms and below if content caching is enabled. Without caching, response times are exceptional too compared to other shop systems and in the 2019.01 release, we reduced that time further.</p>
<p>First, we denormalized tables that use types, so the type code is now stored directly instead of the type ID. This saves several database queries per request. Additionally, it&#8217;s possible to retrieve related data for e.g. products filtered by type:</p>
<pre>$manager-&gt;searchItems( $filter, ['text', 'price', 'product' =&gt; ['suggestion'] );</pre>
<p>This fetches related products of type &#8220;suggestion&#8221; only instead of all related products. Especially for shops with many relations, this can be a huge performance improvement if components can&#8217;t be cached.</p>
<p>PHP 7.3 promises another huge performance improvement and we are testing that version every time. Unfortunately, there&#8217;s a bug in PHP 7.3 with prevents production usage yet. It seems that the PHP developers over-optimized opcode caching so PHP 7.3 produces wrong results: <a href="https://bugs.php.net/bug.php?id=77310">https://bugs.php.net/bug.php?id=77310</a></p>
<h2>Simplifications for developers</h2>
<p>One of the major goals for this Aimeos release was to simplify interfaces so the first steps for new developers are easier. As a result, creating managers, controllers and clients requires only:</p>
<pre>$manager = \Aimeos\MShop::create( $context, 'product' );
$cntl = \Aimeos\Controller\Frontend::create( $context, 'catalog' );
$client = \Aimeos\Client\Html::create( $context, 'catalog/lists' );</pre>
<p>Items with relations are fetched recursively now and a decorator limits the recursion depth to two levels. The allowed depth is configurable like everything else in Aimeos. This allows you to get all releated data you need at one without fetching and merging data from several calls to searchItems():</p>
<pre>$products = $manager-&gt;searchItems( $filter, ['product', 'price', 'text] );</pre>
<p>For bundle and selection products, the items in the result list contains the bundled and variant articles including prices, texts and related products.</p>
<p>Also, all newly created items have the status &#8220;enabled&#8221; by default and must be explicitly disabled if required. This saves many calls to &#8220;setStatus()&#8221; especially when implementing a new importer. The frontend controllers allow multiple category IDs for filtering so it&#8217;s possible to search for<br />
products in multiple categories with one method call.</p>
<h2>Code cleanups</h2>
<p>Finally, a lot of old code has been removed due to the switch to document oriented managment of items. Especially in the index managers and the filter criteria implementation was some code left after the changes required to use ElasticSearch natively.</p>
<p>The 2019.x releases are the last ones that will support PHP 5 as 5.6 isn&#8217;t maintained any more since this year. You should use PHP 7 nevertheless to get the best performance.</p>
<p>For a full list of backward incompatible changes, please have a look at the Wiki article. BC breaking changes in 2019.01 are listed up to 2018-12-31:</p>
<p><a href="https://aimeos.org/docs/Developers/Changelog/2019">https://aimeos.org/docs/Developers/Changelog/2019</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://aimeos.org/tips/aimeos-2019-01-major-release/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Setup a working Neos CMS environment</title>
		<link>https://aimeos.org/tips/setup-a-working-neos-cms-environment/</link>
					<comments>https://aimeos.org/tips/setup-a-working-neos-cms-environment/#comments</comments>
		
		<dc:creator><![CDATA[aimeos]]></dc:creator>
		<pubDate>Thu, 23 Apr 2015 07:00:08 +0000</pubDate>
				<category><![CDATA[Neos]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://aimeos.org/tips/?p=89</guid>

					<description><![CDATA[This article is for Neos 2.0 and thing might have changed in the meantime. At least the software packages are required in newer versions. Neos is well known for its well designed interface for editors who quickly fall in love<span class="ellipsis">&#8230;</span><div class="read-more"><a href="https://aimeos.org/tips/setup-a-working-neos-cms-environment/">Read more <span class="screen-reader-text">Setup a working Neos CMS environment</span><span class="meta-nav"> &#8250;</span></a></div><!-- end of .read-more -->]]></description>
										<content:encoded><![CDATA[<p><strong>This article is for Neos 2.0 and thing might have changed in the meantime. At least the software packages are required in newer versions.</strong></p>
<p><a title="Neos" href="https://neos.typo3.org/">Neos</a> is well known for its well designed interface for editors who quickly fall in love with the system. On the other hand, it&#8217;s also infamous for being hard to set up by starters due to its high demands towards the hosting environment. Someone also compared it to walking on a slack line: It&#8217;s easy to stumble and to get frustrated.</p>
<p><img width="750" height="275" class="image-inline aligncenter size-full wp-image-97" src="/tips/wp-content/uploads/2015/04/neos-error.png" alt="Neos error page" srcset="https://aimeos.org/tips/wp-content/uploads/2015/04/neos-error.png 750w, https://aimeos.org/tips/wp-content/uploads/2015/04/neos-error-300x110.png 300w, https://aimeos.org/tips/wp-content/uploads/2015/04/neos-error-100x37.png 100w, https://aimeos.org/tips/wp-content/uploads/2015/04/neos-error-150x55.png 150w, https://aimeos.org/tips/wp-content/uploads/2015/04/neos-error-200x73.png 200w, https://aimeos.org/tips/wp-content/uploads/2015/04/neos-error-450x165.png 450w, https://aimeos.org/tips/wp-content/uploads/2015/04/neos-error-600x220.png 600w" sizes="(max-width: 750px) 100vw, 750px" /></p>
<p>This article focuses on creating a hosting environment suited for Neos so you will be able to finish the Neos setup and get a running instance afterwards. I&#8217;m using Ubuntu 14.04 as reference but it also applies to other Linux distributions like Fedora, only the path names might differ a bit (<code>/etc/apache2/</code> vs. <code>/etc/httpd/</code>).</p>
<p><span id="more-89"></span></p>
<h2>Required software</h2>
<p>At first, you need to make sure that the required software is installed. Apache, MySQL and PHP might be obvious but that&#8217;s not enough. Especially the additional Apache and PHP modules are important to get it running at all. You will have a good start with these packages:</p>
<ul>
<li>Apache 2.2+</li>
<li>MySQL 5.1+</li>
<li>PHP 5.3.2+
<ul>
<li>mbstring</li>
<li>tokenizer</li>
<li>pdo_mysql</li>
</ul>
</li>
</ul>
<p>Even if the minimum requirement for PHP is version 5.3.2, it&#8217;s better to use newer versions for performance reasons. Also, the requirements for Neos will be PHP 5.5+ for Neos 2.0.</p>
<p>You can install the required packages via the package manager of your distribution (apt-get for Ubuntu/Debian, rpm for Fedora/SuSE):</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><ol><li class="li1"><pre class="de1"><span class="kw2">sudo</span> <span class="kw2">apt-get install</span> apache2 mysql-server libapache2-mod-php5 php5 php5-mysql</pre></li></ol></div></div></div></div></div></div></div>


<p>To check if all required PHP extensions are available, the easiest way is to place a short PHP file named <code>info.php</code> in your Apache document root directory (usually <code>/var/www/</code>) containing this content:</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="php"><ol><li class="li1"><pre class="de1"><span class="sy0">&amp;</span>lt<span class="sy0">;</span>?php <span class="kw3">phpinfo</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></li></ol></div></div></div></div></div></div></div>


<p>If you open <code>http://localhost/info.php</code> in your browser, the output will contain the environment, the configuration settings and the installed modules available in your installation. Search for the strings &#8220;mbstring&#8221;, &#8220;tokenizer&#8221; and &#8220;pdo_mysql&#8221;. There should be sections with this names in the rendered page.</p>
<h2>Apache configuration</h2>
<p>Most often, the first problems occur due to an insufficient Apache configuration. Neos uses .htaccess files and needs some modules that are not activated by default all the times. The &#8220;mod_rewrite&#8221; and &#8220;mod_env&#8221; modules are the best examples for this. To enable them in your Apache configuration, you need to execute these commands on the command line:</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><ol><li class="li1"><pre class="de1"><span class="kw2">sudo</span> a2enmod rewrite</pre></li><li class="li1"><pre class="de1"><span class="kw2">sudo</span> a2enmod <span class="kw2">env</span></pre></li></ol></div></div></div></div></div></div></div>


<p>If you got the message that one or both modules had been already enabled then this was set up correctly before.</p>
<p>The VHost configuration is another common source of problems and you have to adapt it for sure. The default configuration is located in <code>/etc/apache2/sites-enabled/000-default.conf</code> (in Fedora or other Linux distributions the files might be located somewhere else). In this file, change the <code>DocumentRoot</code> to the Neos <code>./Web/</code> directory, e.g.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="apache"><ol><li class="li1"><pre class="de1"><span class="kw1">DocumentRoot</span> /var/www/Neos/Web</pre></li></ol></div></div></div></div></div></div></div>


<p>Furthermore, you need to add a &#8220;Directory&#8221; directive below the &#8220;DocumentRoot&#8221; line to allow the Neos .htaccess file to add rewrite rules and some settings:</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="apache"><ol><li class="li1"><pre class="de1">	<span class="kw1">AllowOverride</span> <span class="kw2">All</span></pre></li></ol></div></div></div></div></div></div></div>


<p>If there&#8217;s already a &#8220;Directory&#8221; section available, replace it with the lines above.</p>
<div class="caution">Keep care that the named directory in the &#8220;Directory&#8221; directive is exactly the same as in the &#8220;DocumentRoot&#8221; AND contains a trailing slash (/).</div>
<p>The last task is to restart Apache:</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="bash"><ol><li class="li1"><pre class="de1"><span class="kw2">sudo</span> service apache2 restart</pre></li></ol></div></div></div></div></div></div></div>


<p>Now you should be at able to open at least <code>http://localhost/setup</code> in your browser but beware: <code>http://localhost/index.php/setup</code> <strong>still won&#8217;t work!</strong></p>
<h2>PHP configuration</h2>
<p>There are various PHP settings that can cause your Neos installation to fail. First of all you should have a look into the output of the <code>info.php</code> file again and check if one of the required PHP functions is disabled. This is often the case for security reasons in shared hosting environments and this leads to errors afterwards. Especially check the <code>disable_functions</code> line in the core section for:</p>
<ul>
<li>system</li>
<li>shell_exec</li>
<li>escapeshellcmd</li>
<li>escapeshellarg</li>
</ul>
<p>If non of these function is listed there, then you are on the safe side.</p>
<p>The next problems are lurking in your PHP configuration but that can be fixed either by adding a few lines to your <code>/etc/php5/apache2/php.ini</code> or to the <code>.htaccess</code> file in the Neos <code>./Web/</code> directory. When using the php.ini file you should add these lines at the end of the file:</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="apache"><ol><li class="li1"><pre class="de1">memory_limit = 256M</pre></li><li class="li1"><pre class="de1">magic_quotes_gpc = <span class="kw2">off</span> <span class="co1"># only for PHP 5.3 to be sure</span></pre></li><li class="li1"><pre class="de1">date.timezone = Europe/Berlin <span class="co1"># or any other valid timezone</span></pre></li><li class="li1"><pre class="de1">xdebug.max_nesting_level = <span class="nu0">500</span> <span class="co1"># only if XDebug extension is installed</span></pre></li></ol></div></div></div></div></div></div></div>


<p>In case you are allowed to overwrite settings also via the <code>.htaccess</code> file, you can add these lines to the <code>./Web/.htaccess</code> of your Neos installation:</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="apache"><ol><li class="li1"><pre class="de1"><span class="kw1">php_value</span> memory_limit = 256M</pre></li><li class="li1"><pre class="de1"><span class="kw1">php_flag</span> magic_quotes_gpc <span class="kw2">off</span> <span class="co1"># only for PHP 5.3 to be sure</span></pre></li><li class="li1"><pre class="de1"><span class="kw1">php_value</span> date.timezone Europe/Berlin <span class="co1"># or any other valid timezone</span></pre></li><li class="li1"><pre class="de1"><span class="kw1">php_value</span> xdebug.max_nesting_level <span class="nu0">500</span> <span class="co1"># only if XDebug extension is installed</span></pre></li></ol></div></div></div></div></div></div></div>


<p>Neos can be very memory consuming so even the standard memory limit of 128MB can be to low. Errors due to an insufficient memory limit are written to the Apache error log file (usually in <code>/var/log/apache2/error.log</code>) so it&#8217;s a good idea to keep an eye on the content of that file.</p>
<p>The <code>magic_quotes_gpc</code> directive has been removed in PHP 5.4 and was already deprecated before. To disable it for PHP 5.3 is only a safety measure for installations that have been constantly updated during the last years.</p>
<p>For the timezone value you can use any valid timezone if it fits better for your location. A list of valid timezones is available at the <a title="PHP valid time zones" href="http://php.net/manual/en/timezones.php">PHP web site</a>.</p>
<p>When you&#8217;ve installed the PHP XDebug extension you might run into error messages like <code>Maximum function nesting level of '...' reached</code>. Only in this case you need to increase the XDebug nesting level for functions.</p>
<h2>Done!</h2>
<p>Finally, you should be able to open the Neos setup page in your browser, that is available at <code>http://localhost/setup</code>. The rest of the installation is usually a non-brainer due to the nice setup routine provided by the Neos installer.</p>
<p>Afterwards you can enjoy Neos. Happy editing! <img src="https://s.w.org/images/core/emoji/13.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://aimeos.org/tips/setup-a-working-neos-cms-environment/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
