Multi-Layer Software Configuration

Total Page:16

File Type:pdf, Size:1020Kb

Multi-Layer Software Configuration Multi-layer Software Configuration: Empirical Study on Wordpress Mohammed Sayagh, Bram Adams Polytechnique Montreal, Canada fmohammed.sayagh, [email protected] Abstract—Software can be adapted to different situations systems consist of multiple layers, each of which hides the and platforms by changing its configuration. However, incorrect complexity of a lower layer, and has its own objects and configurations can lead to configuration errors that are hard configuration mechanisms. Since the behaviour of the system to resolve or understand, especially in the case of multi-layer architectures, where configuration options in each layer might as a whole requires neighbouring layers to collaborate, one contradict each other or be hard to trace to each other. Hence, needs to understand each layer’s configuration as well as how this paper performs an empirical study on the occurrence of configuration options in each layer interfere with each other. multi-layer configuration options across Wordpress (WP) plugins, Let’s consider the case of WP (Figure 1), which is currently WP, and the PHP engine. Our analyses show that WP and its the most popular content management system, and a typical plugins use on average 76 configuration options, a number that increases across time. We also find that each plugin uses on example of a multi-layer system consisting of a LAMP stack average 1.49% to 9.49% of all WP database options, and 1.38% (Linux, Apache, MySQL and PHP), the WP PHP application to 15.18% of all WP configurable constants. 85.16% of all WP and a myriad of WP plugins. One example of a cross-layer database options, 78.88% of all WP configurable constants, and configuration error was the inability of WP plugins to send 52 PHP configuration options are used by at least two plugins emails, due to a misconfiguration in lower layers related at the same time. Finally, we show how the latter options have 2 a larger potential for questions and confusion amongst users. to the PHP configuration option sendmail path . A second example was the case where the NextGen plugin was no longer I. INTRODUCTION able to upload images3 until someone pointed out that the Configuration is the means to adapt a software application script downloading the images was blocked by a configuration to different contexts and environments. For example, the Linux option in the PHP layer (memory limit). In both examples, kernel can be customized to different users by selecting only configuration options in lower layers impacted the behaviour the features that are of interest. Similarly, the kernel can of the top layer plugins. be customized to a specific hardware platform by providing Whereas existing work focuses on software configuration the details of processor, hard disk, and other devices. Each and configuration errors within a single layer of a software software system has its own mechanism for configuration, system, this paper represents a first empirical study towards ranging from hardcoded constants to global variables, property understanding the configuration options used by and shared files or dedicated databases, typically with a graphical user between different layers in the WP multi-layer system, as well interface to hide the underlying storage mechanism. as potential links with comprehension problems of users. The An incorrect value of a configuration option could result results can then be used in a follow-up study on multi-layer in incorrect behavior of a system, which we refer to as configuration errors. In particular, we address two preliminary configuration errors. Such errors occur often, typically are research questions to understand the evolution of configuration severe in nature, hard to debug, but they are actionable [1]. options across time, and two questions analyzing the usage of Such bugs are severe because they can have a catastrophic options across the studied layers: impact. For example, due to a misconfiguration, Facebook RQ1: What is the proportion of usage of each configu- was left inaccessible for about two hours1, depriving more ration mechanism in each layer? than 500 million users from access to the Facebook website. WP uses configurable constants and database con- Configuration errors are also hard to debug, since they need figuration options equally, while WP plugins prefer expertise in the failing application. However, if one is able (87%) configuration options stored in the database. to track down the cause of such an error, then the error RQ2: How does configuration mechanism usage evolve is actionable since a maintainer just needs to update the across time in each layer? configuration, usually without recompiling. Generally, the number of configuration options grows The major challenge for resolving software configuration across time, especially when new features are added errors is to find the violating configuration options, a chal- lenge that is aggravated in multi-layer systems. Multi-layer 2https://wordpress.org/support/topic/plugin-contact-form-7-wont-connect- to-smtp-server 1https://www.facebook.com/notes/facebook-engineering/more-details-on- 3https://wordpress.org/support/topic/plugin-nextgen-gallery-error-exceed- todays-outage/431441338919 memory-limit 978-1-4673-7529-0/15 c 2015 IEEE 31 SCAM 2015, Bremen, Germany Accepted for publication by IEEE. c 2015 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/ republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. 52 in a layer. Configuration options that are not used categories. Arshad et al. [3] provide a characterization of anymore are removed after a while. configuration problems for two Java EE application servers, RQ3: How many configuration options defined in lower GlassFish and JBoss, by analyzing 281 bugs-reports. Hubaux layers are used by WP plugins? et al. [4] conduct two surveys respectively among Linux and On average, 1.49% to 9.49% of all WP database eCos users to understand configuration challenges. Jin et al. configuration options and 1.38% to 15.18% of all [5] analyze two open source applications and one industrial WP configurable constants are used by the plugins. application to quantify the challenges that configurability Furthermore, 1.30 PHP configuration options are creates for software testing and debugging. Other studies focus used by plugins, but only 0.40 ones are modified. on predicting configuration bugs. Using textual information in These large numbers are confirmed by the Stack- bug reports, Xia et al. [6] built a model to predict whether a Overflow and WP Exchange fora, where 12.19% bug is a configuration error or not. of all plugin conversations and 9.49% of all WP Many studies have been conducted to resolve configuration conversations related to configuration mention multi- errors. Keller et al. [7] proposed the tool ConfErr that aims at layer configuration options. quantifying the resilience of a software system to configuration RQ4: How many plugins share the same configuration errors caused by spelling mistakes, structural errors, and options of lower layers? semantic errors. Zhang et al. [8] built a tool to identify the 78.88% of all WP configurable constants and 85.16% root cause of a configuration error in Java programs. Zhang of all WP database options are used by at least two et al. [1] provide the tool ConfSuggester, which suggests plugins. For PHP, 52 PHP configuration options are the configuration option responsible for introducing a bug used by at least two plugins. We found a strong in a new version. The suggestion is generated based upon correlation of up to 0.55 between the number of the control flow of a system. Elsner et al. [9] propose a plugins using a configuration option and the number framework to detect configuration inconsistencies. It allows of fora conversations mentioning it. a user to specify the possible inconsistencies in a software The paper is organized as follows: section II presents the application, which will be combined with a model built from background and related work, and section III presents our the configuration files to find the inconsistencies. Attariyan et methodology. Section IV provides the results of our study, al. [10] built the tool ConfAid, which aims at pointing out while section V discusses the threats to validity. Finally, the root cause of configuration errors, again by analyzing the section VI concludes the paper and presents future work. control flow. Tartler et al. [11] propose an approach to resolve the inconsistencies between the configuration model and its II. BACKGROUND AND RELATED WORK implementation in the Linux source code. In this section, we provide background information about While the above research provides a set of configuration op- software configuration, multi-layer systems, and the WP tions that should be changed in order to fix a bug, Wang et al. ecosystem, and we discuss related work. [12] present an ordered set of configuration options to change in order to fix a configuration error, based on user feedback. A. Software Configuration Similarly, Xiong et al. [13] propose an approach that yields Configuration is a mechanism to adapt software systems the configuration options to change and a range of possible to a context or an infrastructure and is used to customize a values. Lillack et al. [14] evaluate the tool Lotrack, which system’s behaviors. A configuration option is a pair consisting explains for each code fragment which load-time configuration of an option name and its value, where the value has a specific options should be active for it to be executed. Nadi et al. [15] type (typically boolean or categorical, but sometimes numeric propose a static approach to extract and validate configuration or even a string).
Recommended publications
  • Wordpress Multi-User: Buddypress and Beyond
    WordPress Multi-User: BuddyPress and Beyond This work is licensed under a Creative Commons Licence WordPress is a useful way of understanding the world we live in* * I explain myself in the notes to these slides Technically, WordPress Multi-User is 99% the same as WordPress ‘BuddyPress’ is just a set of plugins for WordPress Multi-User. No big deal. BuddyPress: Social Network Blogs: Websites (optional) WPMU: Administration Posts = dynamic content Pages = static content Categories = formal taxonomy Tags = informal taxonomy Widgets = versatile miscellany Members = Find people Groups = Identify with others Activity = Track site-wide activity Friends = Connect with peers Messaging = Email Wire = Message board (Fb ‘Wall’) Profles = Digital identity (Forums = requires bbPress) It’s time to stop thinking about ‘blogs’ and start thinking about… documents ‘proper’ websites microblogs scientifc publishing and review e-Portfolios scholarly journals an institutional archive lifestreams code review advanced mapping: GPX, KML, GeoRSS I could go on… :-) The technical slide: The more resources you throw at it, the better it will run. * * and use LAMP LDAP and AD support Feeds galore! http://example.com/feed/ http://example.com/feed/rss/ http://example.com/feed/rss2/ http://example.com/feed/rdf/ http://example.com/feed/atom/ http://example.com/category/my_category/feed/ http://example.com/tag/my_tag/feed/ http://example.com/tag/tag1+tag2+tag3/feed/ http://example.com/comments/feed/ http://example.com/2009/01/01/my-latest-post/feed http://example.com/2009/01/01/my-latest-post/feed/&withoutcomments=1 http://example.com/author/joss/feed http://example.com/2009/feed http://example.com/2009/01/feed http://example.com/2009/01/15/feed Bring WordPress into Blackboard with Feed2JS Institutional benefts? It's easier to support hundred of blogs on an institutional platform than hundreds of blogs on third-party services Enhances the university brand.
    [Show full text]
  • Wordpress Overview – Skillshare
    WordPress Workshop @ The Hub Instructor : Jaki Levy http://arrowrootmedia.com/skillshare What We’ll Do in Class 1 - FIRST - Discuss what WordPress is and Register for a free blog on WordPress.com 2 - SECOND - Discuss Domain Names and Hosting Review How / Where to Get a Domain name and Hosting. The company you purchase the domain name is your Registrar). When you’re ready, you can get hosting if you don't have hosting setup already. (hosting recommendations from from WordPress.org : http://wordpress.org/hosting/) Bluehost - fantastic, available customer service. 1-click install Dreamhost - cheap and good. 1-click install. no phone support unless you pay extra Other Fantastic WordPress hosts include : WP Engine : http://wpengine.com/pricing/ Page.ly : http://page.ly/plans-pricing/ 3- THIRD - Create Content a. Login to your WordPress site and Edit your about page b. Upload an image to your about page, insert links, and try some good stuff out. The more time you spend on this, the more questions you'll have. Which means you'll get more questions answered. * For help on inserting media into your posts, check out these video tutorials: http://www.arrowrootmedia.com/2009/05/07/how-to-writing-and- publishing-a-post-in-WordPress/ 4 - FOURTH Customize your site within the Dashboard using Themes and Plugins. Consider setting up an account on feedburner (feedburner.com). You'll need a google/ gmail account for this, so if you don't already have one, set one up. Hold onto your username/password. After setting up your WordPress site , go to your Settings.
    [Show full text]
  • Download Amp by Automattic Plugin Older Version How to Set up AMP for Wordpress
    download amp by automattic plugin older version How To Set Up AMP for WordPress. Recently, Google unveiled their Accelerated Mobile Pages project (also known as AMP). The open source project aims to make the mobile web faster by creating a less-flashy, less-cluttered way to view content on your phone. The idea, as with many open source projects, is to create a vibrant and healthy community around AMP which will allow Google to compete against alternative (more closed) solutions such as Apple News and Facebook’s Instant Articles. What’s really great is that Google is already pushing ahead with AMP at full speed. In fact, as of late last week Google announced it would begin to send mobile traffic from Google search to AMP-enabled articles starting in February 2016. By the way, if you’re curious what an AMP-Enabled search looks like, click here to search Google for “mars” (this will only work on your mobile device). So if you want to be ready come February 2016, you need to follow my guide below on how to set up AMP on your WordPress install . But before we get to that, let’s discuss AMP in a bit more detail. Why AMP Is Important. As the growth in mobile usage continues to climb (and it will) websites need to be able to be super fast and responsive (I don’t mean design wise). Even today, with mobile exploding, many websites still run slowly on phones. This is because the majority of websites out there aren’t optimized for mobile.
    [Show full text]
  • Managing Multiple Blogs and Using the Multisite Mode in Wordpress 3.0
    18_0789746344_ch17.qxp 8/13/10 12:46 PM Page 1 In this chapter, you learn about managing multiple blogs and using the multisite mode in WordPress 3.0. 17 Managing Multiple Blogs Let’s face it. Working with WordPress is like eating popcorn or chips—one WordPress blog just isn’t enough. If you have more than one WordPress blog to manage, you might wonder about blog networks—maybe you could have organ- ized things differently to make things easier for yourself. Then there is the other side of things, a situation in which you might think something more like WordPress.com is the solution. It’s like a network of independent blogs, but where you have some control over the look and feel and such. When Matt Mullenweg and his friends first created WordPress, it was designed to be one install, one blog. It wasn’t long before people wanted to run networks of blogs on WordPress—not just installing WordPress several times on the same server, but installing it so there was a central administrative hub with sites con- nected to it. Blog network administrators needed some central control over what themes were used, what plugins were used, and how the whole network of blogs grew. Because WordPress didn’t originally work like this, but the entire source code was available for building on, it didn’t take long before someone built a solution. That someone was Donncha O Caoimh of Cork, Ireland, and what he built came to be known as WordPress Multiuser or WordPressMU or WPMU.
    [Show full text]
  • Website and Social Media Guide
    Website and Social Media Guide Designed for the Emergency Services Foundation Table of Contents Table of Contents 2 Preface 4 Web Security 4 Search Engine Optimisation 4 Purpose of this Guide 5 1. Website Maintenance 6 Themes 6 Plugins 8 Pages 10 Adding 10 Editing 11 Removing/Restoring 12 Menus 13 Adding Photos/Videos 14 Setting a Featured Image 15 Inserting an Image into the Content of a Page 16 Inserting a Gallery 17 Inserting/Editing a Slider 18 Linking to Other Pages 20 Blog Posts 23 Tables 24 Creating a New Table 24 Editing a Table 26 Sidebars and Footers 26 Shop and Products 28 2. Social Media Maintenance 30 General Tips 30 Facebook 30 Twitter 31 Instagram 31 3. Content Generation for Website and Social Media 32 2 Updates 32 Scholarship & Awardees 32 Conclusion and Further Recommendations 34 3 Preface This document is designed to aid in the management of the Emergency Services Foundation website and its social media accounts through documentation of important aspects of web development and use of a Content Management System (CMS). Web Security Web security is an important consideration when running a website. If one is not careful, he/she and visitors to his/her website may be in danger of scams and attacks. Using authentication services like reCaptcha helps to deter these attacks, by distinguishing human users from malicious robots seeking to steal personal information or compromise website integrity. Encryption and security services like this are especially important when monetary transactions are involved, as these can lead to vulnerabilities when transferring financial information.
    [Show full text]
  • Plugins to Detect Vulnerable Plugins: an Empirical Assessment of the Security Scanner Plugins for Wordpress
    Plugins to Detect Vulnerable Plugins: An Empirical Assessment of the Security Scanner Plugins for WordPress Daniel T. Murphy Minhaz F. Zibran Farjana Z. Eishita University of New Orleans, USA Idaho State University, USA Idaho State University, USA [email protected] [email protected] [email protected] Abstract—WordPress, possibly world’s the most popular Con- Attackers generally do not try to exploit flaws in the tent Management System (CMS), which supports around 455 WordPress core. Instead, they make use of vulnerabilities that million websites and claims 60.3% of all content management stem from two sources: systems in use. The WordPress core is known to be relatively secure, but its plugin ecosystem is not. 92% of vulnerabilities 1) An average user of WordPress lacks the expertise to suf- found in WordPress powered websites are attributed to third- ficiently secure their site, and often unknowingly leaves party plugins that those websites depend on. their website configuration in a vulnerable state. This paper presents an empirical study, where we examine the 2) WordPress, which was initially designed as a blogging efficacy of 11 WordPress security scanner plugins in the detection engine, allows developers to extend the functionality of of known vulnerabilities in another set of 51 insecure plugins. The results are mixed, with some security scanner plugins failing the CMS via third-party plugins. entirely and even the most effective plugins failing to identify The security of the third-party plugins is not guaranteed by significant vulnerabilities. The findings are derived based on both WordPress itself, and indeed, 92% of the vulnerabilities found a quantitative analysis and a deeper qualitative analysis.
    [Show full text]
  • Free Applications
    1 Free Applications Hundreds of Apps with Potential to Enhance Professional Development, Technical Assistance, and Dissemination Activities and Results By Larry Edelman [email protected] Note: This document (v. 9 – 2/28/11) is updated frequently. Updates and related discussions are posted at: http://exploringtech.wordpress.com/ Why should we use technology for PD, TA, and Dissemination? • In particular, technology can help us to efficiently, effectively, and creatively: 1. Create content; 2. Share knowledge; and 3. Build and support relationships. We should consider ALL applications that are available to us. This includes applications that are expensive, moderately priced, inexpensive (shareware), and free (freeware). This includes software that we download to our computers and software that runs on the web. Some expensive applications enable us to us to communicate in very unique and effective ways, while the functions of other expensive applications can be easily replicated, or even improved upon, by the use of freeware. Likewise, some free applications are all we need to get the job done, while other free applications have significant limitations or involve the use of paid advertisements that detract from our purposes. I use some relatively expensive applications for tasks such as video editing and authoring online learning modules. But I also use many free applications for things such as document sharing, web conferencing, video conferencing, media transcoding, audio editing, screen capturing, media posting, and building and hosting wikis, blogs, and web sites. Why, in particular, should we explore free applications? • Sometimes, free applications are all that we need. Why purchase or license expensive software when there are free solutions? • The budgets in PD and TA programs are being dramatically reduced.
    [Show full text]
  • Buddypress and the Social, Networked, Open-Source Classroom Matthew K
    City University of New York (CUNY) CUNY Academic Works Publications and Research CUNY Graduate Center 2011 Beyond Friending: BuddyPress and the Social, Networked, Open- Source Classroom Matthew K. Gold CUNY Graduate Center How does access to this work benefit ou?y Let us know! More information about this work at: https://academicworks.cuny.edu/gc_pubs/291 Discover additional works at: https://academicworks.cuny.edu This work is made publicly available by the City University of New York (CUNY). Contact: [email protected] City University of New York (CUNY) CUNY Academic Works Publications and Research Graduate Center 2011 Beyond Friending BuddyPress and the Social, Networked, Open-Source Classroom Matthew K. Gold How does access to this work benefit ou?y Let us know! Follow this and additional works at: http://academicworks.cuny.edu/gc_pubs Part of the Digital Humanities Commons, and the Scholarship of Teaching and Learning Commons This Book Chapter or Section is brought to you by CUNY Academic Works. It has been accepted for inclusion in Publications and Research by an authorized administrator of CUNY Academic Works. For more information, please contact [email protected]. Learning Through Digital Media Experiments in Technology and Pedagogy Edited by R. Trebor Scholz The Politics of Digital Culture Series Learning Through Digital Media Experiments in Technology and Pedagogy Edited by R. Trebor Scholz The Institute for Distributed Creativity (iDC) The Institute for Distributed Creativity publishes materials related to The New School’s About This Publication biennial conference series The Politics of Digital Culture, providing a space for connec- tions among the arts, design, and the social sciences.
    [Show full text]
  • A New Model of Web-Based Application to Social Networking Management Systems
    UNIVERSITY OF BEIRA INTERIOR Engineering A New Model of Web-based Application to Social Networking Management Systems Diogo João Pinto Ribeiro Dissertation Submitted in Partial Fulfillment of the Requirement for the Degree of Master of Science in Computer Science and Engineering (2nd Cycle Studies) Supervised by Prof. Dr. Joel José Puga Coelho Rodrigues Covilhã, October 2014 ii To my beloved family, especially to my parents and my grandparents. iii iv Acknowledgements This dissertation marks the end of another academic stage in my life. A dissertation for obtain- ing the degree of Master of Science represents a long and demanding path. The support of very particular persons has encouraged me to continue my work, day after day. I would like to thank all persons who directly or indirectly contributed to my work throughout the last year. I would like to start by thanking to my mother and my father, to whom I am mostly grateful, to doing everything to provide me the best and for helping me to achieve my goals in different areas, but particularly on academic life. I also would like to thank my sister Márcia, for her im- measurable friendship and support, and my uncles and grandparents, for always demonstrating their love, their support and will to live. I am also grateful to my friends for their strength over the past few months and to encourage me to continue. Foremost, I would like to express my gratitude to Patrícia, who always knew where and how to be present in the most important moments of my life. Her support, patience and help during difficult times, was crucial for me to finish this stage in my life.
    [Show full text]
  • Wordpress MU 2.8
    WordPress MU 2.8 Lesley A. Harrison Chapter No. 7 "Sticky Features for your Blog Network" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.7 "Sticky Features for your Blog Network" A synopsis of the book’s content Information on where to buy this book About the Author Lesley Harrison has more than ten years of experience working in the world of IT. She has served as a web developer for various local organizations, a systems administrator for a multinational IT outsourcing company, and later a database administrator for a British utility company. Today, Lesley runs her own video gaming site, Myth-Games.com, and works as a freelance web developer. She works with clients all over the world to develop Joomla! and WordPress/WordPress MU web sites. Lesley has enjoyed seeing the Internet develop from the days of newsgroups and static HTML pages, to the vast and interactive World Wide Web of today. She worked as a reviewer on Daniel Chapman's Joomla 1.5 Customization book, which was published by Packt Publishing in August 2009. I would like to thank my husband Mark for his patience while I was writing this book instead of leveling one of my many characters. I would also like to thank Blaenk Denum for his help with the reCAPTCHA plugin, and the Packt Publishing team for their patience and guidance over the past year. For More Information: www.packtpub.com/wordpress-mu-2-8-beginners-guide/book WordPress MU 2.8 In today's digital world, it seems that everyone has a web presence—be that a profile on a social networking site such as Facebook, a blog hosted by Blogger or WordPress.com, or their own web site.
    [Show full text]
  • Sponsorship Offer RIGHT NOW, AS YOU’RE BROWSING the INTERNET, ONE out of EVERY FOUR SITES IS USING WORDPRESS
    Sponsorship offer RIGHT NOW, AS YOU’RE BROWSING THE INTERNET, ONE OUT OF EVERY FOUR SITES IS USING WORDPRESS. In 2003 Matt Mullenweg and Mike Little decided to fork b2, the blogging software created by Frenchman Michel Valdrighi, and run with it. WordPress is born! Twelve years later, this software has become the most popular web publication platform in the world, and WordPress has stayed true to its philsophy: making web publishing accessible to all. Now a powerful content management system running 25% of all websites in the world, who would have predicted such incredible growth from “simple blogging software”? Today WordPress can be found in universities, the media, big enterprise and institutions. It’s also at the foundation of startups, SaaS models, hosting services and specialized agencies. It attracts people with its robustness, state of constant evolution and the ease of use for which it’s known. More recently, WordPress has conquered the areas of social networking and e-commerce with BuddyPress and WooCommerce, currently the e-commerce solution with the most rapid growth anywhere. But did you know that WordPress is also an open source project, maintained by a community of contributors spread out over the globe? Thousands of people contribute daily to its upkeep and development, to creating plugins (over 40,000 registered), themes and writing documentation. This community is comprised of a range of actors from the WordPress ecosystem, from simple amateurs to seasoned professionals, who gather regularly around the world at events we call WordCamps. There have been over 80 in 2015. On February 5-6, 2016, Paris, the pioneer city of such events in France, invites you to join the 9th edition of its WordCamp, which will take place in an exceptional venue tucked in-between the Statue of Liberty and the Eiffel Tower.
    [Show full text]
  • The Best Wordpress Plugins for Marketing
    THE BEST WORDPRESS PLUGINS FOR MARKETING WHITE PAPER WHITE PAPER The Best WordPress Plugins For Marketing WordPress is the most popular CMS in the world, powering more WooCommerce than 27 percent of the entire internet. One of its biggest selling points is the robust plugin marketplace. With more than 46k plugins available for free in the WordPress directory alone, users can easily extend the functionality of their sites. From marketing to maintenance to optimization and editorial, there are literally plugins for adding almost any functionality to your site. With thousands of plugins to sort through, however, it can be tricky to determine which ones to use. That’s why we put together Looking to take your tangible or digital products to market online? a series of white papers to help you harness the integration WooCommerce makes it super easy to add products to a digital capabilities of WordPress and build better digital experiences. marketplace. The most well-known and by far most popular The plugins in this white paper were nominated by the WordPress ecommerce solution is WooCommerce. Not only does WordPress community. To ensure that we are promoting secure, the plugin have a 4.5 star rating at more than a million active quality plugins, each plugin is included in the official WordPress installs, it also made waves in May last year when Automattic repository and meets the following criteria: acquired WooCommerce’s parent company WooThemes. • 10,000+ downloads Powering 37 percent of all ecommerce sites, the plugin is so popular that it even warrants its own annual conference.
    [Show full text]