Fixing the GoDaddy WordPress FTP credentials issue

Over the past few years, people have been writing about an intermittent issue with WordPress sites hosted on GoDaddy where upon trying to update the WordPress site, the user is prompted for FTP credentials but the credentials are not accepted.This issue doesn’t seem to occur on fresh installations and no one is quite sure what is causing the issue.

Though people have been having this issue primarily on GoDaddy hosted WordPress sites, it’s a GoDaddy feature itself that allows you to address the issue.

  1. Log in to your GoDaddy hosting account and proceed to the web Hosting Details page for your site.
  2. At the top of the page, you will see the Homepage Snapshot

    Homepage Snaphot

    Homepage Snaphot

  3. Click on Manage WordPress get a list of applications you have installed on your hosting account.
  4. Select the site you are experiencing the issues on and click “Update to x.y.z”. As of writing this blog entry, the latest version is 3.5.1

    Update to new version

    Update to new version

  5. Confirm the upgrade

    Confirm the upgrade

    Confirm the upgrade

  6. The interface will update to show the installation process

    Updating display

    Updating display

  7. Once the installation is complete, log in to your site’s dashboard and you will be presented with the chance to update the underlying database for your WordPress site. Click the button to update the database and your site will be up and running with the new version of WordPress. If you proceed to your plugins page, you will be able to update your other plugins using the regular process.

A review of Themify’s Minshop theme

MinShop is a responsive WooCommerce theme from the good people at themify.me. In building out the eCommerce solution for The Men’s Fashion, MinShop has allowed us to jump start the front end thus saving weeks of design effort and allowed us team to deliver a working product in minimal time.

Responsive Layout

MinShop is implemented as a responsive layout meaning that the site is accessible for both desktop and mobile audiences. You can test this out for yourself by resizing your browser window. The “mobile” view is accessible on your desktop if you re-size your browser to 480 pixels. The entire top navigation becomes a mouse/touch enabled menu that is easier to navigate in a mobile browser.

Layout and Design

MinShop offers a minimal interface but also allows you to choose from a variety of skins to help you get your store out the door as quickly as possible. The theme is responsive, so the site looks great on both desktop and tablet/phone browsers out of the box.

Slider

The slider feature has been instrumental in showcasing new and featured products.

Social Sharing & Open Graph

Out of the box, the MinShop theme generates the OpenGraph tags that will control how your pages’ content are displayed when shared on Facebook, Pinterest, and any other OpenGraph enabled service.

Feature Wishlist

There are a few additions I would love to see the MinShop team make on their great theme.

  • More HTML5 semantic markup
  • The ability to have the copy for the Shop page show to the left or right of a 2 or 3 column grid of products
  • hProduct micro format integration for the product detail page to help the products display better in search results

ASP.NET MVC4 Project + SQL CE 4 limitations

With the official RTM release of Visual Studio 2012 and the MVC 4 project (also available for VS 2010), I have been using some of the features of new features and out of the box features of hte MVC 4 project to ease the development of my user stories.

SQL CE 4 made database backends much simpler by allowing developers to utilize a SQL engine even if you don’t have it installed on your computer and the zero-config usage is great. SQL CE does have some its limitations and the OAuthWebSecurity class  exposes one such limitation: Transasction Scopes.

Given a development environment with a SQL CE 4 database, you can register a number of authentication providers such as Facebook and Google out of the box with no issues.

Dictionary<String,Object> facebookPermissions = new Dictionary<string,object>() ;
facebookPermissions.Add( "scope", "email" );
OAuthWebSecurity.RegisterFacebookClient(
  appId: "My Facebook App ID",
  appSecret: "My Facebook App Secret",
  displayName: "Facebook",
  extraData: facebookPermissions
);

OAuthWebSecurity.RegisterGoogleClient();

The limitation materializes when trying to disassociate the authentication provider (in this case, Google) from the base account. If you are using SQL CE 4 and the code made available to you with the out of the box ASP.NET MVC 4 project, you will get the following error when attempting to disassociate the account with the OAuth provider.

The connection object can not be enlisted in transaction scope.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: The connection object can not be enlisted in transaction scope.

Source Error:

Line 110: using (var scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = IsolationLevel.Serializable }))
Line 111: {
Line 112:  bool hasLocalAccount = OAuthWebSecurity.HasLocalAccount(WebSecurity.GetUserId(User.Identity.Name));
Line 113:   if (hasLocalAccount || OAuthWebSecurity.GetAccountsFromUserName(User.Identity.Name).Count > 1)
Line 114:   {