Resolve Multiple Default Views in Microsoft Dynamics CRM 2011 (Supported)

April 23rd, 2012

Every now and then, with Dynamics CRM 2011 (and CRM 4), you can end up with two default views for the same Entity. It seems to occur when you import a solution with certain customizations to an entity.

I think in our case it occurred when we renamed the Account entity to be Organisation. A supported way of resolving this is outlined below.

  1. Create a new view on the same entity called ‘fix’ and assign some filter criteria (it doesn’t matter what)
  2. Set the new view as the default
  3. Publish your changes
  4. Open the new view, go to more actions and delete it. You can’t delete it from the main list of views as you will get an error “You cannot delete a default view until you have specified another view as the default”
  5. Publish your entity again

You should now only have one default view and no more problems!

NAB Communications website now online

April 20th, 2010

NAB Communications approached us for a website to promote their services and to help to reach new clients. The site has it’s own basic Content Management System and has been built to a custom specification.

We will now be keeping a close eye on the sites traffic and we will be working closely with Deborah to help her achieve the online success she deserves.

Google Unveils Virtual Panoramas of Ski Runs At The 2010 Winter Olympic Games

February 11th, 2010

Google has added the Winter Olympics slopes to its Street View , allowing people to see the same view down a mountain as a skier about to push off in their quest for gold.

Engineer Dan Ratner explained: “In typical scrappy Google fashion, we were able to put this together over a few weekends. We used extra pieces from our Street View cars, some 2×4s, some duct tape, and a lot of extra hard drives.

ASP.NET MVC 2 RC 2 Released

February 5th, 2010

Today ASP.NET MVC 2 RC2 has been released.

To download it click here

It seems there are only a few changes to this release which you can find here: Release Notes

A few words from Phil Haack’s blog:

The biggest change in this release was described by Brad Wilson in his blog post on Input Validation vs. Model Validation in ASP.NET MVC. Also included in this release are an assortment of bug fixes and performance improvements.

The window to provide feedback on this release is going to be very short as we are closing in on the RTM. If you want to provide input into this release, please do take the bits for a spin as soon as possible. I’m pretty excited about this release as I can see the end of the tunnel fast approaching. :)

At this point, we’ll only be taking recall class bugs for ASP.NET MVC 2. All other bug reports will be filed against ASP.NET MVC 3. Sometime in the near future, I’ll start sharing some of our planning around that. How exciting!

How to: Use JQuery – The Basics

January 29th, 2010

JQuery Basics
This post will show you some of the basics of JQuery. It is not an in depth tutorial but will give you some pointers to get you started with JQuery.
OK, the first piece of code you need to use JQuery is a link to the JQuery JS library. First, download the latest JQuery Library from the following link….
http://docs.jquery.com/Downloading_jQuery
Then link to it like any other javascript file (like so)…

<script src="./js/jquery-1.4.1.js"></script>

Obviously choosing the correct path for your version web server file system setup.
The next step after linking the JQuery library is to use it! Look at the following piece of code.

<script src="./js/jquery-1.4.1.js"></script>
	<script>
		$(document).ready(function() {
			// here is some code
		});
	</script>

This is essentially the same as calling a standard Javascript Window.OnLoad event handler, except it’s the JQuery way.
We are saying… when the document is ready (loaded) run some code.
This is your basic first step to using JQuery. You can also use other event handlers to launch your code, or even call the functions directly, but often when using JQuery, especially for styling/design features, you will want to run the code and so this is the easiest way.
At the moment this code is not very useful, as it doesn’t do anything, so let’s add a little more.
Let’s create a very basic html page.

<html>
	<head>
		<title>JQuery Basics</title>
	</head>
	<body>
		<a id="link1" class="myLink" href="#">Link 1</a>
		<a id="link2" class="myLink" href="#">Link 2</a>
		<a id="link3" class="myLink" href="#">Link 3</a>
	</body>
</html>

Ok now let’s add some JQuery….

<html>
	<head>
		<title>JQuery Basics</title>
		<script src="./js/jquery-1.4.1.js"></script>
		<script>
			$(document).ready(function() {
				$('a').click(function() {
					alert("This is JQuery in action!");
				});
			});
		</script>
	</head>
	<body>
		<a id="link1" class="myLink" href="#">Link 1</a>
		<a id="link2" class="myLink" href="#">Link 2</a>
		<a id="link3" class="myLink" href="#">Link 3</a>
	</body>
</html>

Now save the file and open it in a web browser. When you click a link you should find you get a popup.
Let’s examine this code a little further.

$('a').click(function() {
		alert("This is JQuery in action!");
	});

The first part

$('a')

is a selector, the same as in CSS. Here we are saying apply to all of the A (anchor) tags in the document.
Next we’re saying

.click(function() {

This means for all of those A tags use the click event handler.
Finally we’re saying when that click event is found on an A tag

alert("This is JQuery in action!");

This generates the popup.
In this example we chose to use

$('a')

as our selector, but there are many other ways we can select elements.

$('#link1').click(function() {

This is the same as the getElementByID function that is commonly used in JavaScript. Here we are selecting the element with the ID “link1”.
We could also use

$('.myLink').click(function() {

to select all elements with the class name “myLink”.

In our examples we have used the click event handler to launch the code when the link is clicked. We don’t have to add an event handler here if we don’t want to.
Let’s look at another example.

<html>
	<head>
		<title>JQuery Basics</title>
		<script src="./js/jquery-1.4.1.js"></script>
		<script>
			$(document).ready(function() {
				$('a').addClass("red");
			});
		</script>
	</head>
	<body>
		<a id="link1" class="myLink" href="#">Link 1</a>
		<a id="link2" class="myLink" href="#">Link 2</a>
		<a id="link3" class="myLink" href="#">Link 3</a>
	</body>
</html>

This sets all A tags in documents to have the class “red”.
This is a basic class which is built into the JQuery library, but you could just as easily add your own class.

<html>
	<head>
		<title>JQuery Basics</title>
		<script src="./js/jquery-1.4.1.js"></script>
		<script>
			$(document).ready(function() {
				$('a').addClass("myClass");
			});
		</script>
		<style>
			.myClass {
				color:blue;
				text-decoration:underline;
			}
		</style>
	</head>
	<body>
		<a id="link1" href="#">Link 1</a>
		<a id="link2" href="#">Link 2</a>
		<a id="link3" href="#">Link 3</a>
	</body>
</html>

You could also use first, last, parent and child selectors just like in CSS. For example

$('a:first').addClass("myClass");

to select the first of the link tags and apply the class “myClass” just to that first link.

These are just a few very basic examples of how you can start using JQuery, look out for more posts in the future where we will show you some of the many other exciting features of JQuery.

30,000 Niche Market Articles at Your Fingertips to use as you please (plus e-book creation tool)

January 23rd, 2010

I found this on another blog and thought it would be very useful for a lot of the readers:
Original Blog Link

I thought this would be of interest to you all. It’s a piece of software you can get your hands on that gives you access to 30,000 Niche articles that you can use as you please. Place them on your blog to generate traffic or give them away as freebies to attract people towards your chargeable products.

You can use these articles to help create backlinks to your sites and you can even create One-of-a-Kind eBooks with the Built in eBook Creation Wizard. Bonus!

There’s a free video you can watch that shows how it works and just how easy it is to get going. The time you will save by having a massive library of articles is going to be insane!

This is highly recommended by us and we would like to hear your success stories, because there will be a lot of them! I have bought into this package myself and I can honest say I am very glad as I not how content to post on all of my other website to bring in the visitors.

Visit the site now to watch your free video explaining more…

Andi Gibson Photography Website Online

January 15th, 2010

Andi Gibson’s Photography site is now online. The simple design was requested to create a nice sleek look. The site is sat on top of a wordpress blog and will be updated regularly with portfolio and company information.

Visit website

210 Dental Clinic Website Complete

January 15th, 2010

The 210 Dental Clinic is now online. The site has been developed over the past few months and the client is very happy with the end result.

210 Dental Clinic Website

How To: Create a re-usable form with the Zend Framework with validation and filters

November 2nd, 2009

It is quite easy to start using a framework as an easy way to manage your url rewriting, and forget about all the added functionality provided by the framework. An ideal example of this is when making forms. You can create a form manually and that is perfectly valid, but if you use the framework it will help you filter and validate the form with very little effort!

Zend_Form
The framework provides a Zend_Form class that you can extend to easily create forms and assign validation and filters too with a few simple lines of code. Name the elements the same as the db then the populate will work with one line of code also.

In your Application folder create a Forms folder

This is an example form:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
class Form_CreateEmail extends Zend_Form
{
public function __construct($options = null)
{
        parent::__construct($options);
 
        $this->setName('createemail');
        $title = new Zend_Form_Element_Text('title');
        $title->setLabel('Subject')
        ->setRequired(true)
        ->addFilter('StripTags')
        ->addFilter('StringTrim')
        ->addValidator('NotEmpty');
        $info = new Zend_Form_Element_Textarea('info');
        $info->setLabel('Email Content')
        ->setAttribs(array('rows' => 12, 'cols' => 79)); 
        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setAttrib('id', 'submitbutton');
        $this->addElements(array($title, $info, $submit));
}
 
}
?>

You can then call it from your controller like this:

1
2
3
$form = new Form_CreateEmail();
$form->submit->setLabel('Add');
$this->view->form = $form;

And display it from you view using

1
echo $this->form;

If you want this to be included on everypage you could create a new helper file

in your views folder create a helpers folder and create a myHelper.php file

1
2
3
4
5
6
7
8
9
10
11
class Zend_View_Helper_MyHelper
{
    function myHelper()
    {
 
$form = new Form_CreateEmail();
        $form->submit->setLabel('Add');
        return = $form;
 
    }
}

This could be output from your layout using:

1
<?php echo $this->MyHelper(); ?>

Hope this helps someone

Microsoft announces the WebsiteSpark Program

September 24th, 2009

From Scott Gu’s Blog!

WebSiteSpark provides software licenses that you can use for three years at no cost. Once enrolled, you can download and immediately use the following software from Microsoft:

* 3 licenses of Visual Studio 2008 Professional Edition
* 1 license of Expression Studio 3 (which includes Expression Blend, Sketchflow, and Web)
* 2 licenses of Expression Web 3
* 4 processor licenses of Windows Web Server 2008 R2
* 4 processor licenses of SQL Server 2008 Web Edition
* DotNetPanel control panel (enabling easy remote/hosted management of your servers)

The Windows Server and SQL Server licenses can be used for both development and production deployment.

The only thing you need to pay is 100$ at the end of the three years and you can cancel if you want. I personally think this is great and wanted to spread the word!

Enjoy..