Wednesday, January 26, 2011

What is This Chatter About a Social Salesforce?

Microsoft have finally launched their international online CRM offering. Here is the Australian press release with information on the international roll-out:

http://www.microsoft.com/australia/presspass/post/Microsoft-Australia-Launches-CRM-Online

Interestingly, a LinkedIn survey has just been completed that suggests the CRM market is a duopoly:

http://www.linkedin.com/osview/canvas?_ch_page_id=1&_ch_panel_id=1&_ch_app_id=1900&_applicationId=1900&_ownerId=0&appParams={"section":"results","poll_id":112755}&trk=twitter-polls-vote

Basically, three quarters of the market is already dominated by Dynamics CRM and Salesforce and that is before the international cloud release of Dynamics CRM has had time to get started. This suggestion of a two-horse race is reflected in my own experience where I most often come up against Salesforce when trying to win business. Other CRMs do raise their head but more often than not Salesforce is vying for the business.

So what is Salesforce’s response to Microsoft offering an equivalent cloud product?

"Microsoft still bases its CRM on desktops, proprietary systems and Outlook. That's a snapshot of history — not a social app for today's mobile, open world,"

This is mentioned by CRN (http://www.crn.com.au/News/245139,microsoft-partners-confident-about-salesforce-customer-switch.aspx), ZDNet (http://www.zdnetasia.com/salesforce-com-unfazed-by-microsoft-crm-62205868.htm), and ITWire (http://www.itwire.com/it-industry-news/strategy/44458-youre-history-salesforcecom-tells-microsoft).

iTWire suggests it was a spokesperson from the Australian office of Salesforce but how representative this statement was of the company’s thoughts is unclear.

In my opinion the substance of the quote is rubbish. I would be shocked if the majority of Salesforce customers do not use a desktop machine of some kind to access Salesforce’s proprietary software. I would even venture to suggest some are paying for and using Salesforce’s Outlook connector. Similarly Dynamics CRM comes with a basic mobile version built in and there are plenty of third-party mobile clients if the free one falls short.

Interestingly, in a recent presales meeting, where the client had previously met with Salesforce, they talked about how Salesforce appeared to allow a conversation with a customer and referenced Salesforce’s Chatter. Salesforce’s sales team are known for putting on a slick show in presales meetings so I thought I would dig deeper to see if there was any meat in the Salesforce social sandwich.

So What Does it Mean to Be Social Anyway?

My thoughts on this matter have been strongly influenced by the Cluetrain Manifesto. Here is a blog I wrote almost a year ago about what it says about authentic conversations, the not-so-new business of being social and how CRM systems can step up.

http://blogs.msdn.com/b/crm/archive/2010/02/18/push-and-pull-marketing-crm-and-social-networking.aspx

Outlook 2010 is certainly socially aware allowing a user to enter their LinkedIn and Facebook information and see similar details about the people they send and receive emails from. Similarly, Live Messenger 2011 now links through to the same and automatically updates statuses across the social platforms as you tweet. They are aware of social applications but I am not sure this is generating authentic conversations with customers. So what about Dynamics CRM?

The above blog article links to the CRM Social accelerator:

http://crmaccelerators.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29979

and a great five minute overview of how the accelerator lets CRM users ‘tap the conversation’

http://www.microsoft.com/video/en/us/details/c8c07884-86f6-4aa4-b617-daf65daa2f80

The bad news is the update by twitter of their authentication method last year broke the accelerator. My understanding is an updated version will be coming out soon for the latest version of Dynamics CRM, which is good to hear. For those that cannot wait the accelerator is free and open source so feel free to hack, as required.

At this level Salesforce offers a similar ability.

http://www.salesforce.com/crm/customer-service-support/social-networking/

Whether it has to do with Salesforce being cloud-native or the fact that Twitter and Facebook have great APIs for developers to hook into really does not matter. The fact is, just like the CRM Social accelerator, you can build similar functionality for Salesforce. Here is Salesforce’s version of the CRM Social accelerator:

It was not clear whether Salesforce charge for their twitter integration but, in terms of functionality, the two offerings appear to me to be  pretty similar.

So What About Chatter?

So if Dynamics CRM and Salesforce have similar capabilities for hooking into social networking services such as Facebook and Twitter, what else does Salesforce bring to the table? Is it this Chatter my prospect mentioned?

Here are the introductory videos for Chatter:

This looks like a great tool. It is an internal collaboration tool with the look and feel of Facebook. The closest Microsoft gets to this either SharePoint (http://office365.microsoft.com/en-us/sharepoint-online.aspx) where you can create project sites, collaborate on documents, set up alerts etc. or Groove (now called Microsoft SharePoint Workspace http://en.wikipedia.org/wiki/Microsoft_SharePoint_Workspace).

The best way to describe Groove is a cross between IM and SharePoint; you set up projects, you can chat online about them, you can take documents offline and work on them and you can edit documents real time (none of that checking-in/checking-out business). There are also other, third-party, collaboration sites such as BaseCamp (http://basecamphq.com/tour) which do similar things.

STOP PRESS: Aki Antman has pointed me in the direction of OfficeTalk (http://www.officelabs.com/projects/officetalk/Pages/default.aspx). This appears to be an Office skunkworks version of Chatter.

So how much does Chatter cost? Initially Salesforce wanted to charge $50 per user per month (http://www.businessweek.com/the_thread/techbeat/archives/2009/11/salesforce_jumps_into_collaboration_software_with_chatter.html). Either because Salesforce are just really nice guys or because they did not get sufficient take-up of the product, a year later this has now come down to $0 per user per month for Salesforce users and $15 per user per month for non-Salesforce users within an organisation using Salesforce (http://www.salesforce.com/company/news-press/press-releases/2010/12/101207-2.jsp).

If Salesforce are authentic to their ‘open’ standpoint they will provide the ability to hook any CRM into Chatter. I can definitely see the potential of using Dynamics CRM and linking this through to Chatter where organisations do not want to use SharePoint either on-premise or as part of the Office 365 offering .

So Is Salesforce a ‘Social App’?

I started out wondering what makes Salesforce a ‘social app’ and Dynamics CRM a ‘snapshot of history’ and I am still drawing a blank. Chatter is an internal collaboration tool; it does not capture conversations with customers. Perhaps my definition is too narrow but, to me, a social application, and specifically social CRM, is about tapping into the conversations customers and potential customers are having and engaging with those people in a relevant conversation. In this regard we have the Dynamics CRM Social accelerator and the Salesforce Service Cloud twitter integration. No differentiation there.

If we expand the definition of ‘social’ to include internal collaboration, there is no doubt Chatter is a great-looking application but, in terms of functionality, it still does not bring much more to the table, compared to SharePoint and the SharePoint Workspace. In fact, with the cloud version of SharePoint, you can even collaborate with customers, who log on securely with their Live ID. From what I can tell Chatter can only be shared internally. Certainly there is not enough between the products to write one off to the annals of history.

Unfortunately it seems the whole “Salesforce is the future, Microsoft is the past” patter is more sizzle than steak. Both offer cloud CRM solutions, both allow the ability to hook into third party applications, such as Facebook and Twitter, and both have integrated collaboration tools (Chatter for Salesforce and SharePoint for Dynamics CRM).

Friday, January 14, 2011

The Queensland Floods, Disaster Recovery and the Cloud

For those of you outside of Australia, there has been something of a major disaster over here (if you are reading this and are a small or medium-sized business in Brisbane, go to the end for a free backup offer from Microsoft). A flood that has covered an entire state. For countries such as the USA or the UK, this is obviously not good but does not sound like the end of the world. After all, states are only small things relative to a country aren’t they? To give it context, Australia’s mainland is about the size of the USA and is divided into six major state/territories. Queensland, where the flooding is, is the second largest.

image

Here is another image showing how the size of Australia compares to the USA and the area of flooding (outlined in blue):

image

In words, imagine an area stretching from the North/South Carolina border to the east, going west into Arkansas and getting close to Oklahoma, north as far as Illinois and south as far as Alabama. Australia is a relatively flat country so when it floods, it really floods.

The area on the map is, in my opinion, an underestimation. The numbers regarding the flood are here:

http://en.wikipedia.org/wiki/2010%E2%80%932011_Queensland_floods

We have an estimated damage bill of $20b (Australia’s dollar is about 1:1 to the US$ at the moment) and an estimated loss of GDP of $13b. Those are ‘b’s not ‘m’s and I have not missed the decimal point. (Queensland’s economy is strongly driven by mining, agriculture and tourism, all of which are being significantly impacted http://en.wikipedia.org/wiki/Queensland#Economy). To give this some perspective, Amazon’s revenue last year was $24b (http://en.wikipedia.org/wiki/Amazon.com). Amazon would need to hand over the revenue (not profit) from every sale for 18 months to cover the estimated costs.

Three quarters of the the state of Queensland has been declared a disaster zone. That is an area of 1.3 square kilometres (500,000 square miles). That is not far off the total land area of Alaska and is much larger than Texas and California combined. As a percentage of the USA landmass (50 states + DC), it is around 14% or one seventh.

http://en.wikipedia.org/wiki/List_of_U.S._states_and_territories_by_area

What is more, the flood has also gone through Australia’s third most populous city, Brisbane. Brisbane has a population about the same size as Houston, Texas.

http://en.wikipedia.org/wiki/List_of_United_States_cities_by_population

For the purposes of safety, electricity has been cut off to major areas of Brisbane. Literally over 100,000 homes and businesses were without power(http://www.brisbanetimes.com.au/environment/weather/tens-of-thousands-still-in-the-dark-20110111-19mn9.html). Electricity will not be reconnected until the houses and buildings have been declared safe by a certified electrician. Given the volume of properties affected it could be weeks before some offices and homes restore power.

Sorry to Hear About the Floods But What Does This Have to do With Technology?

More and more our personal and professional lives depend on technology. As I write this, my internet connection is down. This is frustrating me in finding good links and pictures for the article but also for my co-workers who are struggling to do their job. Some have gone for a coffee until it comes back up. Imagine if you are in Brisbane, Australia. Servers could be being water-cooled in a bad way, you are possibly without electricity and possibly not be getting the power on for weeks. Moreover, the coffee shops are either flooded or closed because there is no electricity.

Let us say that I had the presence of mind to put in place a disaster recovery plan. I have my backups in a location away from the office, I have a stand-by office waiting for my staff and servers at the ready. All I need to do now is get the backups, restore to the servers and get my staff working out of the temporary office for the next few weeks. Unfortunately many of the roads are cut off in Brisbane and public transport has stopped. Even if the disaster recovery office has power, I cannot get to my backups and it is likely I cannot get my staff to the disaster recovery offices.

So What is the Alternative?

Let us assume there are some areas of Brisbane on higher ground where the substations have not been turned off. These areas will have electricity and possibly a functioning internet. Similarly, my staff may have power and the internet at home but no way to get to the CBD. If only there was some way to access their applications and data via the internet.

This is, of course, the promise of the cloud. In the case of Microsoft there is Office 365 (http://office365.microsoft.com/en-US/online-services.aspx), all the key Microsoft-shop components are on the cloud and out of the office. All people need is a laptop, a connection to the internet and electricity and they’re away. The cloud server is unlikely to fail from flood because it will be backed up to another server in a different country.

Microsoft Helping Out Small and Medium Businesses

For those in the Brisbane area reading this, while it is for data only and not applications, Microsoft are offering free backup to their Azure cloud for small to medium businesses in Brisbane for the next 30 days. Details are here:

http://blogs.msdn.com/b/ceibner/archive/2011/01/13/azure-disaster-recovery-storage-offered-for-brisbane-businesses.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+CatherineEibner+%28Catherine+Eibner%29

The upshot is if you email BNEFlood@Live.com and ask for the details they will send you instructions on getting your data from your servers to Azure and the login and password details for the Azure account. I have seen the instructions and they are aimed at Windows 7. If you are running something earlier than this, Catherine Eibner, the author of the above article suggests the Azure Storage Explorer in CodePlex (http://azurestorageexplorer.codeplex.com/). This appears to allow any arbitrary files to get uploaded. You will still need to email BNEFlood to access a login and password for Azure.

STOP PRESS: MVPs Helping Out Small and Medium Business

Obviously there are many small to medium businesses in Queensland who are not on the cloud and will have lost their vital IT infrastructure. Some fellow Microsoft MVPs have come up with the Queensland IT Flood Relief Program (http://www.qlditrelief.org/). Donate your old and unused IT equipment and they will refurbish it and get it up to Queensland to help those that need it most.

Conclusions

One of the key advantages of cloud applications is they are ‘hot swappable’. This gives advantage not only in disasters like floods but also for something as regular as an office move or for remote workers. An entire office can be moved and the technology can be up and running in the same day. Often it is the setup of the internet connection that is the bottleneck, not the reconfiguring of servers, as is often the case with on-premise servers.

Consider what would happen if your servers died tomorrow and also consider the advantages of moving key applications to the cloud.

Tuesday, January 11, 2011

Linking to Activities in Dynamics CRM 4

A common request is the ability to link to an activity for reporting purposes and transparency. It might be that we create a follow-up activity if we’re using version 4 (the form assistant and therefore the follow-up function are no longer available in CRM 2011) and we want to know what activity generated the action or we might want to link an opportunity to the appointment that generated it.

The Good News: Dynamics CRM 2011

The good news this is simple in CRM 2011. The activities work a lot like every other entity so you can add relationships and therefore link to activities via a lookup. Below I’ve added a new link to a ‘Source Appointment’ for my Opportunity.

image

Please note you can only link to a specific type of activity e.g. appointment, task etc., not to the activity entity itself.

So Is This Yet Another Blog Telling Me How Much Better My Life Would Be If I Upgraded?

Well yes and no. Things are a lot easier in CRM 2011 but you can work around them in version 4. The biggest problem is that you cannot add relationships to the Activity entities. It lists existing relationships but there is no facility to create new ones.

image

So while we can set a one-to-many from Appointment to Opportunity in CRM 2011, this is not an option in CRM 4.

The Trick Is To Use Web Links

Basically, every record in CRM has a web address associated to it. You can see this in the web client in the address bar at the top. If the address bar is not visible, simply click on Ctrl-F11 and it will appear.

image

Therefore if we can add this URL to the Activity form, we can link back to another Activity.

This is where the other trick comes in. It is really easy to add a text attribute to a CRM form. What is not commonly known is you can force this text field to accept only web addresses. When you create the text attribute, you can specify the format as ‘URL’. Please note, increase the maximum length of this attribute to at least 200 as it is really easy for the URL to exceed 100 characters.

image

Getting The URL

The easiest way to get the URL is to turn on the address bar with Ctrl-F11 and copy and paste to the appropriate record. You can have CRM automatically display the web address by turning off ‘application mode’ in the back end of CRM but, in my opinion, occasionally pressing Ctrl-F11 is not a big deal and keeps the illusion you are using an application and not a web client.

image

There is the option of using the Copy Shortcut function under the Actions menu but this is a less elegant solution as it not only copies the URL but also a bit of text at the front with the title. The format looks like this:

image

When you then paste this into the field, it keeps the title but drops the actual URL. To make it work you have to do something like select the Send Shortcut option and from the resultant email record copy and paste the web address bit. This seems like a lot more work than our good friend Ctrl-F11.

So there you have it, you now have the ability to link any record to any other record (including restricted records such as activities) as long as you’re happy to click through a link.

Monday, December 20, 2010

Being Labelled a SalesForce ‘Hater’

I was quite amused to be characterised as someone who is “damning and lashing out at the competitor’s CRM product”, specifically SalesForce. For the full article, here is the link.

http://forcemonkey.blogspot.com/2010/12/why-hate-for-salesforcecom-crm.html

ForceMonkey does say my blog is worth reading so I appreciate the endorsement. I did post a comment in response on his blog. I thought I would also give a more detailed reply here, reviewing ForceMonkey’s comments. This may be seen as evidence of “too much criticism, too little fun” but really I would prefer to characterise myself rather than have others do it for me.

Do Dynamics CRM Evangelists Love Their Product As Much As ForceMonkey Loves SalesForce?

I love my wife and my two children. However, I do not love something delivered to me via a web browser. There are plenty of sites designed to arouse the lonely internet surfer. If salesforce.com or microsoft.com make your list, there is something wrong.

At the time of writing (and hopefully for many years to come) I am a Microsoft MVP (Most Valuable Professional, an officially recognised evangelist, if you will). Arguably the MVPs are the most passionate advocates you will ever get for a Microsoft product. In my case that product is Dynamics CRM.

I probably have uttered the phrase “I love Dynamics CRM” in a moment of exuberance and I think Dynamics CRM is a great product. I have seen, first hand, how organisations with BONE setups (Business Cards, Outlook, Napkins, Excel) have been transformed through the use of the product. Am I passionate about the product and the benefits it can provide? Absolutely. Do I love the product? No, but I do love what it does to assist organisations deliver great service to its customers.

One other aspect in regards to loving a product. Love is blind. I am passionate about the potential of the product and, like many MVPs, have no hesitation in criticising the weaknesses in the product and letting the product team at Microsoft know my thoughts. MVP is often jokingly said to stand for ‘most vocal professional’ and it is true. We are strong advocates but also harsh critics. Microsoft respects that and generally encourages it. This is why they give us direct access to the product team throughout the year.

Do I Hate SalesForce.com?

I am largely indifferent to SalesForce but acknowledge it as a strong competitor. I rarely comment on its functionality, mainly because SalesForce have a very specific policy regarding the use of their product. Basically you cannot use it for competitive purposes. I try not to make comments without having something to back it up.

For those SalesForce folk wanting to try out Dynamics CRM 2011, the beta is public.

http://www.crm2011beta.com

I sincerely hope someone like ForceMonkey takes the time to review Dynamics CRM and highlights the differences between the two products. There are many prospective customers out there begging to know the fundamental differences. He can help them, I cannot.

My most recent comment on SalesForce’s functionality was in a tweet where I pointed to two videos showing how SalesForce and Dynamics CRM integrate to Outlook. Here are the links if you are interested.

SalesForce: http://bit.ly/hIovwI

Dynamics CRM: http://bit.ly/gpKu1z

By my reckoning the integration between Dynamics CRM and Outlook is far richer than what I see in the Salesforce video but then there are plenty of people out there not using Outlook so, as we say in Australia, horses for courses.

So What About All Those Hateful Blog Posts?

Check for yourself. Throughout 2008 and 2009 my blogs have consistently commented on my thoughts regarding the SalesForce share price. In short, by any text book measure, it is massively overvalued. The ‘voting machine’ continues to disagree with me and the SalesForce stock continues to go through the stratosphere. My prediction is it will crash within 18 months.

So why the focus on Salesforce and not other CRMs? It is pretty simple really. Salesforce.com is the largest cloud CRM in the world and they have a massively overvalued stock.

In regards to ForceMonkey’s suggestion that the Salesforce community does not give Dynamics CRM much regard, they should. It is always worthwhile keeping an eye on competitive offerings to see how yours can be improved. Benioff is certainly focussed on Microsoft. Microsoft is focussed on SalesForce. The rest of us should follow suit. Complacency is the domain of those who wish to become irrelevant.

I do recall once posting on either twitter or facebook about more than a passing resemblance of Marc Benioff to Douglas Reynholm from “The IT Crowd”. Others may disagree (and that’s ok). To be honest that is about as vitriolic as I get.

What About the Hashtags?

Nothing annoys me more than the misuse of hashtags. I use both the #salesforce and #df10 hashtags when the content of the tweet warrant it. For example, all my tweets regarding ‘Bernard’ had the #df10 hashtag on it because it all played out at dreamforce 10. I tweeted about three Microsoft case studies talking about SalesForce customers who had moved to Dynamics CRM (http://bit.ly/htzYzy, http://bit.ly/fjBvhe and http://bit.ly/hAOBVG ) suggesting SalesForce try to win these guys back rather than hire actors to pretend they have returned. On this tweet I used the #salesforce hashtag.

The Bernard Farce

The Bernard thing annoys me. Microsoft should have hired a real customer for their testimonial poster (http://bit.ly/htzYzy, http://bit.ly/fjBvhe and http://bit.ly/hAOBVG for example) and Benioff should have just called it out for what it was rather than this ‘bring him back from the dark side through our energy’ nonsense. Benioff, according to the Wall Street Journal, is friends with actor ‘Bernard’ (http://on.wsj.com/g1qnQB) making the whole DreamFarce theatre even more of a nonsense.

I think both sides could have taken the high ground on this one and both found it easier to take the alternative.

Do SalesForce Evangelists Have More Fun?

I have no idea. ForceMonkey suggested TechEd was the annual user conference. It is more of a developer’s conference really. I would probably characterise Convergence as the user conference (http://www.microsoft.com/dynamics/convergence/atlanta11/). This is a business-user focussed conference for the Microsoft Dynamics products, of which CRM belongs. I went last year and had a ball. ForceMonkey’s description of DreamForce was pretty close to my memories of Convergence. That being said, most user conferences follow a pretty similar format.

There is also the MVP summit, exclusively for MVPs across all Microsoft products and free of charge. This is held at Bellevue/Redmond, Washington and brings together the product teams and the MVPs from all over the world. As ForceMonkey says, it really does not get better than being surrounded by so many like-minded, passionate individuals and having Microsoft pick up the bar tab (or SalesForce in his case).

As for destroying the fun by all means let the good times keep on rolling at DreamForce. Benioff characterises viable competition as if it is the end of his world. I can understand why Benoiff would be nervous. Personally I am excited to see Dynamics CRM and SalesForce compete on a level playing field. I am sure there are markets for both products and both will prosper. The world is not as absolute as Benioff suggests.

Sunday, December 12, 2010

Auto-Numbering Using Workflow

This is a trick one of my co-workers (Amreek Singh) showed me a little while ago. This will work in CRM 4 and CRM 2011, although, for convenience, I’m doing it in the 2011 beta.

Current Auto-Numbering Options

The first option is for a limited set of entities which have auto-numbering out of the box.

image

For Contracts, Cases, Articles, Quotes, Orders, Invoices and Campaigns, auto-numbering can be set in the Administrative settings in CRM. The prefix for each of the entity numbers can be set and the final suffix can be of a length from four characters to six characters. A word of warning, if you change the length of the prefix, this changes for ALL the entities, not just the one you’re on.

For other entities, if you are using CRM 4, there is also an auto-numbering plugin available from codeplex.

http://crmnumbering.codeplex.com/

Of course, if you are using the online version of CRM 4 or CRM 2011, you will need to resort to another option. Here is one using workflow.

Step One: An Entity to Store the Current Incrementing Value

To store the current value of the incrementing value, we need a new entity. For this entity we create one record to hold the values.

image

In this case I’m storing the prefix and the suffix I am going to use for an incrementing value on the account record.

The record also needs to have 1:N relationship to the records it will increment. In this case, the Account entity.

Step Two: Set up the Field on the ‘Numbered’ Record

Account already has an ‘Account Number’ field so I will use this field to hold the value of the field.

Step Three: Set up the Workflows

I tried doing this with one workflow but for some reason the workflow could not link to the record with the values in it and then populate them. Therefore, I’m using two. The first workflow runs on the creation of the Account record and links to the record storing the increment values.

image

Incidentally, there is no need to add the lookup to the Account form as workflows can populate fields whether or not they have been added to the form. This is great when you need to store values but do not want to clutter the forms up.

The second one is triggered when the link to the value store record is populated. It does the populating of the Account record and also increments the value store by one so the next Account record gets a different suffix value.

image

For the Account Number, we add the two ‘slugs’ divided by a dash.

image

For the incrementing of the storing record, I use a little known trick which is available in both versions of CRM.

image

When you use the Form Assistant to populate a field, drop the ‘Set To’ Operator down and you will see a whole range of different operators available, depending on the field type. In the case of integer fields, one of the options is ‘Increment By’. By adding ‘1’ to the Default Value and hitting OK we tell the workflow to increment by 1 every time the workflow fires.

What We End Up With

After all this we end up with a process which will populate the Account Number of an Account with a unique value every time an Account record is created. As usual with workflows, this runs asynchronously. In other words, you will NOT see the field populating on the initial creation but rather only after you have saved and closed the record and reopened it a little time later, after the workflows have finished.

image

We can extend this to multiple entities by adding other fields to the store record and setting up additional 1:N relationships from the store record entity.

Have fun!

Monday, December 6, 2010

Using Dialogs for More Than Just the Call Centre

A lot of the marketing about Dynamics CRM 2011 dialogs describes them as being like a call script and, while they can be used for this, they are a lot more powerful than simply a way to guide users through a call.

In this example I’ll show how we can use dialogs for an internal process such as timesheet capture.

So What Are Dialogs?

Dialogs can be thought of as a new kind of workflow. In this case, there is scope for user input. Another difference is that, while workflows are generally triggered off an event in the system e.g. the creation of a record, dialogs can only be run ‘On Demand’ from a record. Similarly, while a dialog can spawn a child dialog or a workflow, a workflow cannot spawn a dialog.

Creation of a Timesheet Record

In this case I’ve made the record reasonably simple:

image

We have the obligatory Name field, compulsory for all entities, we have an owner, in this case the administration account creating the record, the Consultant who is doing the work, the customer (an account in the system), the consulting hours, travel time, a description field and a processed tickbox to show when a timesheet has been invoiced.

The Dialog

image

The dialog is going to spawn from the user’s record and it is available as a child process. Making it available as a child process means I can call it again to enter multiple timesheets at once. Everything else you see, I’ll explain below.

Querying My Customers

The first thing I do is query the database. This is a new feature of dialogs, sadly unavailable in workflows. In this case I’ve created a many to many relationship between users and accounts so I can track who a given user’s accounts are.

image

The query then retrieves these accounts so we can assign the timesheet to the right account.

image

Here the query looks for accounts where the many to many relationship is with the current user. My initial design was to query based on the user record the dialog was spawned from. However, while you can add dynamic parameters (slugs) via the ‘Define fetch XML query text’ tab, for user queries you need to feed it the user name and GUID. I can get the user name from the user record, but I could not find the GUID and therefore settled with the current user.

Displaying the Dialog Page

Now we have our query we can display the results and ask the questions we need to fill out a timesheet.

In the case of the customer selection, we add a prompt and response, referencing our query.

image

This will provide a list of accounts, associated to the user with a radio button selection next to them. It will then be up to the user to select the right company. Rather than account, this could easily be opportunities or a custom project entity. The difference is in the CRM Query used in the previous section.

The next two prompt and response boxes simply ask for user input, in this case totals for the consulting hours and travel time. Here is an example of the first one.

image

The data type field will only accept Text, Integer or Float. You cannot enter a date, for example. This is unfortunate and hopefully will be adjusted when the full version is released.

Finally, we have a question as to whether there is another timesheet to enter.

image

Creating the Timesheet

Once we glean all of this information from the user, we can create our timesheet entry under the user record. This works just like it did in version 4 workflows.

image

Respawning

Our final step is a conditional which looks at the value given for the ‘Another Timesheet?’ question. If the answer was ‘Yes’, the dialog is called again so a new timesheet can be entered. If the response was ‘No’, the dialog simply ends. One thing that tripped me up here is that the default is to compare against the response Value and not the response Label. Therefore you need to be careful you are comparing ‘Yes’ to ‘Yes’/’No’ and not to ‘1’/‘0’.

The End Result

What results is a dialog that can be called from a user record and allows the user to enter timesheets quickly and efficiently.

image

image

Have fun!

Tuesday, November 30, 2010

What WikiLeaks Can Tell Us About the Cloud and IT Risk?

WikiLeaks has just posted 250,000 American diplomatic cables for all to read.

http://www.nytimes.com/2010/11/29/world/29cables.html?_r=1

Imagine trying to do this 20 years ago, you know, before the internet was mainstream? We’d get our 250,000 manila folders. We get our list of major media outlets and fax each page, one at a time and hope the receivers don’t run out of paper and that they have the time to review 250,000 missives. Let’s say each cable was one page long and the fax gobbled it up in 10 seconds. It would someone a month working non-stop to send the lot (or you could run 30 fax machines non-stop for a day)

The internet, and computers in general, have removed the barrier of transporting massive amounts of information and manipulating it. The internet truly is the information superhighway. Unfortunately, in the case of WikiLeaks, some of the goods being transported are contraband.

As an aside, I would link you directly to the 250,000 documents but the Australian government is apparently fining people who link to WikiLeaks

http://www.timeslive.co.za/scitech/article788606.ece/Australian-Government-adds-Wikileaks-to-banned-website-list

(Whirlpool, use a bit.ly link, then they can’t fine you)

The US Government Move to the Cloud?

Imagine if the US Government announced they are moving all of their embassies to BPOS, or as it will soon be known Office 365? (http://office365.microsoft.com/en-US/online-services.aspx) They have the benefit of online Exchange to manage email, online SharePoint for document management, Lync for IM and knowing if a diplomat is available in an instant in times of crisis. Later on they will also have access to Dynamics CRM, when that gets folded in (http://finance.yahoo.com/news/Microsoft-Announces-Office-prnews-2648833826.html?x=0), allowing their daily processes to be managed with ease.

All for a few dollars per month per user, fantastic. Not only that but all of the benefits of the cloud come to the fore. Geo-redundancy of data, guaranteed uptime, no infrastructure to manage, no servers to constantly patch etc.

So What’s Wrong With Cloud Services?

Would the move ‘to the cloud’ be embraced? Despite the potential upside, I doubt it. People would cry outrage over security issues. Geo-redundancy of data? Do we want valuable US data being pinged around the world potentially landing on the servers in a ‘rogue state’?

There is no doubt that whether an organisation goes to a public or private cloud there has to be a level of trust with the people administering the cloud. My thinking is the larger the company managing the cloud, the better.

As an analogy, a friend of mine works for a large Australian agricultural supply company. I was speaking to him about “farmer’s markets” and his thoughts. He was very clear on the subject: “I never buy from farmer’s markets, only major supermarket chains”. When I asked why he explained that farmer’s markets are populated with small operations. With the products my friend supplies there are often strict rules on when the products can be used. For example, in some cases, they cannot be used close to harvest time as this will introduce undesirable residues in the crop.

“I am always on the phone talking to the smaller suppliers explaining the rules, they never read the instructions on the bag” he explained. “At the farmer’s market you never know which farmers are following the rules. The major chains have it written in their contracts that their suppliers will follow the rules. Neither the supermarket chain nor the supplier can afford for a mistake to be made.” he concluded.

This logic is also started to be employed to fight issues such as deforestation and child labour.

http://www.ted.com/talks/jason_clay_how_big_brands_can_save_biodiversity.html

http://www.ted.com/talks/auret_van_heerden_making_global_labor_fair.html

While there are, without doubt, small operations running world-class cloud services, the larger organisations cannot afford a mistake. The reason we know? Because when mistakes are made, the effects are devastating.

http://www.eweek.com/c/a/Security/Salesforcecom-Employee-Hands-Customer-List-to-Phisher/

So What Does WikiLeaks Have to do With the Fear of the Cloud?

In the case of WikiLeaks and, to a lesser extent, the Salesforce gaffe of three years ago, the issue was not some inherent insecurity in the computer systems, whether they are on-premise or in the cloud, but the issue was one factor that is still the hardest to control: people.

Kevin Mitnick, arguably the world’s most famous hacker, considered social engineering (http://en.wikipedia.org/wiki/Social_engineering_(security)) to be his most effective tool. While you can convince people to willingly hand over their password to a stranger, the strength of your systems to resist ‘traditional’ hacking is irrelevant. Similarly if someone with legitimate access is going to hand over sensitive information to a third party, you can have all the security measures in the world and it won’t matter.

What the latest WikiLeaks episode shows us is that even one of the (presumably) most secure computer systems in the world, that of the US government, is susceptible to attack because the enemy is often within, not outside.

Conclusion

There is no doubt that organisations should do a risk assessment when outsourcing any process to a third party, including IT administration, as warned by APRA (http://www.itnews.com.au/News/238817,regulator-warns-australias-finance-industry-on-cloud-risks.aspx). However, the fear of data being compromised simply because it is being housed outside of the firewall is a nonsense. Security is a relative measure, not an absolute one, and an organisation really needs to look inward before pointing the finger outside. If an organisation is following good practices such as regular patching and have a well managed firewall then they are in a position to scrutinise cloud offerings. Even then, it is likely that what they will find is the cloud offering of a major organisation introduces no additional risk compared to their own internal systems.

Finally, the focus of an organisation, in regards to IT security risk, should be in training users to be smart about how they use the technology and be responsible with the data they hold. Whether it’s leaving a next-generation iPhone in a bar, leaving a laptop unsecured or having a weak password, IT departments need to realise their biggest risk is uninformed users, not the cloud.