About InteractiveWebs

This blog is the combined blog work of the InteractiveWebs Dev Team. Together we work on a range of DotNetNuke (DNN) applications, modules, Silverlight, and Microsoft CRM Portal integration products. Our Business is website design and hosting, with a strong focus on DotNetNuke, Microsoft Dynamics CRM, Silverlight and iPhone iPad development.

DotNetNuke can’t upgrade as Host Login does not work

DotNetNuke Upgrade Fails. Cannot login with Host.

If you are trying to upgrade your DotNetNuke site and found that you are presented with the Welcome to the DotNetNuke Upgrade Page, but can’t login with your Host (SuperUser) account.

image

DotNetNuke Upgrade – Version 06.02.07

Current Version – 06.02.05

Welcome to the DotNetNuke Upgrade Page.

The first step is to choose the language you wish to use for the Upgrade.

You are about to upgrade your website to a more recent version of the DotNetNuke application. Applying upgrades on a consistent basis is the best way to ensure that you are protecting the integrity of your investment and the security of your users and assets. Before proceeding with the automated upgrade process please ensure that:

  • you have made plans to first attempt this process in a staging environment
  • you have documented your current installation characteristics including doing research on the compatibility of any third party modules which you may be using
  • you have created the necessary backups of your environment so that you will be able to restore your website in the event of an unexpected upgrade failure.

Solution

Just simply close your browsers, or better yet, grab a browser that you have not accessed for some time. Then try hitting your URL and loggin in with the new browser session. While I did not bother to work out what the cache issue was, I did find it was cache related to an open browser session that was trying to authenticate to a previous session.

Easy when you know how~!

.zip files from Mac OS show up as green/encrypted

Green files and folders on Windows 7 indicate they are encrypted.

Usually this is a function of a program that will make these files encrypted for a reason. Security is usually the reason. But…

An interesting little bug in the process of creating a .zip file on a mac and moving it over to a Windows computer.

When a .zip file is created according to standards for .zip files found here:

http://www.pkware.com/documents/casestudies/APPNOTE.TXT

They specify that .zip archives include a tag informing about itself to the program trying to decompress the archive. This tag information is known as the “version made by” and as the name suggest, it would tag information about the program version of .zip and the files system in use.

 0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems)
          1 - Amiga                     2 - OpenVMS
          3 - UNIX                      4 - VM/CMS
          5 - Atari ST                  6 - OS/2 H.P.F.S.
          7 - Macintosh                 8 - Z-System
          9 - CP/M                     10 - Windows NTFS
         11 - MVS (OS/390 - Z/OS)      12 - VSE
         13 - Acorn Risc               14 - VFAT
         15 - alternate MVS            16 - BeOS
         17 - Tandem                   18 - OS/400
         19 - OS/X (Darwin)            20 thru 255 - unused

When the Mac system encrypts the files, it marks them with the attribute of being UNIX based files. Correct considering the Mac operating system is based on UNIX.

The problem arises at the Windows end. Because Windows is created by the most arrogant computer company in the world, it does not recognise that a .zip file could have been created with a computer that is not running Windows. It fails to correctly see the flag as UNIX and marks the files as Encrypted.

Leaving Files Encrypted

If the files are left as encrypted, you may find that there are problems if the files are shred on a network drive etc. Taking ownership will not change this flag, and resetting permissions does nothing.

The Easy Fix – Remove Encrypted Tag

Removing the incorrect Encrypted Flag on a green file in Windows 7, or Windows Server is really easy. Right click the file or files (holding the shift key to select multiple folders and files) then Click: Properties / Advanced / Un-tick the Encrypted Option

 

That’s about it. All fixed.

Internet Explorer will not display some JPG Red X

A jpg image opens in Firefox but not Internet Explorer

Question

A jpg image opens in Firefox but not Internet Explorer.

Answer

Microsoft Internet Explorer 8.0 dropped support for jpeg images saved as CMYK and now only supports images saved in RGB mode. Below is an example and easy way to verify this issue. In the below example, we have two images; one saved in CMYK and the other saved as RGB.

CYMK Image
CYMK example image
RGB Image
RGB example image

If this issue exists, the CMYK image will appear as a red X or broken image in Internet Explorer. However, opening this page in Chrome or Firefox should show both images. If both images are visible to Internet Explorer, this is not the issue with your version of Internet Explorer.

Out suggestion would be to use just about any other browser that IE 8. Update to Chrome or Firefox and use that browser.

Setting Up WordPress on Amazon EC2

Last evening I signed up for Amazon Web Services (AWS) free usage tier to test the features and available services. Another reason was to use Amazon Simple Storage Service (Amazon S3) for storing my site’s backups.

The services are available at fairly reasonable price. Especially, if you are using S3 then you are making a very good deal.

Since, the free usage tier comes with 750 free hours of Amazon EC2 for each month for a year I thought of giving it a try and running WordPress.

Here is a step-by-step guide to setting up and running WordPress on Amazon EC2.

Sign up / Log in to your AWS Account:

If you do not have an AWS account then you can signup for the free usage tier and login to your account.

Setting up our server:

After you have logged in to AWS account, click “My Account / Console”  in top right corner of the screen and then click on “AWS Management Console”. You will be presented with something like this :

Click on “EC2″ link and you will be taken to the EC2 Dashboard. Click on “Launch Instance” button to create a new instance. Follow the “Classic Wizard” as shown below :

classic-wizard

Click “Continue” and on the next screen select “Ubuntu Server 12.04.1 LTS”

Quick-StartOn the next screen, you can proceed with the default settings. Make sure that “Instance Type” is set to “Micro” because that comes free with AWS Free Usage Tier. Click “Continue”

Instance-DetailsClick “Continue” on the next screen :

Instance-Details-1Again, click continue on the next screen.

After that you can add a “Name” for your instance for better organization. I have named it as “WordPress”.

Add-TagNow, you need to create a “Key Pair” so that you can connect easily with your server via SSH. Give an easy to remember name to your key pair and download the file. Keep the file in a place that you can remember. As you will need this file to connect with your server.

key-pairNext step is to configure the Firewall and make sure that only required ports are open for our server. Create a new security group. I have named it as “WP”. Now, click the dropdown for “Create a new rule” select SSH and click “Add Rule”. Repeat it for HTTP.

security-group

And we are done, setting up our instance. Click “Launch”.

launch-server

Go to “Instances” page and you will see your new server being initialized and in some time it will be up and running. But, it’s not yet ready to run a WordPress site.

We need to setup the essential services to run WP : Apache, PHP and MySQL.

Connect via Terminal

Select the instance which we created above and click “Instance Actions”, in the pop-up menu click on “Connect”

connect-terminal

Here you will need to enter the path of key file that you saved to your computer while creating the instance. Once that’s done you can click “Launch SSH Client”. If you wish you can also store key location in browser cache so that you won’t need to re-enter it every time you connect.

launch-ssh-client

Setting up Apache :

Now, we are connected to our server. Next step is to setup Apache. By default, you will be logged in as user : ubuntu. Let’s switch the user to “root” so that we can get complete access. Use the following command to do so:

sudo su

view rawSwitch to Root userThis Gist brought to you by GitHub.

Use the following command in terminal to install Apache on your server:

sudo apt-get update

sudo apt-get upgrade

apt-get install apache2

view rawInstall ApacheThis Gist brought to you by GitHub.

After the installation is complete, look for Public DNS of your instance as shown below:

public-dns

Copy this Public DNS and paste it in browser’s address bar. You will see a test page for Apache like below :

apache-test-page

Installing PHP5

Our Apache is working and now we will install PHP5. For installing PHP5 use following commands in your terminal:

12345

apt-get install php5

 

apt-get install libapache2-mod-php5

 

/etc/init.d/apache2 restart

view rawInstall PHP5This Gist brought to you by GitHub.

Note: If your PHP installation fails with a message such as “Unable to fetch some archives…” then run the following command and repeat the above process:

apt-get update

Now, your web files placed in /var/www/ can be accessed in the browser via Public DNS.

Let’s create a test PHP file to make sure that we have PHP running properly. Use the following command to do so :

123

cd /var/www/

 

vi mytest.php

view rawPHP InfoThis Gist brought to you by GitHub.

This will create a new PHP file and open editor. Follow the following steps to add content to file :

  1. Press i to switch to insert mode.
  2. Type <?php phpinfo() ?>
  3. Hit escape key
  4. Type :wq to write the contents to file and quit the editor.

php-info

After creating the file run the file in your browser using the address as your-public-dns/mytest.php and it will show a page like below :

php-test

Now that PHP is running perfectly on our Apache. We need MySQL for creating database.

Install MySQL

Process for installing MySQL is similar to the process we followed for installing PHP. Use the following command in terminal to install MySQL :

1

apt-get install mysql-server

view rawInstall MySQL serverThis Gist brought to you by GitHub.

During installation process you will be asked to create a password for “root” user. Keep this password safe in your memory or computer because this will be required to access the database later on.

mysql-password

Since we need to run PHP5 with MySQL, we will also install PHP module for MySQL using the following command

123

apt-get install php5-mysql

 

apt-get install libapache2-mod-auth-mysql

view rawPHP5 MySQLThis Gist brought to you by GitHub.

After this we can create database and continue with setting up WordPress. But, it will be nice to setup phpMyAdmin visual interface. So, let’s go ahead with it.

Installing phpMyAdmin

Use the following command to install phpMyAdmin and make sure you configure it for “Apache2″ web server :

1

apt-get install phpmyadmin

view rawphpMyAdminThis Gist brought to you by GitHub.

php-myadmin-setup

Follow the instructions on screen and remember the password that you enter in each field. After the installation of phpMyAdmin is complete we need to configure our Apache to make phpMyAdmin accessible via browser.

Use the following command for configuring Apache:

123

ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf

 

/etc/init.d/apache2 reload

view rawConfigure ApacheThis Gist brought to you by GitHub.

We restart the apache web server so that it picks up our changes.

That’s all done. Now, you can access phpMyAdmin in browser via your-public-dns/phpmyadmin

Enter username : root and the password which you created while installing MySQL.

php-myadmin

Login to the admin and create a new database that we will use later for installing WordPress.

Now, we have all essential elements on our virtual server for running WordPress and everything is working perfectly. So, let’s install WordPress.

Downloading WordPresss

First  we will navigate to the home directory of our server and then download the latest copy of WordPress and extract it to /var/www directory by using the following command :

123

cd

wget http://wordpress.org/latest.tar.gz

tar -xzvf latest.tar.gz -C /var/www

view rawDownload WPThis Gist brought to you by GitHub.

By default, all the files will be extracted in a directory “wordpress” so your files are at /var/www/wordpress/ to move the files to root of web server and then remove the “wordpress” directory we will use:

123

cp -avr /var/www/wordpress/* /var/www

 

rm -rf /var/www/wordpress

view rawmove WP to rootThis Gist brought to you by GitHub.

Before we install WordPress we need to map our domain name with the virtual server so that the site is accessible easily.

Mapping Domain Name :

Now we have everything ready in place and all we need to do is map our domain with our virtual server. For this you will have to associate an IP with the instance and map the domain name to that IP.

Head back to EC2 console and click “Elastic IPs” in the left pane. Click “Allocate New Address”

allocate-elastic-ip

Now, you will see a new IP address in the console. Click “Associate Address” to associate this IP with your instance.

associate-ip

Now, switch to back to “Instances” panel and you can check the attachment status.

elastic-ip

You will need to connect to your server by IP address now. Your hostname (public DNS) will no longer work, and if you detach the IP, your instance will be assigned a different hostname (public DNS). So, it’s best to not to change IP or detach it.

You can map your domain name to this elastic IP and it will work perfectly.

For now, I am using IP to access and setup the site. I entered elastic IP in address bar followed by /index.php and it came up with WordPress installation page.

create-wp-config

That’s all! Now, you can use follow the steps of WordPress installation, enter required details and setup the site.

Oh but wait! I came up with this :

cant-create-wp-config

This is because our current apache user doesn’t have rights to write to the file. To fix this error we will grant access rights to our current apache user. First connect to the server via terminal as we did in the beginning and then execute following commands :

12

sudo chown -R www-data /var/www

sudo chmod -R 755 www-data /var/www

view rawFile permissionsThis Gist brought to you by GitHub.

Here, www-datais the default apache user.

There is another issue left to be fixed. That is use of htaccess file and Pretty Permalinks in WordPrses. We will enable use of htaccess file and then enable the rewrite engine for Pretty Permalinks.

Enable htaccess and URL Rewrite

To make .htaccess files work as expected, you need to edit default apache file :

1

sudo vim /etc/apache2/sites-available/default

view rawEdit Apache default fileThis Gist brought to you by GitHub.

Look for :

123456

<Directory /var/www/>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

view rawApache DefaultThis Gist brought to you by GitHub.

Press i to enable insert mode and replace AllowOverride None to AllowOverride All. Now hit escape key and type :wq to write the changes to file and exit the editor.

htaccess-file

Restart the apache web server for changes to take effect.

1

sudo /etc/init.d/apache2 restart

view rawRestart ApacheThis Gist brought to you by GitHub.

Continue with WP installation

Finally! You are all set to run WordPress site on Amazon EC2. Proceed with the installation process and it will work.

Like I have it here:

Amazon-EC2-WordPress-Site

Here comes the end to my tutorial. I am not a server administrator or a linux expert. This was a result of my hit-and-trial experiments. So, if you have any suggestions for improvement then please feel free to share your comments.

Changing SMTP Port 25 to a non blocked port

How to Change Port 25 in your email client

Sometime your ISP will block port 25 and prevent you from sending SMTP email on that port. Your email service provider may ask you to change the port being used to something other than port 25.

 

Most email programs have configuration settings like this:

image

Where on the Advanced Tab or similar depending on the email program in question there are settings for the outgoing SMTP server.

To change the SMTP port from 25 to 587 for example you just replace this:

image

Click OK and you are done.

Note:

It should be noted that the port number to use must be provided to you by your Email ISP.

CRM 2011 Email Router Setup and Settings

Often with the setup of CRM 2011. Users experience messages about Pending e-mail warning and sometimes email messages are not sending.

This can be especially frustrating as both the CRM email queuing and tracking system and the Email router application are terrible to help you understand exactly what is going on with your CRM e-mail.

We mentioned some of the issues we have experience here:

http://www.interactivewebs.com/blog/index.php/server-tips/crm-2011-email-router-problemsshes-a-fickle-bitch/

Here are some basic setup tips for email in Microsoft CRM 2011

1. Out of the box, CRM does not send email messages. You need to configure an application known as CRM 2011 Email Router to have email messages send.

2. You also need a working SMTP (email server) that is configured to allow the relay of email messages from email accounts at your domain name. This can be achieved with Amazon SES message service or your own servers. We can assist you setup Amazon SES if you need assistance with this.

3. You should install and configure your Email Router. Some notes to help you may include these: http://www.interactivewebs.com/blog//?s=email+router

Recommended email settings in CRM 2011

1. Out of the box. CRM will only be able to send email messages to leads, contacts, and accounts. Until you change this setting found in the Admin / System Settings in CRM.

image

2. Avoid delayed email messages in CRM by Approve Email Address. In the Administration / Users. Go into each user and approve the configured email address.

image

There is a view of users who are Pending Email address approval to help identify who is needing approval.

image

Also uncheck the option for Process emails only for approved users and process email only for approved queues. Administration / System Settings.

image

 

3. Configure users email settings to use the email router for outbound email messages. (optionally inbound configuration too).

image

Our recommendation is to set the outbound processing for the email router. This will allow emails generated by the crm system to be delivered right away via the email router. This also means that you do need to install and configure the email router.

The above settings can be set automatically for all users by the use of a simpler out of the box workflow that runs on create of new users.

image

4. The next setting is recommended. Knowing that email can be tracked in CRM with the outlook client:

image

Email messages can automatically be tracked too.

image

5. The all powerful features of creating contacts in CRM when and email address is not known.

image

This is a great way to automatically get more leads or contacts (depending on your business) in crm. And depending on your business can also be a great way to pollute your crm full of contacts or leads that you don’t want.

Troubleshooting Tips

To troubleshoot an E-mail Router outgoing profile configuration, follow these steps:

  1. Make sure that you follow the incoming profile configuration procedures in the E-mail Router Configuration Manager Help.
  2. For more information about how to configure an incoming profile, see the E-mail Router configuration information in the latest version of the Installing Guide that is included in the Microsoft Dynamics CRM 4.0 Implementation Guide.
  3. Refer to the following sections for information about how to resolve commonly encountered outgoing profile issues.

Test Access error

If there is a problem with your outgoing e-mail configuration, you may receive the following error message when you click Test Access on the E-mail Router Configuration Manager:

"Outgoing status: Failure – An error occurred while checking the connection to e-mail server EXSERVERNAME. The requested address is not valid in its context"

If you receive this message, follow these steps to troubleshoot the problem:

  1. Run a telnet command to verify that connectivity is functioning between the computer that is running CRM Router and the Exchange Server. For example, start the TELNET utility and enter the following command:

    TELNET EXSERVERNAME PORT

  2. Make sure that you have no antivirus services running on the Exchange Server computer that prevent connection by using port 25.
  3. For information about how to configure the SMTP server to allow relay messages from Microsoft Dynamics CRM, see KB article 915827.

E-mail error when message sent from the Web application

Symptom: When a user sends an e-mail message by using the Web application, the user might receive one of the following messages:

This message has not yet been submitted for delivery. 1 attempts have been made so far.

The message delivery failed. It must be resubmitted for any further processing.

Resolution: For information about how to resolve this issue, see KB article 915827.

Load Data error

When you click Load Data in the E-mail Router Configuration Manager, you receive the following error:

The E-mail Router Configuration Manager was unable to retrieve user and queue information from the Microsoft Dynamics CRM server. This may indicate that the Microsoft Dynamics CRM server is busy. Verify that URL ‘http://OrganizationName‘ is correct. Additionally, this problem can occur if the specified access credentials are insufficient. To try again, click Load Data. (The request failed with HTTP status 404: Not Found.)

To resolve this problem, follow these steps:

  1. Make sure that the user account that is running the E-mail Router Configuration Manager service is a member of the Active Directory PrivUserGroup security group.
  2. The account that is specified in the Access Credentials field on the General tab of the E-mail Router Configuration Manager must be a Microsoft Dynamics CRM administrative user. If the access credentials are set to Local System Account, the computer account must be a member of the Active Directory PrivUserGroup security group.
  3. Make sure that the URL is spelled correctly. The organization name in the URL field is case-sensitive and must be spelled exactly as it appears in the Microsoft Dynamics CRM server. To view the organization name as it appears in the Microsoft Dynamics CRM server, start the Web application. The organization name appears in the upper-right corner of the application window.
  4. The DeploymentProperties table may have incorrect values if you have modified the port or hostheaders on your Web site. To update the DeploymentProperties table see, KB article 950248.

Pending Email warning

image

On the Email Router, configure:

1. Check event view for Email Router related errros

2. Change the send email

3. Restart CRM email Router service

4. Reduce the pooling time and conneciton timeout

image

 

Automatically Resending Failed Email Messages

The Advanced find can be used to find email messages that have not sent. A workflow can also be created to resend messages automatically. However constant failures is going to indicate a problem some other place. So the use of this automatic workflow should not be introduced in place of fixing your sending issues.

Steps to create the workflow to re-send failed e-mails:

1. Create a new Workflow in CRM | Processes on the E-mail entity

image

2. Set the workflow to be Available to Run “As an on-demand process”, Change the scope to Organization and uncheck “Record is created”.  This will make the workflow available to run On-Demand, function for all e-mails in the organization and also not run when every time a new e-mail is created as we just want to use this when needed on specific e-mails.

image

3. Click “Add Step” and choose “Change Status”

image

4. Set the E-mail to a status of “Pending Send”

image

5. Click Save and then Activate in the toolbar.  Click ”OK” to the message to confirm you want to Activate the workflow and then click “Close” on the workflow.

image

Advanced Find to see how many e-mails are in a failed status:

1. Open Advanced Find by clicking the “Advanced Find” button in the CRM ribbon

image

2. Select “E-mail Messages” in the Look For option set and then select “Status Reason” and set it equal to “Failed”. Then click the Results button in the Advanced Find ribbon.

image

3. You can refine the results using the filter criteria from here as well in case you do not want to re-send all of the e-mails. Once you are done, multi-select the e-mails you want to re-send and then click the “Run Workflow” button in the CRM ribbon.

4. Select the e-mail workflow that you created using the steps above and click OK.

The workflow will then run and change the status of all the e-mails you had selected back to “Pending Send”.  This is an asynchronous process, so it may take a few minutes depending on your current asynchronous workload in CRM.  Then the CRM e-mail router will process them again and send them out through SMTP as expected.

Still Need Help?

Here at InteractiveWebs we know how terrible this component of Microsoft CRM is. Actually, in our opinion, it is difficulties like these that really shows Microsoft is not at all interested in giving it’s customers a good experience. Much of the multitude of steps and better monitoring could be fixed with very little effort from Microsoft, yet after years of CRM, much remains the same.

In any case, if you need paid administration assistance to get your email working on your CRM system, be it Cloud Microsoft Hosted, IFD, or On Premises, we are available. Please contact us at: http://www.interactivewebs.com by submitting a support ticket.

Download Rollup 12 for Microsoft Dynamics CRM 2011 is Available–Finally

Reposted: Today the update Rollup 12 for Microsoft CRM 2011 (CRM 2011 Polaris on premises) is available for download at this location:

Download

http://www.microsoft.com/en-us/download/details.aspx?id=36229

 

This update is the long awaited one that is doing the UI update that will add the support for multiple browsers apart from Internet Explorer.

The image above depicts the functionality included in Polaris. I will now touch upon some of the key ones in a little more detail, hopefully in plain English!

  • Flow User Experience – this is a whole new UX development approach for CRM to remove the number of screen pops that occur during a standard process. In the case of Polaris, Lead and Opportunity and Case management processes will be included. It is important to note that this feature will be turned off for existing online customers, but can be opted into and for new online customer post the release this will be on by default but can be turned off. Flow UX will not be configurable for any other entity other than the Lead, Opportunity and Case in the first release. In the Q2 2013 we would expect that this will be more configurable for custom entities. This is a big step forward on UX development and cements the user experience expected on mobile devices
  • Browser Flexibility - This will enable CRM to be run on a number of browsers including Safari on the IPAD.

  • Yammer Integration – Tighter integration between CRM and Yammer beyond the current embed functionality. This will enable features such as Like, Follow, visible from within CRM or Yammer and the ability to do global search from yammer to CRM. Yammer will become the future Activity Feeds.  Aligned to this was the recent announcement of pricing plan changes that can be found here https://www.yammer.com/about/pricing/ making it very affordable to organisations to adopt.
  • Skype integration – As per my previous blog this is a great new feature and will change the way we communicate with our customers from within CRM.
  • Bing Maps – The updated new UX will include native integration to Bing Maps for Contacts and Accounts for free.
  • Pre Defined sales and Service processes – So what is this? Well rather than you telling your partner your processes, your partner will be able to present a best of breed sales process as a starting point from which you can edit and tweak. This will save time in deployment and provide a greater starting point than just rich functionality to configure.
  • Enhanced Complex Deal Management – Microsoft Dynamics CRM will provide additional capabilities to track and manage stakeholders, competitors and pursuit teams for leads, opportunities, contacts and accounts via the new UX capability.

Where did it go? Update 16/01/2013

Microsoft Dynamics CRM 2011 Update Rollup 12 (UR12), which was readied for availability on January 10 and made available on January 12, has been withdrawn by Microsoft, citing ” an issue that could potentially impact a customer’s database”.

Writing in a blog post on the Microsoft Dynamics community site, CVP for Dynamics CRM Bob Stutz explained that an issue discovered in the “UR12 Server bits” could impact customer databases, so the software download was removed from the Microsoft Download Center.
A new version of UR12 will be made available within the week, according to Stutz.
Dynamics CRM forum members discussed the missing server software for UR 12 on Friday, January 11.  One person notes that she downloaded it on the 9th, discovered issues, and saw that it had been pulled down soon after:

“I grabbed the server component around 10:00 PM eastern on the 9th, and they pulled it down about an hour later. I installed it in my environment and it had a few bugs, maybe MS pulled it down and are frantically fixing?”

Another forum member puzzled over the lack of communication on the missing software:
“Seems wierd [sic] that they were there one moment and gone the next.  Always amazes me that there’s multiple posts when it’s released, but nothing but silence when it gets pulled.  SImilar to UR 10 and UR 11 which both had V2′s (and niether [sic] of which were really fixed).”
This is not the first update rollup to be withdrawn because of undiscovered issues.  UR10 had to be re-released in October 2012 due to several issues.  UR11 was similarly re-released several days after the original due to user-reported issues.

Stutz’s blog post does not elaborate on the problems, but Stutz acknowledges that another consecutive withdrawn update to Dynamics CRM hurts the product’s QA and release processes. He concludes with an assurance: “We have taken measures to improve our engineering processes and methodologies going forward, and we take your feedback very seriously. We apologize for any inconvenience this has caused.”

Outlook 2013 Ribbon Keeps Hiding

image

After playing around with the new (totally disappointing) Outlook 2013 I found that the ribbon would keep hiding.

While that is annoying enough and I wanted to turn it back to how it was by default, what was really ticking me off was that someone else inadvertently made this happen while on my computer and could not tell me what they have done to set it that way.

So I set about working it it.

I couldn’t with out help.

So I set to Google for assistance. Found nothing, hence I’m writing this.

Steps

Click a Message in your mail view.

Click HOME (the ribbon should appear)

image

Then on the far right of the ribbon, is a little drawing pin icon. In this location

image

That when clicked will turn to the indication above. This pins the ribbon in place.

For the record… I am disappointed by the new Office. There is nothing new that impresses me after 3 years of additional development time, and plenty of little traps like this that just suck time and annoy you!

Watching Microsoft fall from grace by their own hand is slow and painful for all of us!

Import KB Articles from Microsoft CRM to Zendesk

image

Zendesk KB Import Tool / Sync

We have created a tool that allows the importing of Microsoft CRM (IFD) into your Zendesk setup.

image

The simple tool will look at your Microsoft CRM 2011 Articles (also known as KB articles) and draw them into your Zendesk support portal.

This is powerful if you have an existing CRM system with useful client data that you wish to expose to your support portal as a way of helping your customers find answers to their questions before they directly lodge a support ticket.

Additionally, the tool is smart enough to remove duplications. So if you run it against more than one instance of CRM, you can import KB articles without the fear of duplicating up on KB articles.

At the Zendesk end, the KB articles import something like this:

image

From original articles in CRM like this:

image

image

Versions

We have at this stage only release a version that runs as a Windows installable program, and connects to an IFD deployment of CRM. This is because we don’t anticipate a huge demand for the tool, and the only need we had was for this type of setup.

We are releasing the Source Code for the program, so that others can update it to their needs. Alternatively we would be happy charge a small amount to customize it to other particular needs.

In the near future we are going to update the tool to convert WordPress posts into Zendesk Knowledge Base Articles.

Please feel free to give feedback and or ask questions on what you would like to see in this too.

DotNetNuke – Could not load file or assembly ‘Telerik.Web.UI’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference.

image

After upgrading a DNN website, we received this error message.

The underlying cause of the problem is sloppy release version upgrades of the DNN core product.

The issue is that the release.config file in the update versions of DNN references older versions of the Telerik.Web.UI .dll file in the /bin folder of the install versions of DNN. This means that the settings in your newly updated web.config file are referencing an old version of the Telerik file.

The fix is easy

Right click on the Telerik.Web.UI.dll file in your sites /bin folder.

If the file is not there, then download the install version of your DNN site package from http://dotnetnuke.codeplex.com

Then extract the file to the /bin folder.

image

Look at the version number of the file.

Edit your web.config file to match this data:

image

Save and you are done.

DotNetNuke HTML Editor Background Black

When you get a black background in the HTML Editor.

image

The solution is easy.

Look for the file found here:

\Providers\HtmlEditorProviders\Telerik\Config\ConfigDefault.xml

Edit it to add this line:

<property name="CssFiles">~/Providers/HtmlEditorProviders/Telerik/Config/EditorCustom.css</property>

Looking like this:

image

Then edit this file:

\Providers\HtmlEditorProviders\Telerik\Config\EditorCustom.css

To look like this:

body
{
  background-color: white;
  background-image: url(image_path);
  color: black;
}

image

 

That’s about it.

How to pass iStockphoto Photographer Application Quiz–Answers

Review your answers

  1. Files downloaded from iStockphoto (including yours once you pass this test) are offered with a royalty-free license, which describes how the image can and cannot be used: – TRUE
    When iStock clients download an image they must first agree to our royalty-free content license agreement.
  2. iStockphoto images are downloaded under two different kinds of royalty-free licenses: our "standard use" license, which allows for all kinds of commercial, personal, and editorial uses, and our "editorial use only" license. – TRUE
    iStock now has an editorial use only license in addition to our standard content license agreement.
  3. All recognizable faces in images with the standard use license require a model release, including those in crowds: – TRUE
    All recognizable human faces require a model release, including public areas, crowds, self portraits and vintage photographs.
  4. Logos are acceptable in wide angle photographs under the standard use license: – FALSE
    Any visible logo should be removed in royalty-free stock photography.
  5. Identifiable design marks, such as the 3 stripes for Adidas or the Nike swoosh, are allowed in images under the standard use license if the name is removed: – TRUE
    All design elements that are recognizable to a company may also be protected by trademark, and should always be removed for royalty-free stock photography.
  6. Landmark buildings such as the Sydney Opera House require a property release to be used in images offered with the standard use license: – TRUE
    Famously recognized buildings and modern architecture may require a property release. Questionable buildings should be researched prior to uploading.
  7. A model release is required for a self portrait: – TRUE
    All recognizable human faces require a model release, including public areas, crowds, self portraits and vintage photographs.
  8. The photographer can witness their own Model/Property Release: – FALSE
    A model or property release cannot be witnessed by the photographter
  9. A simple snapshot is acceptable; iStock does not require quality in composition: – FALSE
    The iStock collection is a selection of the highest quality, both creative and technical, images submitted. Simple snap shots will not be accepted.
  10. It is acceptable to protest a rejection in the iStock forums: – FALSE
    To protest an image, it should always be addressed through "Scout", located in the Support section.
  11. It is acceptable to copy the composition of another photographer`s work – FALSE
    iStock respects the creative value of each original image and does not condone mimicking the work of others.
  12. Photographs should be upsampled or interpolated to the maximum XXL size: – FALSE
    iStock will not accept images that have been upsampled or interpolated above their native resolution.
  13. The above example contains: – COMPRESSION
    Compression can be spotted in a photograph by the "chunking" of colors.
  14. The above example is: – UNACCEPTABLE
    Harsh light or distracting shadows unintentional to the composition will be declined from the iStock collection.
  15. The above example is: – UNACCEPTABLE
    The use of noise reduction should never create a "watercolor" or overly smoothed appearance.

Discount Coupon Entry not Displaying Opencart 1.5.3.1

Opencart Cart Version 1.5.3.1

We have been using opencart Version 1.5.3.1 with a custom template or skin. We found that the skin had some coding that stepped users through the “cart” step of the checkout, directly to the checkout process.

The stops the “voucher or coupon” step being available to the end user during checkout. (Unless they had more than one item in their cart).

The problem appears to be that the template is using the code:

<a href="<?php echo $checkout; ?>"

 

rather than:

<a href="<?php echo $cart; ?>"

 

You see the difference is the word “checkout” vs “cart” in this string.

This means that when you click on the:

image

icon for checkout, you are directed to:

domain.com/index.php?route=checkout/checkout

where you need to go to get the coupon option is:

domain.com/index.php?route=checkout/cart

 

Things to check first

1. Ensure you have added coupon codes!

The first obvious check is to ensure you have added voucher (discount) codes to your storethrough OpenCart’s administration panel, in Sales > Coupons.

image

2. Ensure Coupons are enabled in OpenCart

Next, we need to check the coupons feature is enabled in OpenCart. In OpenCart 1.5+, this is located in the Extensions > Order Totals menu in the administration panel. Make sure that the Coupons feature is enabled (it should be by default).

image

3. The Fix

Use a program that will search all files in your website structure looking for the phrase:

<a href="<?php echo $checkout; ?>"

and replace it with

<a href="<?php echo $cart; ?>"

 

What you will probably find is an error when you then try to proceed from the “Cart” to the correct “Checkout”

We found that the find and replace we did, broke the actual button found here:

image

But the good news was that the fix is really easy.

If you hover on that link / button you will find that the error message appears that says something like: Undefined Error in (and lists the file) and the line number.

Just open that file, find the correct line number, and replace the word “cart” with “checkout” in that once instance.

The net result being that you are changing all but one of the instance of the <a href="<?php echo $checkout; ?>" string.

Should I load windows 8?

Should I load windows 8? This is the question that many people are going to be asking themselves over the next year or two. So I though I would throw my opinion into the mix for those who value it.

image

Windows 8 is an interesting beast

It gets really easy as I get older and the Blamer years draw to a close, to actively dislike most of the innovations coming from Microsoft. You can only feel sorry for them really as peoples user experience with other technologies makes consumers realise what a mediocre user experience the Windows years have been.

Mean time, Microsoft have woken up to several facts that clearly have influenced the Windows 8 product.

1. People like the new technologies like iPads, iPhones and Android devices.

2. People like the new experience they have with company relationships with Apple, Google, Amazon, where they can single click and purchase information, apps and media super easily.

3. The alternatives to Windows are a LOT better then they used to be.

4. Microsoft has been dragging the chain with User Experience it’s entire life!

 

So knowing and understanding this, it becomes clearer as to what Windows 8 is trying to be.

Simply, they are trying to close the gaps that Windows has to the multitude of great User Experiences to be found on other devices and operating systems.

The Big Question is…. Does it do this?

The answer is essentially yes. Microsoft have come a huge way in delivering what is in effect a lobotomised Windows user experience. It’s probably relevant that we introduce an understanding of what I mean by this.

I have some 20 something years experience in the aviation industry, and in that industry I have experienced moving from some of the oldest (steam driven) equipment to the newest and most advanced and computerised aircraft in the air today. Moving from flying the Classic 747 to the Airbus A380.

The old office (Boeing 747 Classic)

image

 

In the new office (Airbus A380 at Night over India)

image

The distinction here is apparent and startling, but the differences as an aviator are less apparent.

I’ll give you one User Experience difference that may help to draw the highlight between these two technologies.

Stall Speed.

The Stall Speed, without getting into too much technical details is the speed of an aircraft below which sustained lift is no longer generated sufficiently enough by the wings that the aircraft can continue to fly. (Not technically correct but you get the idea). Flying too slow = Bad. This is due to a whole bunch of complex interacting aerodynamics like, Angel of Attach, G force, Angle of Bank, Weight, Air Density, centre of gravity, Flap / Slat configuration… just to name a few.

As a pilot of a 747, you are well aware of your stall speed as a figure bug and mark on your speed dial.

As a pilot of an A380, you look at what the computer tells you is the slowest speed that it will let you fly the aircraft at. You know from your past experience that it has a direct relationship to stall speed, but there are literally too many variables taken into account that you could actually know what the figure is going to be. But you don’t need too, the computer tells you, and like some “Lobotomised” version of your former self, you believe the computer.

Hence the term “Lobotomised Windows User Experience”.

Makers of great operating systems no longer want you to understand file systems, gigabytes, hard disks, etc. They want you to behave as a lobotomised users and think in terms of:

  • Share this
  • Work Offline
  • Synchronized

Just simple, dumb end user experience stuff, and frankly this is a long login overdue approach.

“Why should my mum have to know what hard disk to save something too.”

Windows 8 is the first big step in this direction from Microsoft, and it really is intending a big change from the end users who engage it.

It tries really hard to get you to engage it in simple ways to do simple bug fun things. The more common things that most users do.

So Should I load Windows 8?

If you are a power user, who smashes out a bunch of work from an existing multiple monitor, multiple program high speed connected computer. Definitely Not.

If you are a system admin, or programmer, or IT Professional. – Definitely Not

If you rely on mission critical work that has been working well for you to date – Definitely Not

If you enjoy steeling programs, games, loading programs, installing and tinkering (script kiddy) – Definitely Not

So Who Should Load Windows 8?

Anyone listed above who buys a new surface or purposed laptop or tablet, and…

Everyone Else

Any End Users who can sit back from the past, say I am ready for a new experience, and let Windows 8 run as it was intended. With the “hood down”. Just let yourself be a user, not an admin. Have a quick Lobotomy!

 

I will be running Windows 8 on purpose devices. Probably a Surface and or other tablets. I will also have a virtual machine of it on my Mac to play with when the need arises to test and play.

I fully expect to enjoy the experience when on the purposed devices, and I am dead certain that I will never use a Windows 8 environment as a Power User Machine, I also have no intention of being a Windows 8 expert, of ever running it as a network administrator, or being the IT “go to” guy” for friends and colleagues.

I love being a Lobotomised User with OSX. I just flip the lid on my Mac Air, and smash away at apps and light weight work. A surface windows 8 environment would be interchangeable here.

 

Will Windows 8 Succeed?

Yes and No.

Yes Microsoft have dealt a hand that will keep them relevant and in business until the end of the Balmer years.

No it was not a great hand. It’s 5 years too late, and playing catch up to a far superior user experience over at Apple, plus they have kind of boobed up the mashing of light weight devices and desktops.

But it was they only hand they had to play with so it is here to stay.

Hopefully it will be the beginning of a new approach to Microsoft’s world. One where stuff just works like it should, and without any technical “object not set to an instance of an object”.

Lets hope for the end of The Blamer Years and an opportunity for someone with clear vision to have a crack with their massive resources.

DotNetNuke Can’t Login Index #: 0

The Problem

Index #: 0

image

Recently while working with a DotNetNuke website, we found that attempting to login to the site generated this error:

SQL Exception
Error Details
File 
Error   Index #: 0
Source: .Net SqlClient Data Provider
Class: 17
Number: 1105
Procedure: AddEventLog
Message: System.Data.SqlClient.SqlException: Could not allocate space for object ‘dbo.EventLog’.'PK_EventLogMaster’ in database ‘www.sitedatabase.com’ because the ‘PRIMARY’ filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, String spName, Object[] parameterValues) at DotNetNuke.Services.Log.EventLog.DBLoggingProvider.SqlDataProvider.AddLog(String logGUID, String logTypeKey, Int32 logUserID, String logUserName, Int32 logPortalID, String logPortalName, DateTime logCreateDate, String logServerName, String logProperties, Int32 logConfigID) at DotNetNuke.Services.Log.EventLog.DBLoggingProvider.DBLoggingProvider.WriteLog(LogQueueItem logQueueItem)

After a investigating the site and server we found that this was caused by the SQL server running out of room on the disk hosting the database connected to this DNN site.

The Solution

Free up more space on the SQL database disk.

CRM 2011 Rollup 10 Invalid Argument Error

CRM 2011 Rollup 10 Killed My CRM

image

After installing CRM 2011 Rollup 10 (not 9 as that is MIA) you receive an Invalid Argument messages as per the image above. This happens after you login to an IFD deployment.

For all we know it may happen on the CRM on premises but we have not managed to test that.

You may also have a CRM Platform Trace Error:

Crm Exception: Message: A non valid page number was received: 0, ErrorCode: –2147220989

CRM’s Fetch Throttling abilities have been disabled or modified from the default values.
Re-enable CRM’s default Fetch Throttling settings.

The solution

1. START | RUN | “regedit” | OK

2. Locate and select the registry subkey: HKEY_LOCAL_MACHINESoftwareMicrosoftMSCRM

image

Change the value on: TurnOffFetchThrottling

to 0

image

In fact if you find either MaxRowsPerPage or the TurnOffFetchThrottling registry keys set them both to 0 or delete them.

3. START | RUN | “iisreset” | OK

(This will restart IIS)

Login to CRM and you should be good to go.

Cantaport Shading System

Cantaport Shading System

Recently our client Totally Outdoors added a new cantaport shading system to their product list.

This Melbourne based builder now provides some commercial shading solutions that are excellent for both domestic and commercial designs.

image

Check out their website here: http://www.totallyoutdoors.com.au/products/cantaport-shading-system/

Cantaport shading system design benefits provides an exciting range of options particular for School, Sporting clubs  and Local Councils for uses such as Open Shelters for bikes, Bus, play ground and sports grounds. Totally Outdoors professional structure of Architectural designs, 20 years of providing installed outcomes combine to deliver known outcomes across a range of project types.

DotNetNuke (dnn) jQuery problems admin menu

image

DotNetNuke jQuery Problems

Recently there was an update to jQuery that caused some problems with DotNetNuke. The problems include:

  • Strange or missing popup effects in custom jQuery modules
  • Admin menu hiding the menu items on Standard DNN Dark Knight Skin
  • Modules using jQuery failing to function as desired

The Problem

The problem is associated with some bugs in the jQuery released and hosted googleapis. The bugs are not related to DotNetNuke directly but the jQuery used in many instances of jQuery.

The Solution

The solution is an easy one. You just need to login to your DotNetNuke website with a Host Account, and modify the jQuery settings under the HOST / ADVANCED SETTINGS to a more recent and bug free version of jQuery UI.

 

image

Pasting this URL: https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js into the “Hosted jQuery UI URL" and ensuring the “Use Hosted jQuery Version” is ticked.

Opencart on IIS 7.5 Windows 2008 Server FTP Permissions Changing

Opencart and PHP running on IIS, we found Permissions incorrect on uploaded files

After working with IIS server running PHP, we found the files uploaded through the web interface of the opencart CMS failed to inherit the correct permissions.

After spending weeks time to resolve this problem, believing that it was a glitch that required file permissions to be reset we found an easy solution.

The Problem

The problem lies with the PHP system running on IIS. When you use a web interface to upload files to your PHP CMS website, they are initially loaded to the PHP defined temporary folder. The temporary folder is set in the PHP.ini file.

To find this file and check the setting, you do this:

Open IIS and select PHP Manager

NewImage

 

Then Check phpinfo()

NewImage

 

Then search the php.ini file that opens for “upload_tmp_dir”

Notice that the default location (unless you have changed it) is: c:\windows\temp

NewImage

Now navigate to that folder on your IIS server rick click and select Properties / Security Tab and find the IIS_IUSRS security group.

NewImage

Edit the permissions there to match the permissions of your IIS website folder that is causing you the grief. Probably Read Write at least is needed.

Why the solution works.

As files are uploaded through the website interface, they land in the temp directory. Once there they inherit the temp directory permissions before being moved onto the website folders. By adding the website security to the temp folder, you allow the files to move across with the correct permissions set.

This would be applicable for WordPress running on IIS server, or Opencart.

WordPress 3.5 Manual Fix

Below is the manual fix you can apply to be able to get your WordPress 3.5 install working correctly, there are two options that should work.

1) In the file wp-config.php, add the following line before “That’s all, stop editing”

define( 'WP_TEMP_DIR', ABSPATH . 'wp-content/' );

or

2) In the file /wp-includes/class-http.php comment out lines 144 and 145, which look like the following:

if ( ! is_writable( dirname( $r['filename'] ) ) )
	return new WP_Error( 'http_request_failed', __( 'Destination directory for file streaming does not exist or is not writable.' ) );

After applying one of the above fixes you should be able to add/upgrade your plugins and upgrade your themes, and will allow you to use the auto upgrade feature when WordPress version 3.5.1 is released.