acumen consulting php development

The Pros and Cons PHP 7.0 Migration

With the planned date for PHP 7’s release rapidly approaching, the PHP internals group is hard at work trying to fix our beloved language as much as possible by both removing artifacts and adding some long desired features. There are many features we could discuss, but in this post, I’d like to focus on three that grabbed my attention.

Recently 5.7 has been moving down the ladder in favor of web developemnt directly to 7. What this means there will be no new version between 5.6 and 7 – even if the new version was only to serve as a warning light to those still stuck on outdated code. Originally, 5.7 was not supposed to have new features, but was supposed to throw out notices and warnings of deprecation about code that’s about to change in v7.

It would also warn about some keywords that are to be reserved in PHP 7, so that people can bring their code up to speed with a sort of “automatic” compatibility checker in the form of an entire PHP version. The thing is, however, as I argue in the newsletter, that most people technologically competent enough to follow PHP in its upgrade path by keeping up with the most recent version aren’t generally the type of people to actually be using code that might break in PHP 7.

Return Types

With a vast majority voting “yes”, PHP is finally getting return types.  Starting with PHP 7, we’ll finally be able to indicate proper return types on functions in the form of:

function foo(): array {
    return [];
}

An improvement? Definitely! But perfect? Sadly, no:

  • the return types can only be what we have for types right now, meaning no scalar values, no return types like string, int, bool, etc. This means that your methods and functions that return such values will still be unsigned. You can remedy this by returning instances of wrappers for such values, but that’s overkill in the vast majority of cases.
  • no multiple return types. If your function returns either an array, or an Iterator object, there’s no way to indicate that via, for example, array|Iterator as we do in docblocks.

Some people also complained about the type declaration being after the closing parenthesis of the argument list, rather than before the function name, but to me, this is nitpicking. Popular languages such as modern C++ use the “after” syntax, and like the RFC states, this preserves the possibility of searching for “function foo” without any necessary regex modifications. What’s more, this is in line with what HHVM uses, so it’s an added unintended compatibility bonus.

Some complaints are about the “strictification” of PHP, but you really find the value of this when you start coding against interfaces or inheriting other people’s code. Besides, as long as it’s optional and its existence does not in any way affect PHP’s general performance or stability, there’s no harm in it. Complaining about it is, to me, akin to complaining about OOP being added to PHP when procedural spaghetti worked so well for most cases back then. Languages evolve, and this is a step in the right direction.


Removing Artifacts

The upcoming version proposes to remove PHP4 style constructors.  Communities anger on this makes me wonder – if you’ve kept such a codebase alive for so long, is there really a need to upgrade to PHP 7? And if there is a need to upgrade to PHP 7, is it not easier to simply hunt down the offending classes and fix their constructors? Surely this is something you can delegate to juniors, given enough unit tests in your code base to make sure it all goes well? And if you don’t have unit tests, if your app is a mess, do you really hope to benefit in any way from moving to PHP 7? Wouldn’t you be better off Modernizing your Application first?

The sentence “This means that code which I wrote 10 years ago should still run today, and should still run 10 years from now.” is, to me, madness – you definitely and absolutely should not expect this of ANY language across major versions.

Granted, some coders are right in that it would take effort to remove the feature, while it would take none to leave it in. But in the long run, it will take more collective effort to fix the problems these constructors sometimes cause, than to remove it now.

My advice to those fearing PHP 7 is – stop. If you don’t want to upgrade, don’t. If you could be on 5.3 or 5.2 for so long (looking at you, CodeIgniter), you can be on 5.6 for another decade – but let us have modern PHP. Leave progress up to those who are willing to accept it.


Scalar type declarations

Scalar type declarations come in two flavours: coercive (default) and strict. The following types for parameters can now be enforced (either coercively or strictly): strings (string), integers (int), floating-point numbers (float), and booleans (bool). They augment the other types introduced in PHP 5: class names, interfaces, array and callable.

<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
return array_sum($ints);
}var_dump(sumOfInts(2, '3', 4.1));

PHP 7

The quick list of changes:

  • PHPNG (next generation of Zend Engine)
  • Scalar type declarations
  • Return type declarations
  • Spaceship operator
  • Anonymous classes
  • Generator return expressions
  • Generator delegation
  • Performance
  • Error handling (Exceptions)
  • Extension API changes

Conclusion

As usual, there’s no shortage of drama in PHP land. Like all major revolutions throughout history, the 7 revolution will also be spilling some blood before producing something awesome. PHP 7 is still a long way off, so even if you’re caught in the crossfire of musket shots, there’s ample time to get to cover. Unless you’ve been sleeping under tank tracks, then there’s little either side can do to help you.

What do you think of these RFCs? How do you feel about PHP 7 in general? Is it heading in the direction you’d like it to head in? Let us know – we want to hear your thoughts!

WP CMS

The latest variation of WordPress CMS is packed with your typical functions, maintaining ease-to-use functions and for that reason, the listing of functions has increased greatly over the years, along with theme variety makes it easy to generate income.

If you also include excellent plug-ins, Constant Updates, a WP Support community that is second-to-none, SEO made super easy and just Setting up a WordPress website is affordable.

Nevertheless besides blog writing tool, WordPress is among the very best platform for Web Development, uncomplicated to utilize and also versatile.

Why WordPress Development is very useful for business

1. It is Safe and secure.
Since WordPress is a popular CMS, it should not be surprising that it’s a target for hackers. The WordPress take the the secuity of its user very seriously.
2.It is  Easy to use.
The WordPress is very easy it is to use. The platform is user-friendly, intuitive and easy to learn. In fact, you can learn how to use wordPress in a matter of minutes.
3. Lots of support.
WordPress is provides lots of support. This is in part to the extensive WordPress community where you can troubleshoot any question or concern through the WordPress
4. Easy to manage
WordPress is equipped with a built-in updater for security purposes, WordPress also notifies you whenever there are updates for your themes and plugins. This makes managing your WordPress  site a breeze, since you’ll always be current on the latest updates. That will keep your site safe and fresh.

PHP is a powerful and one of the most popular coding language among web programmers. Majority of the most popular websites on the web are based on PHP programming language. In this article, we are looking to help you choose the best PHP framework for 2014.

Every developer knows that a proper framework enables to create applications quicker, safer and more efficiently. Choosing a right framework before building your application is crucial for robustness and success. PHP frameworks are super useful tools for web development, as they are real time-savers when it comes to creation and maintenance of the PHP website.

Generally framework consists of:

  • A Toolbox – a set of prefabricated, rapidly integrated software components.
    It means writing less code, with less risk of error. It also means greater productivity and the ability to devote more time to doing those things which provide greater added value, such as managing guiding principles, side effects, etc.
  • A Methodology – an “assembly diagram” for applications. A structured approach may seem constraining at first. But in reality it allows developers to work both efficiently and effectively on the most complex aspects of a task, and the use of Best Practices guarantees the stability, maintainability and upgradeability of the applications you develop.

There are a lot of solid PHP frameworks on the market, so it is probably hard to choose one. We have gathered a list of the best PHP frameworks currently on the market and share our insights in finding the best one for your application. Every framework has its own advantages as well as disadvantages, so if you have a preferred Framework by which you work with aside from the ones listed here, please do let us know by dropping us your feedback in the comment section below.

1. Laravel : The PHP Framework for Web Artisans

Laravel - Best PHP Framework 2014

Laravel is a free, open source PHP Web application framework, designed for developing MVC web applications. In our opinion, Laravel is the best overall PHP framework of 2014. I personally believe that Laravel has taken PHP frameworks to the whole new level. Laravel helps you create wonderful applications using simple, expressive syntax, aiming to take the pain out of web development by easing common tasks, such as authentication, routing, sessions and caching. Laravel is well readable and well-documented that helps you speed up your coding. Laravel makes development easy and more creative for developers and lets them produce some outstanding result with it. With Composer you can manage all your application’s third-party packages, and works great on MySQL, Postgres, SQL Server, and SQLite.

Laravel uses the solid, tested components of the Symfony framework along with other popular packages to provide a modern framework that provides easy conventions, utilizes modern programming patterns and makes development a breeze.

Laravel has changed my life. The best framework to quickly turn an idea into product.

Maksim Surguy

Laravel reignited my passion for code, reinforced my understanding of MVC, and made development fun again!

Jozef Maxted

Laravel kept me from leaving PHP.

Michael Hasselbring

2. Phalcon

Phalcon the Fastest PHP Framework 2014

Phalcon is the fastest framework on the list. Built on C, but offered as PHP extension, it offers no compromise speed wise. It offers high performance and lower resource usage. There’s no need to learn or use the C Language, as the functionality is exposed as PHP classes ready to use. By creating a rich, fully featured framework written entirely in C and packaged as a PHP extension, Phalcon is able to save processor time and boost overall performance.

In the past, performance was not considered one of the top priorities when developing web applications. Reasonable hardware was able to compensate for that. However when Google  to take site speed into account in the search rankings, performance became one of the top priorities alongside functionality. This is yet another way in which improving web performance will have a positive impact on a website.

3. Symfony 2

Symfony2 PHP Framework

Symfony is a PHP framework for web projects. It speed up the creation and maintenance of your PHP web applications. Replace the repetitive coding tasks by power, control and pleasure.

Symfony is a set of reusable PHP components and a PHP framework for web projects. It is well documented, it is free under MIT license, and it is getting more and more popular every day. Drupal, one of the most popular CMS systems, as well as phpBB, one of the most used discussion board system, use symfony.

The is powerful, scalable and flexible. Yet it is considered by many, especially those new to frameworks, to have a very steep learning curve.

This is true to a certain extent. At first glance, Models, Views, Controllers, Entities, Repositories, Routing, Templating, etc, altogether can appear very terrifying and confusing.

However, if you have grasped the fundamentals of PHP and HTML, have a basic understanding of modern web site development (in particular, Pretty URIs, MVC), and know how to CRUD a database/table, you are not far from developing a fairly good website, be it for your personal usage or business application.

4. Yii Framework

Yii PHP Framework

Yii is the fast, secure and professional PHP Framework. It is a high-performance PHP framework best for developing Web 2.0 applications. Yii Comes with rich features: MVC, DAO/ActiveRecord, I18N, caching, authentication and role-based access control, scaffolding, testing, open source, high performing, object oriented, database access object, easy form validation, default support for web services and many more. Yii Framework is ideal and perfect for developing social networking websites reduces development time significantly.

Yii Framework is a good choice for developing new high quality web-applications in rapid time. The well designed foundation with excellent documentation helped us developing Chives remarkable user experience and functionality in very short time.

David Roth

Yii Framework met all our needs! It worked equally good for both rapid prototyping and large scale web applications. It allowed us to focus on our unique idea while still offering the flexibility to bend our application in all directions we want.

Knut Urdalen

Yii is a simple but very powerful application framework with a very short learning curve. Its component-based design allows us to customize it for our needs without directly modifying it — maintaining upgradability. It’s amazing how we were able to use it not just on our main app and our API, but also on our daemons!

Blue Jayson

 

5. CodeIgniter

CodeIgniter PHP Framework

CodeIgniter is a proven, agile and open PHP web application framework with a small footprint. It is powering the next generation of web applications.

CodeIgniter is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. If you’re a developer who lives in the real world of shared hosting accounts and clients with deadlines, and if you’re tired of ponderously large and thoroughly undocumented frameworks, then CodeIgniter might be a good fit.

CodeIgniter is right for you if:

  • You want a framework with a small footprint.
  • You need exceptional performance.
  • You need clear, thorough documentation.
  • You are not interested in large-scale monolithic libraries.
  • You need broad compatibility with standard hosting.
  • You prefer nearly zero configuration.
  • You don’t want to adhere to restrictive coding rules.
  • You don’t want to learn another template language.
  • You prefer simple solutions to complexity.
  • You want to spend more time away from the computer.

6. Cake PHP

Cake PHP Framework

CakePHP is one of the frameworks to follow in 2014. They are about to release a stable version 3.0 to the public. CakePHP makes building web applications easier, faster, and requires less code. It enabled to use code generation and scaffolding features to rapidly build prototypes. No additional XML or YAML file configuration is required, just setup your database and you are ready to bake. CakePHP is licensed under the MIT license which makes it perfect for use in common applications. The things you need are built-in: translations, database access, caching, validation, authentication, and much more are all built into one of the original PHP MVC frameworks. CakePHP comes with built-in tools for input validation, CSRF protection, Form tampering protection, SQL injection prevention and XSS prevention, helping you keep your application safe and secure.

7. Zend Framework

Zend PHP Framework

I’ve used Zend Framework 1 and 2 in large scale enterprise projects for years. It has been one of the leading PHP frameworks with flexible architecture suitable for modern web applications for years. Recently I have switched over to a couple of newborn frameworks, but that is my personal preference.

Zend framework is designed with simplicity in mind. It is lightweight, easily customizable, and focused on most common needed functionality. It is built to dramatically ease the learning curve you must climb when adapting to a new framework. It is widely used, so quite well tested and safe.

Despite all the advantages, it is has quite different user experiences over the years. Some users call it “extremely complicated, the worst I have known so far”.

Extremely complicated framework, the worst that I have known so far (I have worked with symfony, Yii and django; all them are easier to learn)

Great framework with a great community and a lot of tutorials…nearly everything is good, just the speed could be better.

ZF is overly complicated. At some point you will find yourself struggling with it just to make things done. Syntax is too lengthy.
I’d say ZF is a great PHP class library but an awful web framework.

8. Kohana

Kohana PHP Framework

Kohana is an elegant PHP framework with a rich set of features for building web applications. It allows to build web applications quickly, as it has many common components included, as translation tools, database access, code profiling, encryption, validation, and more. It also has good debugging and profiling tools which helps to solve any occurring problems, which often is very time-consuming without the right tools.

Kohana is built to be a very fast PHP framework, carefully optimized for real world usage. However, some of the tests shown that it is slower than CodeIgniter, and some other major players on the list. But in general, it scores very well on benchmarks.

This is an OOP framework that is very dry. Everything is build using strict PHP 5 classes and objects. This shows that Kohana is sticking to the very best of PHP new features and is closely optimizing its core code.

9. Fuel PHP

Fuel PHP Framework

Fuel is a simple, flexible, community driven PHP 5.3+ framework, based on the best ideas of other frameworks. It is currently releasing version 2 of the project, currently in beta stage.

FuelPHP is a MVC (Model-View-Controller) framework that was designed from the ground up to have full support for HMVC as part of its architecture. But we didn’t stop there, we also added ViewModels (also known as presentation models) into the mix which give you the option to add a powerful layer between the Controller and the View.

FuelPHP also supports a more router based approach where you might route directly to a closure which deals with the input uri, making the closure the controller and giving it control of further execution.

10. Silex

Silex PHP Framework

Silex is the PHP micro-framework based on the Symfony2 Components.

Silex is a PHP micro-framework for PHP 5.3. It is built on the shoulders of Symfony2 and Pimple and also inspired by sinatra.

A microframework provides the guts for building simple single-file apps. Silex aims to be:

Concise: Silex exposes an intuitive and concise API that is fun to use.
Extensible: Silex has an extension system based around the Pimple micro service-container that makes it even easier to tie in third-party libraries.
Testable: Silex uses Symfony2’s HttpKernel which abstracts request and response. This makes it very easy to test apps and the framework itself. It also respects the HTTP specification and encourages its proper use.

Performance benchmark of the best PHP frameworks

There are many assumptions around performance of different PHP frameworks. I frequently hear strong opinions about superiority X over Y in this context. There are companies writing new PHP frameworks from scratch because available solutions are too slow for them. Let’s see what the number are telling.

Performing a representative benchmark across different framework is not an easy task. There are multiple ways to use each of them. Every use case will give different reading. Lets take routing as an example. Zend Framework 1 by default doesn’t need a routing file. It’s happy to use “/controller/action” pattern. On the other hand Symfony2 comes with a routing configuration. The file has to be read and parsed. That obviously takes some additional CPU cycles but does it mean Symfony2 routing is slower then Zend Framework 1? The answer is (obviously) no.

Systemarchitect has benchmarked “quick start” projects. That gives some idea on what is the base line for every framework and makes it possible to reproduce my tests (and argue against them).
Code was hosted on Amazon EC2 medium instance. I installed PHP-APC to avoid disk access and code parsing. I also made sure there is no I/O on Apache2 or application level. I set logs and cache paths to “/dev/shm/”. I tweaked projects to make them return roughly the same amount of data (10KB). All virtual hosts had the same mod_rewrite rules. AllowOveride was set to None.

Requests per second from Apache Benchmark with c=20 and n=500.

FrameworkReq/Sec
Phalcon822.96
Slim399.83
Kohana217.34
Code Igniter187.78
Silex179.01
Laravel135.9
YII123.5
Fuel PHP116.34
Hazaar MVC103.53
Zend Framework 1103.02
Cake PHP54.97
Nette53.48
Symfony239.22
Zend Framework 236.1

PHP Framework Benchmark 2014

Based on Systemarchitect’s benchmark, I’m not surprised, Phalcon is beating everyone on the list, as well as seeing Slim to be the second fastest because it’s a micro framework. The Quick Start project didn’t use any templates or layout which obviously contributed to the reading. Zend Framework 1 is twice faster than Symfony2 and Zend Framework 2 but in my experience the number will quickly go down in a real live setup.

Frameworks should speed up development, performance is a secondary concern. Zend Framework 2 and Symfony2 could do better but it’s not bad. There are ways to improve those numbers on production servers. Don’t reinvent the wheel, learn and use frameworks. There are various options which balance between performance and features.

Acumen’s summary

Summarizing the list, we think that the best 5 PHP Frameworks currently are: Laravel, Phalcon, Symfony2, CodeIgniter and Yii.

The same is shown by the recent study at Sitepoint, showing Laravel having over 25% of the popularity votes, Phalcon almost 17%, Symfony2 over 10%, CodeIgniter and Yii having 7.62%. PHP Framework Market Share 2014

But we understand that a PHP framework is more of a preference for the web developer and that in the market today there are many strong products.

8 Awesome WordPress Web Apps Paving the Way for WordPress as a SaaS Platform

Sometimes you need a web app and don’t have the time, skill, or budget to do custom development. Developing from scratch can be the solution for many problems, but it can take much longer than starting from an existing code base.

WordPress was originally designed as a blogging platform, and it continues to be well known for that. However, it has evolved into a fully fledged content management system (CMS) and, for some purposes, can even produce a solid web application – quickly, and at a significantly lower budget than custom development.

This article will introduce the idea of building a web app on WordPress, show you why you might consider it, examine some tools for building web apps in WordPress, then look at some great examples of what is possible.

Why Use WordPress for Web Apps?

Web apps can be custom coded from scratch, and many developers remain purists who feel that’s the only way to go. However, web application frameworks have been developed to help make the process of building web apps easier.

Ideally, building a web app would be quick to start, so you could get going and take advantage of some common built-in functionality. Wikipedia defines a Web Application Framework as:

…a software framework that is designed to support the development of web applications including web services, web resources and web APIs. Web frameworks aim to alleviate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks and session management, and they often promote code reuse.

With that in mind, it’s not hard to see how some people started to look at WordPress as a possible web application framework to help them build web apps. Though not specifically designed for that, WordPress has several features that make it a solid choice for your web apps, for example:

  1. Security, user registration and login: WordPress has user roles, which by default belong to one of five access levels, and can be assigned to different capabilities (e.g. edit posts).
  2. Database and URL mapping: WordPress enables you to easily connect to its database and run queries. You can modify how URLs are generated using pretty permalinks and add or modify the rewrite rules.
  3. Theming: WordPress themes offer a very flexible means of designing pages for your app.

WordPress isn’t always going to be the best tool for all types of web apps. It can work well for simple CRUD (Create, Read, Update, Delete) apps, and more complex functionality like calendar bookings, for example, can be done by integrating existing plugins. In general, projects related to publishing some form of content online may be possible candidates for using WordPress, especially where you want to use the same content across multiple products (e.g. website, mobile app etc.).

Tools for Building Web Apps in WordPress

While WordPress does offer built-in features we can use for web apps, you may require additional functionality. The built-in page and post structures can be used for a lot of things, but if you need custom data and fields to be added, searched or queried, manipulated, and displayed, some additional work is needed. Fortunately, tools do exist to help expand on WordPress’ native capabilities.

WordPress does have custom data capabilities in the form of custom fields, post types and taxonomies, but tools for working with them have been left up to plugins. Here are a few that have proven quite useful in moving WordPress away from simple blogging:

1. Advanced Custom Fields

Advanced Custom Fields plugin

Available for free in the WordPress repository, Advanced Custom Fields (ACF) has been a long-standing favorite of developers for adding custom data functionality to WordPress. It provides a way to visually create custom data fields of various types (e.g. checkboxes, images, relationships) and easily load data through a simple API. It uses the built-in custom post types and metadata and so is easy to use and fast. For more content types and the ability to add options pages, you’ll need to purchase a licence for ACF Pro (which starts at $25).

2. Piklist

Piklist Framework

Billed as a rapid development framework for WordPress, Piklist enables you to easily create custom post types and taxonomies, add metaboxes and metafields to all the WordPress data types (posts, pages, media etc.), and create settings pages and widgets. The Piklist Framework can be downloaded for free from the WordPress repository.

3. Gravity Forms

Gravity Forms

Gravity Forms is an advanced form builder, and includes a lot of functionality that can help with web apps. You can create forms to do CRUD operations on posts, pages and custom post types, as well as take advantage of functionality like commerce, scheduling and logic. Gravity Forms starts at $39 for a personal licence which doesn’t include any of the add-ons.

4. Toolset

Toolset Types plugin

Toolset enables you to add custom types and fields to the WordPress admin and create ‘parent/child’ relationships between different types, to build relational-type databases. You can create custom page templates and archives for displaying searchable custom data. It also includes built-in functionality for creating front end forms for submitting content and editing. The Types plugin is free, but access to more advanced functionality requires purchasing the full Toolset (starts at $149).

5. WordPress REST API

WordPress REST API plugin logo

No discussion about using WordPress for web apps would be complete without considering the REST API, especially with a non-WordPress front end. Finally moving from the outskirts as a plugin into WordPress core, the REST API is changing the way apps interact with the WordPress back end, as shown in the recently released Calypso desktop app. We will be seeing more development in this area going forward as the code matures.

8 Awesome Web Apps Built on WordPress

Now that you have a broad understanding of how WordPress can be used as a web app framework and have familiarised yourself with a few of the plugins that can make life a lot easier in the process, let’s explore six awesome web apps built on WordPress that showcase just how capable the world’s favorite CMS is!

1. Train.rs

Trainrs web app

Train.rs provides a totally custom WordPress admin for managing personal trainers’ business.

Train.rs provides online business management for personal trainers. It uses WordPress as a foundation to give users hosted websites with customized administration of clients, training schedules, and billing. With the focus on users and custom data, WordPress makes easy work of this app.

2. YouTooCanRun

The YouTooCanRun homepage.

YouTooCanRun is a custom WordPress solution for managing the organization of marathon races, including paid registration of participants, generation of bib numbers and management of the event. It uses a combination of the Event Espresso and WooCommerce plugins to provide the needed functionality. As most of the functionality required was standard event and commerce behaviour, a WordPress solution combining plugins was perfect.

3. Pressbooks

Pressbooks web app

Pressbooks manages book content and prepares it for publishing.

Pressbooks is online book production software. They have both a hosted version and a WordPress plugin. You can create your book online and then export to various file formats for book publishing. The tool is built in WordPress using customized admin screens for managing book information, for example. Pressbooks focuses on content, so WordPress is a great tool for this.

4. Focused on Fit

The Focused On Fit homepage.

Focused on Fit is an online fitness community built on WordPress. Interesting features include a database of food and recipes with nutritional facts, and the ability to log your meals and exercise and track your progress towards your goals. It goes further and uses the REST API to pull that data into mobile apps for use on the go. The social aspect and user management makes this a good use case for WordPress.

5. StudyChurch

The StudyChurch homepage.

StudyChurch is a web app designed to help small church groups work through study materials together. It pieces together several WordPress plugins, such as BuddyPress, and a forum to enable users to write lessons that are available to group members who can then discuss and collaborate on the answers. With the focus on users management and content, this is a great use case for WordPress.

6. Nomadbase

NomadBase web app

The REST API powers this app as it pulls together location data for digital nomads.

Nomadbase is a real time map for digital nomads. Using location data from your social media apps (Facebook, Swarm, Twitter or Instagram), users’ past, present and future positions are shown on a city-level to other nomads to encourage connections and interactions. It is built using the REST API with a React and Leaf front end. This is an interesting use case for WordPress, focused on user data.

7. Code Cavalry

The Code Cavalry homepage.

Code Cavalry enables coding novices and web designers to connect with experts over Google Hangouts to solve problems. Though based in WordPress, the app interacts with Firebase through AngularJS. The developer outlines the approach taken in The Road to Code Cavalry. The focus of this app is the users and so using WordPress gave a good head start in development.

8. Hello Bar

The Hello Bar homepage.

Hello Bar is a ‘Software as a Service’ (SaaS) platform designed to help users monetize their websites by building an email list. It provides you with ways to promote content, get more subscribers and measure and test the effectiveness of your campaigns. For more detailed information on how the team approached the development of Hello Bar you can check out the series of articles they wrote. They took advantage of WordPress’ built-in user management with custom themes and plugins to provide an experience that looks nothing like WordPress.

Conclusion

While WordPress is not perfect or suited for all web application needs, it can be a very useful tool for certain types of web apps. Stop thinking of it just as a blogging platform and you can start to see the possibilities for using its existing structure to help bring a web app to life quickly and under budget.

We have provided you with several examples of web apps built on WordPress which should have provided some inspiration and food for thought as to how you can use WordPress for more than just basic websites.

Have you built a web app using WordPress? Please share your favorite tools and tips that we may have missed in the comments section below!

Article thumbnail image by ideyweb / shutterstock.com

Article thumbnail image by Tom Ewer / elegantthemes.com

MVC Entity Framework error / EF Error

EF Error

 

 

Problem

From a page in IIS or a debug session in Visual Studio, you receive the following error:

The associated metadata type for type contains the following unknown properties or fields:

Please make sure that the names of these members match the names of the properties on the main type

Root Cause

The MetadataGenerator.cs file has references to out-of-date relationships.

Solution

Rebuild or edit the MetadataGenerator.cs file.  Since MetadataGenerator.cs is an autogenerated file.

Be careful that you don’t lose custom DataAnnotations that you have made for UI and client-side error handling.

For more information about Acumen Software Design, contact us today!

To learn more about Visual Studio, click on the link below:

https://visualstudio.microsoft.com/team-services/

Remotebuild 

remotebuild

Problem:

When installing remote build for Mac to enable Visual Studio Tools for Apache Cordova remote builds, you receive errors as shown in the text below:

MACSERVER01:~ acumenconsulting$ remotebuild test

Remote build server listening on [https] port 3000

Please view/edit server configuration at /Users/acumenconsulting/.taco_home/RemoteBuild.config. You many need to run ‘remotebuild saveconfig’ to generate it. You will have to restart the server if you update the server configurations.

Downloading: cordova@4.3.0

npm WARN engine npm@1.3.4: wanted: {“node”:”>=0.6″,”npm”:”1″} (current: {“node”:”5.1.0″,”npm”:”3.3.12″})

npm WARN install:rimraf@2.2.0 ENOENT: no such file or directory, chmod ‘/Users/acumenconsulting/.taco_home/node_modules/cordova/4.3.0/node_modules/npm/node_modules/rimraf/bin.js’

/Users/acumenconsulting/.taco_home/node_modules/cordova/4.3.0

└── (empty)

npm WARN ENOENT ENOENT: no such file or directory, open ‘/Users/acumenconsulting/.taco_home/node_modules/cordova/4.3.0/package.json’

npm WARN EPACKAGEJSON 4.3.0 No description

npm WARN EPACKAGEJSON 4.3.0 No repository field.

npm WARN EPACKAGEJSON 4.3.0 No README data

npm WARN EPACKAGEJSON 4.3.0 No license field.

npm WARN EBUNDLEOVERRIDE Replacing bundled npm > cmd-shim with new installed version

npm WARN EBUNDLEOVERRIDE Replacing bundled npm > read-installed with new installed version

npm WARN EBUNDLEOVERRIDE Replacing bundled npm > read-package-json with new installed version

npm WARN EBUNDLEOVERRIDE Replacing bundled npm > rimraf with new installed version

npm WARN EBUNDLEOVERRIDE Replacing bundled npm > sha with new installed version

npm ERR! code 1

Error: Downloading cordova@4.3.0 failed.

For more information please refer to http://aka.ms/TacoCliKnownIssues

Failed to load Cordova 4.3.0: TACO0204: Error installing cordova via npm. Exit Code: 1. See output for details.

Error: taco-remote test failed.

Error installing cordova via npm. Exit Code: 1. See output for details.

/usr/local/lib/node_modules/remotebuild/node_modules/q/q.js:126

throw e;

^

null: Error installing cordova via npm. Exit Code: 1. See output for details.

Solution:

This is caused by having Node.js 5.1.0 installed on the Mac. Downgrade to 4.2.2 LTS and the remotebuild test will succeed.

For more information about how Acumen can help with your other Software needs, contact us today!

CordovaAndroid Cordova

Visual studio will build your project for Ripple, but not for the Android Emulator nor for and Android Device.

The error is dependent upon your debug target platform.  If you are using the Emulator, it is trying to build for your Emulator version, if you are using a device, it is building for that device.

In my case, I had to use the Android SDK Manager to install the Android 5.0.1 (API 21) – SDK Platform.

I recommend installing the SDK Platform for all Android target platforms.  You don’t need to install any other components from each version.

For more information on Acumen Software Design, contact us today!

Entity Framework

Problem

In a project using Entity Framework, I received the error:

Error 111: Properties referred by the principal role MyTable must be exactly identical to the key of the entitytype when you compile the project in Visual Studio.

Entity Framework Resolution

I had two existing tables in the edmx diagram.

To create a relationship:

I had to make my identity field a primary key.  I then added the relationship.

In the entity framework diagram, I deleted and re-added the foreign table.

However, I did not delete/re-add the table with the new primary key.

Then, re-add the foreign table.

Next, Visual Studio added the relationship.  The problem is that it builds a relationship to a table that thought did not have a primary key.

When I deleted/re-added the primary key table from the diagram, the error resolved.

 

For more information on how Acumen can help you, contact us today!

For additional help, contact Microsoft Support by clicking on the link below:

https://support.microsoft.com/en-us/contactus/

Windows Audio Device Graph IsolationWindows Audio Device Graph Isolation

One of our laptops began having all sorts of lag problems and a process called Windows Audio Device Graph Isolation seemed to be the culprit.

It manifests itself largely on website that have video content that loads automatically.

Most sites nowadays experience this because of sidebar advertisements. There’s an easy solution that has yet to cause us any problems and dramatically improved performance on the laptop in question.

  1. Right click on the Sound Icon in the Tray (lower right corner of Task Bar)
  2. Playback Devices
  3. Right Click > Properties of the default audio device (the one with the green check)
  4. Enhancement Tab
  5. Check disable all enhancements (even if none of them are checked)
  6. Ok
  7. Ok

The performance is resolved!

The process in question is called audiodg.exe if you want to kill it individually, but the problem will tend to resurface.

For more information on how Acumen can help you, contact us today!

For additional help, feel free to click on the Microsoft Support link below:

https://support.microsoft.com/en-us/contactus/

 

FoxItFoxIt

 

Recent updates to this reader, as of Oct 5, 2015, are causing major performance issues. The problem is rather technical but the result is that if you happen to leave it up for a few hours your entire computer will slow to a crawl.

The team is looking into the issue according to their website but the solution is fairly simple. You must do two things.

  1. Uninstall the Cloud if it is installed
  2. Delete or change the name of the file: DocoShare.fpi

Uninstall Cloud

  1. Control Panel
  2. Add/Remove Programs
  3. Foxit Cloud > Remove

Delete or Change DocoShare.fpi

  1. Open File Management (Windows Explorer, Computer, My Computer depending on Operating System)
  2. Open C:\Program Files (x86)\Foxit Software\Foxit Reader\Plugins (or something similar depending on OS)
  3. Rename or Delete DocoShare.fpi
    1. I like to rename personally and called it DocoShare-old.fpi

This should solve the problem. Hopefully FoxIt will eventually come up with a solution which will be implemented on an update.

For information about how Acumen can help you, contact us today!

For more information about Cloud Computing, visit the site below:

https://en.wikipedia.org/wiki/Cloud_computing