<?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>web harvesting</title>
	<atom:link href="http://www.webharvesting.com.au/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webharvesting.com.au</link>
	<description>e-commerce consultancy</description>
	<lastBuildDate>Tue, 01 Aug 2017 01:22:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.2</generator>
		<item>
		<title>Generate an entity class in Symfony 3</title>
		<link>http://www.webharvesting.com.au/generate-an-entity-class-in-symfony-3/</link>
		<comments>http://www.webharvesting.com.au/generate-an-entity-class-in-symfony-3/#comments</comments>
		<pubDate>Fri, 19 May 2017 00:42:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.webharvesting.com.au/?p=645</guid>
		<description><![CDATA[Consider the following Doctrine configuration: Now suppose you have a table inside the database %mysql_dev_hfm_rds_symfony_db_name% called shopify_nav_order_sync, you can generate its entity class with the following commands: References: http://symfony.com/doc/current/doctrine.html#creating-the-database-tables-schema]]></description>
				<content:encoded><![CDATA[<p>Consider the following Doctrine configuration:</p>
<pre class="brush: bash; title: ; notranslate">
# Doctrine Configuration
doctrine:
    dbal:
        types:
            timestamp:  AppBundle\Type\TimeStamp
        default_connection: default
        connections:
            default:
                driver:   pdo_mysql
                host:     &quot;%mysql_dev_host%&quot;
                port:     &quot;%mysql_dev_port%&quot;
                dbname:   &quot;%mysql_dev_db_name%&quot;
                user:     &quot;%mysql_dev_user%&quot;
                password: &quot;%mysql_dev_password%&quot;
                charset:  UTF8
            hfm_rds_symfony:
                driver:   pdo_mysql
                host:     &quot;%mysql_dev_host%&quot;
                port:     &quot;%mysql_dev_port%&quot;
                dbname:   &quot;%mysql_dev_hfm_rds_symfony_db_name%&quot;
                user:     &quot;%mysql_dev_user%&quot;
                password: &quot;%mysql_dev_password%&quot;
                charset:  UTF8
            nav:
                driver:   sqlsrv
                host:     &quot;%mssql_test_host%&quot;
                port:     &quot;%mssql_test_port%&quot;
                dbname:   &quot;%mssql_test_db_name%&quot;
                user:     &quot;%mssql_test_user%&quot;
                password: &quot;%mssql_test_password%&quot;
                wrapper_class:  'AppBundle\Repository\NavQueriesRepository'
                schema_filter:  '/Shopify Sync Queue/'
                mapping_types:
                    timestamp: timestamp
    orm:
        auto_generate_proxy_classes: &quot;%kernel.debug%&quot;
        default_entity_manager: default
        entity_managers:
            default:
                connection: default
                naming_strategy: doctrine.orm.naming_strategy.underscore
                mappings:
                    AppBundle: ~
            shopify_nav_sync:
                connection: hfm_rds_symfony
                naming_strategy: doctrine.orm.naming_strategy.underscore
                mappings:
                    AppBundle: ~
            nav:
                connection: nav
                naming_strategy: doctrine.orm.naming_strategy.underscore
                mappings:
                    AppBundle: ~

</pre>
<p>Now suppose you have a table inside the database %mysql_dev_hfm_rds_symfony_db_name% called shopify_nav_order_sync, you can generate its entity class with the following commands:</p>
<pre class="brush: bash; title: ; notranslate">

php bin/console doctrine:mapping:import --force AppBundle --em=shopify_nav_sync --filter='\bShopifyNavOrderSync\b'

php bin/console doctrine:mapping:convert annotation --force ./src --filter='\bShopifyNavOrderSync\b'

php bin/console doctrine:generate:entities AppBundle:ShopifyNavOrderSync --path ./src

</pre>
<p>References:<br />
<a href="http://symfony.com/doc/current/doctrine.html#creating-the-database-tables-schema">http://symfony.com/doc/current/doctrine.html#creating-the-database-tables-schema</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webharvesting.com.au/generate-an-entity-class-in-symfony-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Activities</title>
		<link>http://www.webharvesting.com.au/activities/</link>
		<comments>http://www.webharvesting.com.au/activities/#comments</comments>
		<pubDate>Tue, 18 Apr 2017 00:20:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[node express development shopify drupal github npm]]></category>

		<guid isPermaLink="false">http://www.webharvesting.com.au/?p=629</guid>
		<description><![CDATA[stackoverflow.com Browserify, how to access main.js functions Symfony 2 Doctrine MS SQL Error npmjs shopify-connector drupal User lose workbench access editor privilege when a new role is assigned github.com An Express JS server prototype which allows you to upload a zip file on the Shopify assets dir getGiftCardsIterator and getGiftCards issues #57 &#160;]]></description>
				<content:encoded><![CDATA[<p><strong>stackoverflow.com</strong></p>
<ul>
<li><a href="http://stackoverflow.com/questions/25517201/browserify-how-to-access-main-js-functions/40033606#40033606">Browserify, how to access main.js functions</a></li>
<li><a href="http://stackoverflow.com/questions/29155903/symfony-2-doctrine-ms-sql-error/43461450#43461450">Symfony 2 Doctrine MS SQL Error</a></li>
</ul>
<p><strong>npmjs</strong></p>
<ul>
<li><a href="https://www.npmjs.com/package/shopify-connector">shopify-connector</a></li>
</ul>
<p><strong>drupal</strong></p>
<ul>
<li><a href="https://www.drupal.org/node/2862359">User lose workbench access editor privilege when a new role is assigned</a></li>
</ul>
<p><strong>github.com</strong></p>
<ul>
<li><a href="https://github.com/webharvesting/express_shopify_api">An Express JS server prototype which allows you to upload a zip file on the Shopify assets dir</a></li>
<li><a href="https://github.com/zf-fr/zfr-shopify/issues/57">getGiftCardsIterator and getGiftCards issues #57</a></li>
</ul>
<p>&nbsp;</p>
<style>
.post_content a {
    font-size: 1.3em;
}
</style>
]]></content:encoded>
			<wfw:commentRss>http://www.webharvesting.com.au/activities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>S3 bucket for Drupal 8 on Ubuntu 14 LTS</title>
		<link>http://www.webharvesting.com.au/s3-bucket-for-drupal-8-files-directory-on-ubuntu-14/</link>
		<comments>http://www.webharvesting.com.au/s3-bucket-for-drupal-8-files-directory-on-ubuntu-14/#comments</comments>
		<pubDate>Fri, 07 Oct 2016 02:08:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Amazon AWS]]></category>
		<category><![CDATA[Amazon EC2]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[Drupal 8]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.webharvesting.com.au/?p=606</guid>
		<description><![CDATA[1) Assuming you have sufficient privileges, under AWS S3 section, create a new bucket and edit Policy for Bucket pasting something like: 2) Install prerequisites on Ubuntu as for the following url: https://github.com/s3fs-fuse/s3fs-fuse/wiki/Installation-Notes Create the Security Credentials access file: /etc/passwd-s3fs which contains valid security credentials for the user your@email.com (Amazon Resource Name &#8211; ARN) in [...]]]></description>
				<content:encoded><![CDATA[<p>1)</p>
<p>Assuming you have sufficient privileges, under AWS S3 section, create a new bucket and edit Policy for Bucket pasting something like:</p>
<pre class="brush: bash; title: ; notranslate">
{
	&quot;Version&quot;: &quot;2012-10-17&quot;,
	&quot;Statement&quot;: [
		{
			&quot;Sid&quot;: &quot;&quot;,
			&quot;Effect&quot;: &quot;Allow&quot;,
			&quot;Principal&quot;: {
				&quot;AWS&quot;: &quot;arn:aws:iam::290631496796:user/your@email.com&quot;
			},
			&quot;Action&quot;: [
				&quot;s3:DeleteObject&quot;,
				&quot;s3:GetObject&quot;,
				&quot;s3:PutObjectAcl&quot;,
				&quot;s3:PutObject&quot;
			],
			&quot;Resource&quot;: &quot;arn:aws:s3:::yourbucket.name/*&quot;
		},
		{
			&quot;Sid&quot;: &quot;AllowPublicRead&quot;,
			&quot;Effect&quot;: &quot;Allow&quot;,
			&quot;Principal&quot;: {
				&quot;AWS&quot;: &quot;*&quot;
			},
			&quot;Action&quot;: &quot;s3:GetObject&quot;,
			&quot;Resource&quot;: &quot;arn:aws:s3:::yourbucket.name/*&quot;
		}
	]
}
</pre>
<p>2)</p>
<p>Install prerequisites on Ubuntu as for the following url:<br />
<a href="https://github.com/s3fs-fuse/s3fs-fuse/wiki/Installation-Notes" target="_blank">https://github.com/s3fs-fuse/s3fs-fuse/wiki/Installation-Notes</a></p>
<p>Create the Security Credentials access file:</p>
<p>/etc/passwd-s3fs</p>
<p>which contains valid security credentials for the user your@email.com (Amazon Resource Name &#8211; ARN) in the following format:</p>
<p>AWSACCESSKEYID:AWSSECRETACCESSKEY</p>
<p>then type:</p>
<pre class="brush: bash; title: ; notranslate">
sudo chmod 640 /etc/passwd-s3fs
</pre>
<p>3)</p>
<p>Tar and backup the current Drupal files directory, re-create it, mount the S3 bucket and copy there the tar:</p>
<pre class="brush: bash; title: ; notranslate">
cd /home/ubuntu/workspace/drupal8_root/sites/default/files
tar cvzf all.tgz *
mv all.tgz ..
cd ..
mv files files_drupal8_bk
mkdir files
sudo s3fs yourbucket.name files -o allow_other
cp all.tgz files
cd files
tar xvzf all.tgz
rm all.tgz
</pre>
<p>4) </p>
<p>Auto mount:</p>
<p>in /etc/fstab add the following line:</p>
<pre class="brush: bash; title: ; notranslate">
yourbucket.name /home/ubuntu/workspace/drupal8_root/sites/default/files fuse.s3fs _netdev,allow_other 0 0
</pre>
<p>Test it with:</p>
<pre class="brush: bash; title: ; notranslate">
mount -a
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.webharvesting.com.au/s3-bucket-for-drupal-8-files-directory-on-ubuntu-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running Magento scripts from browser</title>
		<link>http://www.webharvesting.com.au/run-magento-scripts-from-browser/</link>
		<comments>http://www.webharvesting.com.au/run-magento-scripts-from-browser/#comments</comments>
		<pubDate>Sun, 22 Nov 2015 22:16:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://www.webharvesting.com.au/?p=585</guid>
		<description><![CDATA[On Magento CMS create a page with the following content Then create the template with the main code magento/app/design/frontend/base/default/template/cms/template.phtml Which calls your class: magento/my_script_class.php]]></description>
				<content:encoded><![CDATA[<p>On Magento CMS create a page with the following content</p>
<pre class="brush: bash; title: ; notranslate">
{{block type=&quot;core/template&quot; template=&quot;cms/template.phtml&quot;}}
</pre>
<p>Then create the template with the main code<br />
magento/app/design/frontend/base/default/template/cms/template.phtml</p>
<pre class="brush: bash; title: ; notranslate">
&lt;?php
require_once 'my_script_class.php';
$shell = new My_Script_Class();
try {
    $shell-&gt;run();
    echo &quot;Done\n&quot;;
} catch( Exception $e) {
    echo $e-&gt;getMessage();
}
</pre>
<p>Which calls your class:</p>
<p>magento/my_script_class.php</p>
<pre class="brush: bash; title: ; notranslate">
&lt;?php
class My_Script_Class_Shell {
code goes here ..
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.webharvesting.com.au/run-magento-scripts-from-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Images</title>
		<link>http://www.webharvesting.com.au/images/</link>
		<comments>http://www.webharvesting.com.au/images/#comments</comments>
		<pubDate>Sun, 28 Jun 2015 11:40:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Ubuntu Imagemagick Resize Images Image Bulk]]></category>

		<guid isPermaLink="false">http://www.webharvesting.com.au/?p=573</guid>
		<description><![CDATA[Computer Screens Resizing *.JPG images to 1280px width, maintaining ratio, using Imagemagick on Ubuntu 14.04]]></description>
				<content:encoded><![CDATA[<p>Computer Screens</p>
<pre class="brush: bash; title: ; notranslate">
Dimensions (width x height) Aspect Ratio Description

320 x 200 1.6 CGA (color)
640 x 200 3.2 CGA (monochrome)
640 x 350 1.83 EGA
640 x 480 1.333 VGA
720 x 348 2.07 Hercules
1024 x 768 1.333 XGA
1280 x 1024 1.25
1366 x 768 1.78 widescreen
1600 x 1200 1.333
1680 x 1050 1.6 widescreen
1920 x 1200 1.6 widescreen

</pre>
<p>Resizing *.JPG images to 1280px width, maintaining ratio, using Imagemagick on Ubuntu 14.04</p>
<pre class="brush: bash; title: ; notranslate">
convert '*.JPG' -resize 1280 resized%03d.jpg
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.webharvesting.com.au/images/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git</title>
		<link>http://www.webharvesting.com.au/git/</link>
		<comments>http://www.webharvesting.com.au/git/#comments</comments>
		<pubDate>Thu, 08 Jan 2015 04:22:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[Git]]></category>

		<guid isPermaLink="false">http://www.webharvesting.com.au/?p=564</guid>
		<description><![CDATA[Show current config: Add new origin Change current origin Delete local and remote branch (which have the same name) In order to update a repository to reflect the above changes Revert not committed local changes Modified files Untracked files Undo all not committed changes Undo merge when it stops because a conflict Remove a file [...]]]></description>
				<content:encoded><![CDATA[<p>Show current config:</p>
<pre class="brush: bash; title: ; notranslate">
 git config -l
</pre>
<p>Add new origin</p>
<pre class="brush: bash; title: ; notranslate">
git remote add origin https://fnarbone@bitbucket.org/fnarbone/deploy_test.git
</pre>
<p>Change current origin</p>
<pre class="brush: bash; title: ; notranslate">
git remote set-url origin https://fnarbone@bitbucket.org/fnarbone/deploy_test.git
</pre>
<p>Delete local and remote branch (which have the same name)</p>
<pre class="brush: bash; title: ; notranslate">
git branch -d branch_name
git push origin :branch_name
</pre>
<p>In order to update a repository to reflect the above changes</p>
<pre class="brush: bash; title: ; notranslate">
git fetch -t
</pre>
<p>Revert not committed local changes</p>
<p>Modified files</p>
<pre class="brush: bash; title: ; notranslate">
git checkout .
</pre>
<p>Untracked files</p>
<pre class="brush: bash; title: ; notranslate">
git clean -f 
</pre>
<p>Undo all not committed changes</p>
<pre class="brush: bash; title: ; notranslate">
git reset --hard HEAD
git clean -fd
</pre>
<p>Undo merge when it stops because a conflict</p>
<pre class="brush: bash; title: ; notranslate">
git merge --abort
</pre>
<p>Remove a file from version control</p>
<pre class="brush: bash; title: ; notranslate">
git rm --cached &lt;file_path&gt;
git commit
</pre>
<p>add it to .gitignore and commit again</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webharvesting.com.au/git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento virtual host on Nginx with ssl</title>
		<link>http://www.webharvesting.com.au/magento-https-with-ngnix/</link>
		<comments>http://www.webharvesting.com.au/magento-https-with-ngnix/#comments</comments>
		<pubDate>Fri, 02 Jan 2015 06:43:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.webharvesting.com.au/?p=550</guid>
		<description><![CDATA[/etc/nginx/sites-available/virtual-host]]></description>
				<content:encoded><![CDATA[<p>/etc/nginx/sites-available/virtual-host</p>
<pre class="brush: bash; title: ; notranslate">
server {
listen 80;
listen 443 ssl;

ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;

root /var/www/magentoee;
index index.php;

# Make site accessible from http://localhost/
server_name ee.magento.local;

location / {
try_files $uri $uri/ @handler;
}

location @handler { ## Magento uses a common front handler
rewrite / /index.php;
}

location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler
rewrite ^(.*.php)/ $1 last;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.webharvesting.com.au/magento-https-with-ngnix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>less &amp; sass</title>
		<link>http://www.webharvesting.com.au/less-and-sass/</link>
		<comments>http://www.webharvesting.com.au/less-and-sass/#comments</comments>
		<pubDate>Sun, 21 Sep 2014 04:09:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.webharvesting.com.au/?p=540</guid>
		<description><![CDATA[Install Compass+Ruby on Ubuntu 14.04 A Comprehensive Introduction to LESS: Mixins]]></description>
				<content:encoded><![CDATA[<p><a href="https://gist.github.com/stephou0104/233b5c99884f1d8c8b8b" target="_blank">Install Compass+Ruby on Ubuntu 14.04</a></p>
<p><a href="http://www.sitepoint.com/a-comprehensive-introduction-to-less-mixins/" target="_blank">A Comprehensive Introduction to LESS: Mixins</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webharvesting.com.au/less-and-sass/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Postfix</title>
		<link>http://www.webharvesting.com.au/postfix/</link>
		<comments>http://www.webharvesting.com.au/postfix/#comments</comments>
		<pubDate>Fri, 12 Sep 2014 20:51:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[MTA]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[relay]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.webharvesting.com.au/?p=531</guid>
		<description><![CDATA[Configure Postfix to filter outgoing emails. This is useful during the development process when you may need to work with a production database to prevent sending unwanted emails. Configure Postfix to Use Gmail SMTP on Ubuntu https://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/]]></description>
				<content:encoded><![CDATA[<p>Configure Postfix to filter outgoing emails. This is useful during the development process when you may need to work with a production database to prevent sending unwanted emails.</p>
<pre class="brush: bash; title: ; notranslate">
sudo apt-get install postfix (install it as'internet site')
sudo apt-get install postfix-pcre

cd /etc/postfix, add the following line at the end in main.cf:

header_checks = pcre:/etc/postfix/regexp.rules

create the file /etc/postfix/regexp.rules which has to contain something like:

if /^To:\s/
!/([^@]+@webharvesting\.com\.au|fabio\.narbone@gmail\.com|nicolo\.narbone@gmail\.com)/     REJECT
endif
</pre>
<p>Configure Postfix to Use Gmail SMTP on Ubuntu</p>
<p><a href="https://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/" target="_blank">https://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webharvesting.com.au/postfix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySql</title>
		<link>http://www.webharvesting.com.au/mysql/</link>
		<comments>http://www.webharvesting.com.au/mysql/#comments</comments>
		<pubDate>Wed, 10 Sep 2014 03:12:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.webharvesting.com.au/?p=526</guid>
		<description><![CDATA[Create a user and grant all privileges on a db]]></description>
				<content:encoded><![CDATA[<p>Create a user and grant all privileges on a db</p>
<pre class="brush: bash; title: ; notranslate">
grant all privileges on db_name.* to 'new_user'@'%' identified by 'password';
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.webharvesting.com.au/mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
