Skip to content

Month: February 2014

How to remove multiple products from Sales in WooCommerce?

This was interesting and not something I use to get in my day to day job.

A friend of mine is setting up a start-up business to sell English books in The Netherlands. The enthusiastic me offered the help, only to realise that  later that it isn’t a very straight forward (kind of) job to set up a web shop for a real business. And that too when someone wants to go with minimal budget.

Anyhow cutting it short, the web shop uses WooCommerce plugin for WordPress for running the day to day business. At one point of time, this guy decided to offer sales on lot of books only to decide later that he also wanted to introduce coupons. And I was like, what’s that problem in that.

Well, it turned out that he did not want to give away coupon discount on sale items. Although, Woo Commerce supports this functionality to limit the use of coupons there was another hesitation this fellow had. He did not want to disappoint consumers and distract them with two discount i.e. sales and coupon. So, he decided to get rid of sale offer completely. The biggest problem was that there are quite many books with sale offer and he asked my help if I can look into how it can be turned off in one go.

I came forward saying BIG DEAL, open Google and used by search skills but was disappointed by the results. There was no one who had offered the solution and most of them were kind of hack which were hiding the sale price either in CSS or in the PHP hack.

Not something which I wanted to do. So, I asked for the MySQL database credentials and started looking for SQL Server Management Studio alternative for MySQL. Hey, it was my first encounter with MySQL. Wasn’t difficult, and there is something called MySQL WorkBench.

The WordPress database is quite simple in schema and wasn’t difficult to reverse engineer. The first query I executed was like this:

UPDATE MyDataBase.PREFIX_postmeta
SET meta_value = ''
WHERE meta_key = '_sale_price'

The result was partially ok as the sales price disappeared from the product details (Sales Price), but the Price was of the product was still shown which was entered as Sales Price earlier. Btw, the sales icon etc. also disappeared from user interface.


After digging more into the data table, I price is actually stored in three places.

  1. Price
  2. Regular Price
  3. Sales Price

And I had only removed the sales price while Price still contains the value of the old sales price. So, I wrote the following query to update the Price value based on the Regular Price.

 MyDataBase.PREFIX_postmeta AS Price
INNER JOIN MyDataBase.PREFIX_postmeta AS RegularPrice ON
 RegularPrice.post_Id = Price.Post_Id
 Price.meta_value = RegularPrice.meta_value
 RegularPrice.meta_key = '_regular_price'
 AND Price.meta_key = '_price'
 AND RegularPrice.meta_value != Price.meta_value

That’s it. All the products in the shop are displaying the regular price and do not have any sales price anymore. This is quite handy if you have lots and lots of products and want to get rid of them in one shot.

Note: I don’t take any guarantee of the consequences of this script which can have any side effect on your database. And it is highly recommended that you take a backup of database before running any script to manipulate with the data.

Challenges in Distributed Software Development

Global software development (GSD), distributed software development and outsourcing are mainly the different names for a unique software development technique through which the clients get services from an outside organization known as vendors. Such type of software development scenarios involve communication for information exchange, coordination of groups and their members, planned activities and artifacts so that the overall efforts contribute towards achieving the overall objectives of the project.


It is widely believed that distributed collaboration involves challenges not inherent in collocated teams, including delayed feedback, restricted communication, less shared project awareness, difficulty of synchronous communication, inconsistent development and build environments, and lack of trust and confidence between sites.

Challenges in Distributed Software Development

The (Olson & Olson, 2000) account of distance effects grouped the account of challenges into four broad categories:

  1. Collaboration readiness: People either have to trust each other to do work of high quality and on time or they have to set up contracts to insure the work is done.
  2. Technology readiness: There is a wide range of kinds of technology that can assist in geographically distributed work, and if the team members have very limited experience it can constrain the tools that might be used. Does the organization have a good system of technical support that can be called upon as needed?
  3. Common ground: Effective collaboration requires that the participants have a common base of shared knowledge and vocabulary. This can be especially challenging for multidisciplinary collaborations. But participants in different locations also have very different contexts that can be a challenge for communication.
  4. Nature of the work: It is difficult to do tightly coupled or ambiguous work at a distance. Too much rich communication is required, and it will often take far longer to work out than if the tightly coupled work is done where people can work face‐to‐face.

On the other hand (RAMESH, et al., 2006) identified the following challenges in a global distributed team:

  1. Communication challenges: Communication can be one of the biggest challenge and obstacle in globally distributed team and it can happen in many forms. There could be difficulty in initiating the communication, misunderstanding or miscommunication, decreased frequency of communication due to cost, timer difference, staffing restrictions etc.
  2. Lack of control: For management it could be difficult to control process and quality across distributed teams
  3. Lack of trust: Lack of trust can be one of the factor which can really impact the performance of a team. It can lead of lowered morale with in the various team members.

(Cusumano, 2008) acknowledges that one of the biggest challenges is to apply an iterative or agile style of development when teams are large and not co-located. (Cusumano, 2008) also recognizes the importance of agile methodology because a lot of the research over the past decade on software engineering and product development in general has concluded that iterative approaches have lots of benefits, in contrast to traditional waterfall or sequential methods of developing new products.

One of the core component of agile is to adapt and implement. (RAMESH, et al., 2006) explains that in a globally distributed team some practices can be incorporated in the spirit of “lightweight” methods, and they meet the competing demands of distributed development as well. The practices are illustrated below:

Mapping between challenges and practices

However, (Olson & Olson, 2000) agree that that the future is promising. People are recognizing that distance matters and that they can do something about it with both social interventions and technical support for both awareness, information sharing, and communication.

Please let me know if you have ever worked in a distributed work environment and what is your take on it.

The Human element in Performance Management Systems


We live in a competitive world and one of the most important topic of attention for any organization is performance improvement and the role of performance management systems. A typical performance management system involves numerous activities, far more than simply reviewing what an employee has done. A performance management or performance management should be able to clearly express to an employee how he or she has performed with a certain time period and on the established goals. It’s also essential that this system and process support the employee and supervisor to mutually agree and set the goals for measurement. Additionally, it is also important that performance management not only focuses on feedback but also helps the employee to improve performance on looking the deficiencies or weaknesses.



Another important aspect of performance management system is documentation and any performance management would be incomplete if the proper documentation has not taken place. The documentation is not only required from the legal perspective such as if a supervisor has taken a decision to terminate an employee on the basis of performance basis, then the supervisor should be able to support his decision on the basis of past few (usually three or four) performance management reviews. Apart from this, the documentation helps the employees themselves to build up their goals, objectives and improvement areas on the basis of past review documentation.

Difficulties in Performance Management Systems

In any performance management system, there are three entities involved i.e. employees, appraisers or supervisors and the organization. The difficulties in any performance management system can be categorised into two categories with focus on individuals and process itself. An appraisal process is challenging for both employee and appraiser as it involves a lot of emotions. A difference on performance outcomes may lead to emotions overcoming both parties, a poor way for evaluations to be handled.

Wherever performance evaluations are conducted, a particular structure must be followed. An organisation’s policies and procedures may present barriers to a properly functioning appraisal process. For e.g., appraisers are poorly trained in how to evaluate an employee’s performance. This lack of training may lead appraisers to make judgment errors or permit biases to enter into the process.

The Performance Management Process

An appraisal or performance management process can be summarised by the figure below. The process should start early in the cycle for the period which employee would be appraised.

Figure 1: The appraisal process

The first step should be to establish the performance standards in accordance with the organization’s strategic goals. These performance standards should also be clear and objective enough to be understood and measured.

Once these standards are in place, they should be clearly communicated to the employees so that they do not have to guess what is expected from them.

The third step in the appraisal process is performance measurement. To determine what actual performance is, we need information about it. Four common sources of information frequently used by managers address how to measure actual performance: personal observation, statistical reports, oral reports, and written reports.

The fourth step in the appraisal process is the comparison of actual performance with standards. This step notes deviations between standard performance and actual performance.

One of the most challenging tasks facing appraisers is to present an accurate assessment to the employee. Appraising performance may touch on one of the most emotionally charged activities—evaluation of another individual’s contribution and ability.

The final step in the appraisal is the identification of corrective action where necessary. Corrective action can be of two types: one is immediate and deals predominantly with symptoms, and the other is basic and delves into causes.

Appraisal Methods

There are various existing approaches for performing appraisal. Authors have argued that no approach is always best and all of them have their own strength and weaknesses.

Evaluating Absolute Standards

The first group of appraisal methods uses absolute standards. This means that employees are compared to a standard, and their evaluation is independent of any other employee in a work group. Included in this group are the following methods: the critical incident appraisal, the checklist, the graphic rating scale, forced choice, and behaviourally anchored rating scales.

Relative Standards Methods

Another category of appraisal methods compares individuals against other individuals. These methods are relative standards rather than absolute measuring devices. The most popular of the relative methods are group order ranking, individual ranking, and paired comparison.

Using Achieved Outcomes to Evaluate Employees

The third approach to appraisal makes use of achieved performance outcomes. Employees are evaluated on how well they accomplished a specific set of objectives determined as critical in the successful completion of their job. This approach may be referred to as goal setting but is more commonly referred to as management by objectives (MBO).

Factors That Can Distort Appraisals

A completely error-free performance appraisal is only an ideal HRM professionals can aim for. In reality, most appraisals fall short, often through one or more actions that can significantly impede objective evaluation. The following shows the factors which can change the appraisals:

Leniency Error happens when the supervisor rates the employees either high or low compared to other appraisers. Based on that it can be either positive leniency or negative leniency error.

The Halo error or effect happens when the appraiser or evaluator rates all on all the competencies high or low on the basis of one particular competency.

Appraisers who are prone to the central tendency error are those who continually rate all employees as average.

When evaluators rate other people in the same way that the evaluators perceive themselves, they are making a similarity error.

Due to this perception that evaluators have of themselves, they project those perceptions onto others.

Attribution theory attempts to differentiate between elements the employee controls (internal) versus those the employee cannot control (external).

Creating More Effective Performance Management Systems

(A. DeCenzo, et al., 2009) suggest the following to be consider to create an effective performance management system.

Figure 2: Measures to create Effective Performance Management Systems

Though the list above is no cookbook for success, it can definitely help while formulating an effective appraisal system. To extend on the point of having multiple raters, there are few systems as described which can be of help.

Peer evaluations are conducted by the employees’ co-workers—people explicitly familiar with the behaviours involved in their jobs. A slight deviation from peer assessments is a process called the upward appraisal, or the reverse review. An appraisal device that seeks performance feedback from such sources as the person being rated, bosses, peers, team members, customers, and suppliers has become popular in organizations. This is known as 360 degree feedback system.


There are various theories and methodologies while it comes to performance management systems and doing an appraisal. There is no “one size fits all” way while establishing the performance management. The Managers and the appraisers involved in the process have to clearly understand that the performance management can be based on a certain guideline or methodology but it cannot be full proof as it involves emotional aspects of human beings both appraiser and the employee being rated.

Recommend Reading

If You Were a Poor Performer, You Wouldn’t Be Aware of It
What if Performance Management Focused on Strengths?
Give Your Performance Management System a Review
Performance Management
Ten Most Common Appraisal Errors of Performance Appraisals*
The 7 Reasons Why 360 Degree Feedback Programs Fail