<?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>SlimPHP &#8211; Aimeos</title>
	<atom:link href="https://aimeos.org/tips/category/slimphp/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:49:40 +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>SlimPHP &#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>
	</channel>
</rss>
