Category «Web»

The Woes of Windows Store App Submissions

I recently submitted a Windows 10 / Windows Phone app to the Windows Store named Data Viewer for Dota 2. I’m here to warn the world just how awful the process of submission can be.

Microsoft first created the concept of the Windows Store with the release of Windows 8, Windows RT, and Metro Apps — I mean Windows Store Apps — I mean Universal Windows Apps. Whatever you want to call them, the store quickly became an unregulated messy disaster full of copycat and scam apps. Many, many apps were nothing more than front ends to scamming websites, copies of things like Facebook, or general do-nothing apps with a price tag and description which made it seem like a good purchase.

In order to address this problem, in normal Microsoft fashion, Microsoft decided to wait 3 years and come up with a new process of submitting the app. Every app would be held to “rigorous” standards which would guarantee all apps were clearly named and labeled to prevent confusion and scams. There are several guideline posts out there from Microsoft, and you can rest assured that all of them are vague and barely helpful.

So how did this affect my app? Originally, the app was named “Dota Database” after its sister site and had the same icon as appears on that site. The first submission resulted in this super helpful message: The app name and icon do not accurately represent the features.

Uh…OK? I’m not sure it could

Continue reading

How to Rename Your App in Windows Store

This applies to the Windows Store and Windows Dev Center as of March 1, 2016 and assumes you are uploading a Windows 10 Universal Platform App.

The Windows Dev Center started out badly back in Windows 8, and it hasn’t improved too much since then. I have to be honest when I describe it, because it’s sometimes nothing short of painful. One of those pain points is the UI and poor documentation regarding the concept of the “App Name”.

In order to submit to the store, you need to create “App Packages”. Each package has metadata associated with it that you define in your “App Manifest” (Package.appxmanifest in your project). This manifest is where the app’s name must match exactly with whatever names you have reserved in your Dev Center for that app.

Creating the App Name

When you create an app submission, you have to pick an “App Name”. This is the name that is displayed across your Dev Center Dashboard and the Windows Store. This name also has to match exactly in your app’s created manifest. That secret bit of information isn’t documented well and seems to only appear in tiny text when you are creating an app package through Visual Studio.

Changing the App Name

If your app has not yet been submitted to the store, then you can change the name by reserving a new one in the Dev Center, changing the manifest to that name, creating an app package, and then uploading that package.

Continue reading

Don’t Bother with WordPress on Windows/IIS

I’ve written in the past about how to setup WordPress on an Azure App Service and about connecting that WordPress instance to MySQL in an Azure VM. While these articles do contain some useful information about setting up WordPress and its interaction with Azure services, I’ve come to the conclusion that WordPress simply doesn’t function as nicely when hosted on IIS.

For about 1-2 years, I hosted several WordPress blogs in Azure App Services which connected to MySQL instances on an Azure VM (exactly as described in my articles above). I struggled endlessly with strange plugin issues and constant timeouts when attempting to connect to MySQL. For example:

  • Certain caching plugins complained that certain settings could not be applied due to IIS
  • WordPress.com and JetPack integration sometimes didn’t detect plugin and WordPress updates properly
  • When attempting to update plugins from WordPress.com or JetPack, it would simply fail with no error messages
  • Random and intermittent “Database connection” failures would occur even though I could guarantee the username/password/connection information was correct (especially since connections would succeed and then fail 30 seconds later)

I tried debugging these issues for months including monitoring incoming traffic on the VM to diagnose MySQL connection timeouts but was ultimately unsuccessful in determining a solution. Actually, that’s not entirely accurate. I did come up with a solution. I stopped using WordPress on Azure App Services.

So what to use then? I decided on using my existing VM to host the classic LAMP stack. It was already running

Continue reading

Security, insurance, encryption, and your expensive belongings

People these days tend to buy a lot of gadgets and electronics. Between our smart phones, televisions, cars, computers, tablets, and e-readers, the expense can add up. Many times, we overlook the importance of cataloging everything that we own for various reasons.

First, it keeps us honest. Do we really need another iPhone if we just bought one a year ago? Probably not. Your stash in our service will remind you of when you purchased something (provided you are honest).

Second, theft and loss are real things. We like to pretend that bad things will never happen to our expensive stuff, but it can and probably will. A phone that costs $600 is not something to take lightly, especially if your daily activities require a lot of movement. Documenting the condition of your belongings, when you purchased them, the purchase receipts, and any other details about them can help with police reports and your home or rental insurance.

Third, it’s quite convenient and safe to store your information in online stash. You can pull up your stash on any device that you own immediately. You don’t have to go searching through paper receipts, pulling out the TV to find out what model you have, or go digging through your file cabinets. Everything in your stash is ready for you and secured with multiple levels of security.

Get started for free at https://www.saferstash.com.

Continue reading

Change excerpt length in WordPress

Some themes have hard coded (built in without options) lengths for excerpts on the home page, search results, and archive pages. Without the ability to change this easily, you’re left with a theme that may not suit your needs. The two choices that I find to be the easiest are to edit your functions.php file to include a filter or to install a plugin to handle this for you. Either way is fine, though you may use one over the other based on your experience with WordPress internals.

Plugin

This is by far the easiest method, though not the most customizable. You’re bound by whatever the plugin allows you to change, and there’s no guarantee that the plugin will work with whatever version of WordPress is installed on your host.

  1. Search for the Advanced Excerpt plugin.
  2. Go to its settings page and choose your options.
  3. The first setting is the excerpt length (based on words or characters).
  4. The rest allows you to change what is being filtered, what text you want to show when the user can read more, and other options.

Functions.php

If you’re more comfortable with coding, changing WordPress internals, and have general access to the source code of your host’s WordPress installation, then this is the best option for you.

  1. Using a FTP client (I use FileZilla), connect to your host’s WordPress installation.
  2. Download and edit the functions.php file.
  3. Add the following to the file, where “20” is the length of the excerpt. Change that to whatever
Continue reading

Setup a blank WordPress site in Azure

One of the reasons WordPress is hugely popular is because it’s super easy to setup and has a large developer base around it which is responsible for creating many useful plugins. If you’re interested in setting up WordPress in Azure, look no further! Make sure you understand the pricing structure of Azure before you go this route. Often, the cost isn’t really worth the return unless you have 5+ blogs that you want to setup on Azure. You can stick to the Free or Shared ($10/mo) tiers, but the performance can suffer quite a bit depending on your site’s popularity and you may not get certain features like custom domains and SSL support.

Azure can be a little confusing for newcomers who don’t realize that some functionality is split across two different portal/management sites. One of these (the “new” portal) is in Preview status while the other (the “old” portal) is the status quo which should be used for most operations. You can follow either section below to achieve the same result, though one may be simpler than the other depending on your use cases.

“Old” Azure Portal

  1. Login to the “old” Azure Portal with your Microsoft Account.
  2. In the lower left, click New > Computer > Web App > Quick Create.
  3. Enter the URL name that you want. If you end up selecting the Shared pricing tier or above (Basic, Standard, Premium) you will have the option of setting up a custom domain. See my guide to doing this
Continue reading

Custom authorization with ELMAH and ASP.NET Identity Framework

If you’re using any of the most recent ASP.NET MVC 5 project templates with authentication and authorization built in, then you’re probably using the ASP.NET Identity Framework. With any ASP.NET project, it’s smart to add references to the ELMAH library just in case any unhandled exceptions occur. You can use both of these libraries together to restrict access to the remote ELMAH page with custom authorization.

First, install the Elmah.MVC package from NuGet. This should download the correct libraries and add the necessary lines to your web.config.

Substitute the “your_user_name” entry with your own username that you’ve setup in the ASP.NET Identity Framework backend. For example, the AspNetUsers table in SQL Server contains your usernames. It appears that ELMAH does get the authentication information from the current thread principal, which the ASP.NET Identity Framework will establish on your behalf upon login.

Continue reading

The required anti-forgery cookie “__RequestVerificationToken” is not present.

In your ASP.NET MVC adventures, you may come across the following error when loading a view.

The required anti-forgery cookie “__RequestVerificationToken” is not present.

After searching Google for awhile, you might become desperate with the many different solutions presented. Normally, the solution to this issue is related to the ValidateAntiForgeryToken attribute on actions. When accessing a GET action, you don’t need to use the anti-forgery token.

However, this is not the only solution. In my case, my web.config had this entry:

Checking the project settings in Visual Studio revealed that my project was not set to use SSL which caused a conflict. Either comment out the above line or set the project to always use SSL.

Continue reading

Redirect your azurewebsites.net URL to your custom domain URL

If you’ve attached a custom domain to your Azure Websites setup, you probably want people and search engine crawlers to use the custom domain URL instead of the free azurewebsites.net URL. You can setup your application’s web.config to include the following.

Add the following to the system.webServer section of your web.config, but make sure you replace the “yourdomain” text with your own domain information.

Continue reading

Connect WordPress to Custom MySQL with Azure VM

The title is a bit of a mouthful, but I promise it’s not as crazy as it seems. If you’re anything like me, you became interested in cloud computing and stumbled upon Microsoft’s Azure platform. There are plenty of wizards built directly in to the Azure Dashboard which allow you to automatically create and setup websites, virtual machines, and databases without ever needing to perform extra configuration. However, there are some cases where you might want to setup a custom database for a specific purpose. WordPress is one great example which may require you to setup your own MySQL databases in a virtual machine. In fact, this guide assumes that you already have a WordPress Azure Website setup.

Continue reading