What is an Ecommerce Privacy Policy?

What is an Ecommerce Privacy Policy?

What is an Ecommerce Privacy Policy?

A privacy policy is a statement that explains how a company collects, handles, stores, shares and protects customer’s personal and often sensitive information gathered through their interactions with a website. For an ecommerce store, this is crucial as it not only seen as a sign of credibility and trust, but also ensures that website owners are protected, along with their customers, whilst also adhering to their legal obligations. In the United States, Canada, the United Kingdom, Australia, and New Zealand, a privacy policy on any website that collect data from it’s users is required by law.

Why do you need an Ecommerce Privacy Policy?

Ecommerce store owners need to both limit their risk as well as manage the expectations of their customers to avoid any misunderstandings.

As an ecommerce store, you will undoubtedly be collecting personal information from customers and visitors to your site such as name, age, address, email and credit card details. For obvious reasons, many will want to know that this information is in safe hands so an accessible privacy policy on the website will demonstrate your commitment to security whilst helping to build confidence in your website and business.

A privacy policy also serves as protection from potential lawsuits from customers as well as other businesses. If your ecommerce site is sued, you can show that you have in place a publicly stated privacy policy that clearly declares what you do with the sensitive information collected.

Also, If your store has a payment gateway, they will likely require that you to have a privacy policy before approval is granted.

What should an Ecommerce Privacy Policy include?

A privacy policy should be written in a straightforward language so that it is easy to understand and helps to instill a sense of trust. A policy that is complex and full of technical jargon may scare off visitors to your site. Making your statement easy to read helps build trust. Ensuring that your policy addresses any questions a consumer may have about doing business with you and also addresses any issues that could potentially be of a concern.

A typical privacy policy on an ecommerce site might include:

  • What kind of information is collected from the visitor/customer and why it is required e.g. an email address is required for communication.
  • How the visitor’s/customer’s information is collected and securely stored.
  • Explain if data may be left on a user’s computer, such as cookies (which is often used to track the viewing habits of visitors, make it easier for returning customers to log in and remembers what products were added to the shopping cart. If you offer the option of avoiding cookies, inform them of the website features that will not be available to them as a result.
  • What you will do with the information collected and in what circumstances will it be released.
  • How, if any, of the collected information, is shared or even sold. If shared, it should include an opt-out option for those customers who don’t want their information disclosed to third parties.
  • How customers can review the information a website has collected from them and how they are able to change or delete that information
  • For what period of time is the information held for and who has access to the collected data.
  • The policy’s effective date and a description of any changes since then

How to Generate an Ecommerce Privacy Policy?

If you have the funds, you can hire an expert or a lawyer to help you draft your privacy policy. Many will often look around at competitor sites and tweak the policy to suit their own business. For those that barely have the time on their hands let alone the finances, there are many sites out there that provide privacy policy templates which helps businesses owners to generate one rather quickly and pain-free.

An  eCommerce Privacy Policy should be accurate, clear, concise and easy to find on a website.  Not only does it serve as a means of protection to the your online business in terms of addressing misunderstandings and potential lawsuits, it acts as an effective means of being transparent and credible, keeping you accountable for the sensitive data you collect, and building trust with your customers and visitors to your site.

Soa Technology

How to install missing woocommerce pages

How to install missing woocommerce pages

First Method

This can be done by:

  1. Go to the “System Status” tab on Woocommerce
  2. Click on the “Tools” tab at the top of the page
  3. On that page, the sixth option down is called “Install pages”.
  4. Clicking that will “install all the missing WooCommerce pages. Pages already defined and set up will not be replaced.”


Second Method

WooCommerce > 2.1.x Shortcodes:

[woocommerce_cart] – shows the cart page
[woocommerce_checkout] – shows the checkout page
[woocommerce_order_tracking] – shows the order tracking form
[woocommerce_my_account] – shows the user account page

WooCommerce < 2.1.x Shortcodes:

[woocommerce_edit_account] – Edit account pages
[woocommerce_change_password] – shows the change password page
[woocommerce_view_order] – shows the user account view order page
[woocommerce_logout] – shows the logout page
[woocommerce_pay] – shows the checkout pay page
[woocommerce_thankyou] – shows the order received page
[woocommerce_lost_password] – shows the lost password page
[woocommerce_edit_address] – shows the user account edit address page

Step 1.

Create new page and call it Cart. If cart page already exist WP will automatically call it cart-2 or whatever.

Step 2 Add [woocommerce_cart] shortcode on the page.

Step 3. Publish this page.

Step 4. Now go to woocommerce–>settings—>checkout—> look for check out pages—>under cart looku for cart page . Now save changes.

Zipping and Unzipping Files in UNIX

Zipping and Unzipping Files in UNIX

There are several methods of archiving files and retrieving archives. I recommend using the “zip” function to compress your files for its ease of use and portability. (Files zipped in Unix can be extracted using various tools on various platforms including Windows).

Below I have provided various “unzip” methods. The “right” unzip method depends upon the method used to zip the file. You can tell the zip method by the file extension (e.g., .zip, .tar, .gz, etc.)

Zipping Files Using ZIP

This Unix program is compatible with the zip program for Windows and most other operating systems. To zip files, first have the files uploaded to your server, then log into your account with SSH. Navigate to the directory where the files are that you want to zip (for instance by typing cd www then cd sounds to move to your/www/sounds directory). Then type:

zip myzip file1 file2 file3

This puts the files named file1, file2, and file3 into a new zip archive called myzip.zip.

Unzipping Files

Please note that the unzip method you use is defined by the filename you are trying to unzip. For example, if you are trying to unzip a file called file.tar – you would use the method described in “tar“. Files ending in .gzip or .gz need to be extracted with the method described in “gunzip“.

Zip

If you have an archive named myzip.zip and want to get back the files, you would type:

unzip myzip.zip

Typing zip or unzip by itself will give you a usage summary, showing nearly all the options available.

Tar

To extract a file compressed with tar (e.g., filename.tar), type the following command from your SSH prompt:

tar xvf filename.tar

Basically, this command means that you will see the file “explode”, so don’t worry when you see your screen scrolling wildly. It also means that you will see any errors in the archive.

Gunzip

To extract a file compressed with gunzip, type the following:

gunzip filename_tar.gz

then if you receive no errors, type:

tar xvf filename_tar

Example :
$ zip -r backupimg.zip profileimage (Make zip of profileimage folder and subfolder)
$ zip -r backupimg.zip . (Make zip of current folder and subfolder)

Install Latest Git on Centos

Install Latest Git on Centos

  1. Download with yum.yum install git
  2. If you need the latest, try to remove git first.yum remove git
  3. Change directory to tmp.cd /tmp
  4. Download the latest git https://github.com/git/git/releases. Example we use 2.16.curl -O -L https://github.com/git/git/archive/v2.16.0-rc2.tar.gz
  5. Extract tar.tar -zxvf v2.16.0-rc2.tar.gz
  6. Execute as root.
    cd git-v2.16.0
    make clean
    make configure
    sudo make install
  7. Check git version.git --version

how to uninstall git in centos

how to uninstall git in centos

If you were smart enough and used some non-standard prefix when configured Git so that it has been installed under a specific hierarchy, like under /opt/git, then just delete that hierarchy, recursively.

If not, then you could go like this:

1) Fetch the source tarball of exactly the version you built and installed, unpack.

2) Configure it exactly like you did with the original install with regard to installation locations (prefix, exec-prefix etc); supposedly you should just not override anything.

3) Create a temporary directory to perform installation, like this: $ mkdir /var/tmp/git

4) Install Git passing a proper DESTDIR variable to make: $ make DESTDIR=/var/tmp/git install The Git hierarchy will end up created under that temporary directory.

5) Use the created hierarchy to decide which files to delete under the real hierarchy (“/” itself).

The last step is where “the magic” happens so it bears more explanation. For instance, you could run

$ find /var/tmp/git -type f -printf '/%P\n' | xargs -n 10 rm -f

(as root) do delete the files installed by the first mis-installation into the root filesystem. The encantation above uses the /var/tmp/git hierarchy to print the list of files found, but it replaces the “/var/tmp/git” prefix in them with “/”, so that the “/var/tmp/git/usr/bin/git” in the output will end up listed as “/usr/bin/git”. This list is then piped to xargs which runs rm on the file names it reads in packs of ten (just to reduce the number of invocations of rm by one order of magnitude).

After dealing with files, run

$ find /var/tmp/git -type d -printf '/%P\n'

to inspect the list of installed directories. These require manual approach so just look at the generated list and think which of them you could safely rmdir from your system (these will be the directories like “/usr/libexec/git” or something like this; you wouldn’t probably want to delete “/usr/share/man/mann” or something even if it’s empty).

P.S. In the future never install anything into a system by running make install! Most makefiles these days do not support “uninstall” target as they are used to either installing into a private scratch location for testing or to make a package (.rpm, .deb etc) and then the package manager takes care of cleaning up. If you need to install something, try to find an official package or try to backport another official package from a more recent version of your OS, if available. As the last resort, try using the checkinstall tool which tries to create a binary package out of your make install run. This sucks, but still better than bare make install.

HOW CAN I CHANGE THE DOMAIN NAME FOR MY WORDPRESS SITE?

HOW CAN I CHANGE THE DOMAIN NAME FOR MY WORDPRESS SITE?

Via phpMyAdmin

  1. Access phpMyAdmin via your Control Panel. For instructions, please see: Accessing phpMyAdmin for your DV server.
  2. Click on the MySQL database for your WordPress blog. This opens phpMyAdmin in a new browser window or tab, depending on your browser preferences.
  3. Click on wp-options.
  4. Click on Edit on the line for siteurl. Repeat this process for the home row, also found in the wp_options table.
    Figure 5.
  5. Enter your new blog domain name and click the Go button. For this example, we are changing the domain from http://blog.dv-example.com to http://dv-example.com.
  6. Repeat this process for the home row, also found in the wp_options table.
  7. Be sure that you rename the folder to the new URL in FTP or the File Manager. That’s it!

TIP:

Remember that your WordPress Dashboard has now changed and will be using the URL you entered in Step 6.

HOW CAN I CHANGE THE DOMAIN NAME FOR MY WORDPRESS SITE?

HOW CAN I CHANGE THE DOMAIN NAME FOR MY WORDPRESS SITE?

Via WordPress Dashboard

  1. After moving your site files (if necessary), log into your your WordPress Dashboard as an administrator.
  2. Next, click on Settings from the menu, and then General.
    Click on General to get started.
  3. The two fields we’ll change are WordPress Address (URL) and Site Address (URL).
  4. Enter the URL you’d like to use. For this example, we’ll change the two fields to http://dv-example.com.
  5. Scroll down the page and click on the Save Changes button.
  6. Be sure that you rename the folder to the new URL in FTP or the File Manager.

That’s it!

TIP:

Remember that your WordPress Dashboard has now changed and will be using the URL you entered in Step 4.

CentOS crontab – Automate System Tasks

CentOS crontab – Automate System Tasks

We’ll show you, how to use CentOS crontab. How to automate system tasks on CentOS 7, using Centos crontab. Crontab software utility, is a time-based job scheduler in Unix-like operating systems. Cron is driven by a crontab (cron table) file, a configuration file that specifies shell commands to run periodically on a given schedule. The crontab files are stored where the lists of jobs and other instructions to the cron daemon are kept. Users can have their own individual crontab files and often there is a system-wide crontab file (usually in /etc or a subdirectory of /etc) that only system administrators can edit.


1. Connect via SSH and update the system software

First of all, connect to your Linux VPS via SSH and update all your system software to the latest version available. You can use the following command to do that:

sudo yum update

2.  Verify if cronie package is installed

To automate the system tasks, or better known as jobs under Linux, you can use an utility called Cron. Using Cron you can run scripts automatically within a specified period of time, create backup of your databases or other important files, monitor the services running on your server and many other things. To use the Cron utility, you need to install the cronie package on your system. It should be already installed on your server. To confirm, issue the following command:

sudo rpm -q cronie

3. Install cronie package

If it is not installed, you can use yum to install it. Yum is a package manager which you can use to install and manage software on CentOS 7. Run the command below:

sudo yum install cronie

4. Check if  crond service is running

The cron jobs are picked by the crond service. To check whether the crond service is running on your CentOS VPS, you can use the following command:

sudo systemctl status crond.service

5. Configure cron jobs

To configure cron jobs you need to modify the /etc/crontab file. Please note that it can only be modified by the root user. To check the current configuration, you can use the following command:

sudo cat /etc/crontab

The output should be similar to the one below:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
37 * * * * root run-parts /etc/cron.hourly
23 5 * * * root run-parts /etc/cron.daily
19 3 * * 0 root run-parts /etc/cron.weekly
23 0 6 * * root run-parts /etc/cron.monthly

As you can see the crontab file already contain explanation about how to define your own jobs. The syntax is the following:

minute hour day month day_of_week username command

An asterisk (*) in the crontab can be used to specify all valid values, so if you like command to be executed every day at midnight, you can add the following cron job:

0 0 * * * root /sample_command >/dev/null 2>&1

Your cron job will be run at:

2016-06-10 00:00:00
2016-06-11 00:00:00
2016-06-12 00:00:00
2016-06-13 00:00:00
2016-06-14 00:00:00
...

Specific users can create cron jobs too. The cron jobs for specific users are located in /var/spool/cron/username. When you create cron jobs for specific users you do not need to specify the username in the cron job. Therefore the syntax will be like the one below:

minute hour day month day_of_week command

6.  Restart the crond service

After you make the changes restart the crond service using the command below:

sudo systemctl restart crond.service

For more information you can check the man pages:

man cron

and

man crontab

If it is difficult for you to set up correct cron jobs at the beginning, you can use some cron job calculator to generate the cron job expression. There are several good cron job calculators available on the Internet.

Read Also: Ubuntu crontab


Of course you don’t have to use CentOs crontab, if you use one of our CentOS VPS hosting services, in which case you can simply ask our expert Linux admins to help you with crontab on CentOS to Automate system tasks. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post, on how to use the CentOS crontab,  please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

Factory Method Design Pattern

Factory Method Design Pattern

Intent

  • Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.
  • Defining a “virtual” constructor.
  • The new operator considered harmful.

Problem

A framework needs to standardize the architectural model for a range of applications, but allow for individual applications to define their own domain objects and provide for their instantiation.

Discussion

Factory Method is to creating objects as Template Method is to implementing an algorithm. A superclass specifies all standard and generic behavior (using pure virtual “placeholders” for creation steps), and then delegates the creation details to subclasses that are supplied by the client.

Factory Method makes a design more customizable and only a little more complicated. Other design patterns require new classes, whereas Factory Method only requires a new operation.

People often use Factory Method as the standard way to create objects; but it isn’t necessary if: the class that’s instantiated never changes, or instantiation takes place in an operation that subclasses can easily override (such as an initialization operation).

Factory Method is similar to Abstract Factory but without the emphasis on families.

Factory Methods are routinely specified by an architectural framework, and then implemented by the user of the framework.

Structure

The implementation of Factory Method discussed in the Gang of Four (below) largely overlaps with that of Abstract Factory. For that reason, the presentation in this chapter focuses on the approach that has become popular since.

Scheme of Factory Method

An increasingly popular definition of factory method is: a static method of a class that returns an object of that class’ type. But unlike a constructor, the actual object it returns might be an instance of a subclass. Unlike a constructor, an existing object might be reused, instead of a new object created. Unlike a constructor, factory methods can have different and more descriptive names (e.g. Color.make_RGB_color(float red, float green, float blue) andColor.make_HSB_color(float hue, float saturation, float brightness)

Scheme of Factory Method

The client is totally decoupled from the implementation details of derived classes. Polymorphic creation is now possible.

Scheme of Factory Method

Example

The Factory Method defines an interface for creating objects, but lets subclasses decide which classes to instantiate. Injection molding presses demonstrate this pattern. Manufacturers of plastic toys process plastic molding powder, and inject the plastic into molds of the desired shapes. The class of toy (car, action figure, etc.) is determined by the mold.

Example of Factory Method

Check list

  1. If you have an inheritance hierarchy that exercises polymorphism, consider adding a polymorphic creation capability by defining a static factory method in the base class.
  2. Design the arguments to the factory method. What qualities or characteristics are necessary and sufficient to identify the correct derived class to instantiate?
  3. Consider designing an internal “object pool” that will allow objects to be reused instead of created from scratch.
  4. Consider making all constructors private or protected.

Rules of thumb

  • Abstract Factory classes are often implemented with Factory Methods, but they can be implemented using Prototype.
  • Factory Methods are usually called within Template Methods.
  • Factory Method: creation through inheritance. Prototype: creation through delegation.
  • Often, designs start out using Factory Method (less complicated, more customizable, subclasses proliferate) and evolve toward Abstract Factory, Prototype, or Builder (more flexible, more complex) as the designer discovers where more flexibility is needed.
  • Prototype doesn’t require subclassing, but it does require an Initialize operation. Factory Method requires subclassing, but doesn’t require Initialize.
  • The advantage of a Factory Method is that it can return the same instance multiple times, or can return a subclass rather than an object of that exact type.
  • Some Factory Method advocates recommend that as a matter of language design (or failing that, as a matter of style) absolutely all constructors should be private or protected. It’s no one else’s business whether a class manufactures a new object or recycles an old one.
  • The new operator considered harmful. There is a difference between requesting an object and creating one. The new operator always creates an object, and fails to encapsulate object creation. A Factory Method enforces that encapsulation, and allows an object to be requested without inextricable coupling to the act of creation.