Home | Contact Us

Powered by Blogger

Monday, August 23, 2010

Real Estate Advantage Profiled as a “Favorite” by Software Advice

rex[1]One of the strengths of Microsoft Dynamics CRM is the platform, and I’m not talking about the operating system or the Microsoft “stack” – I'm talking about the Dynamics XRM (eXtensible or “anything” Relationship Management) platform that enables value added resellers (VARs) and Independent Software Vendors (ISVs) to design, build, certify and deploy end-to-end solutions for industry segments (verticals) or specific solutions that could apply across all industry types.

Lauren Carlson, a CRM Market Analyst at Software Advice has written up a nice profile of their “Top 15” vertical solutions based on the Dynamics CRM platform.   Along with our solution for Real Estate, industry solutions for Healthcare, Financial Services, Legal and many others are profiled. 

In her research Ms. Carlson found that there are now over 750 certified industry solutions built on Microsoft Dynamics CRM. We are thrilled to have Real Estate Advantage selected as one of their top 15.

Tuesday, June 15, 2010

Ascendix and Microsoft Profile CRM Solutions for Real Estate Companies at Realcomm 2010

RealcommLasVegasProudExhibitorReal Estate Advantage LogoMicrosoft and Ascendix joined forces at the Realcomm trade show in Las Vegas this year to profile Real Estate Advantage and Microsoft Dynamics CRM to the commercial real estate industry.

Real Estate Advantage is a solution for the commercial real estate industry built and certified on Microsoft Dynamics CRM 4.0.  Click here to learn more. Dyn-Cert-CRM_rgb

Word from our folks onsite was that this in terms of quality companies and meaningful interactions - this was the best Realcomm in recent memory. We thoroughly enjoyed visiting with our existing clients and were able to get some great face time with some prospective customers as well.

AlexatRealcommOne of the highlights of the trip was of course the Digie Awards. These “Digital Innovation Awards” profile some of the more successful and innovative implementations of technology solutions by commercial real estate companies. Two of our clients were finalists this year, with one bringing home the award.

Congratulations to our client Granite Properties for winning “Best use of automation by an Owner.” Granite leveraged Real Estate Advantage, SharePoint, SQL Server Reporting Services and integration with their ERP system to:

  • Manage deal pipeline and provide real-time visibility to leadership
  • Automate vendor insurance and contracts for Property Management and Risk Managers (including reporting and notifications)
  • Establish a corporate reporting portal to deliver critical property and financial data to all users
  • Implement a blog to catalog competitive market information

You can read the Microsoft case study for Granite Properties implementation of Real Estate Advantage by clicking below:

granitePDF[1]

Friday, August 28, 2009

Are Real Estate Companies Starting to Embrace CRM?

Jim Young has written a nice article on the Realcomm Advisory asking whether a bad economy can positively impact Real Estate IT spending. It’s definitely worth a read and parallels my own thoughts and experiences in the world of CRM and commercial real estate, especially lately.

Having a few grey hairs ourselves - muddling through the “dot-bomb” of 01-03 and now “whatever-they-will-call-this” of 07-present, setting everything else aside, it has been interesting seeing how real estate companies have responded to these conditions. In early ’07 and before, as a CRM solution provider we came across two types of prospects: those who were doing so many deals they didn’t need nor want to slow down to address internal systems, and those who had to because of external factors (usually regulatory) and had big budgets to do it.  Neither made for an ideal environment for a new CRM system, as the change agent was usually external. Successful CRM must come from an internally driven mandate.

Now the rules have changed in a big way. Talent is walking out the door (for many reasons) and the organization’s corporate memory with it. Those still in place are finding they have to do more with less. Brokerage and service companies are being held to a higher standard by their customers as they have to actually deliver on the promises they made when landing the customer. Property owners are working hard to reduce tenant churn. We’ve even seen the end users (brokers/agents) jump on management and ask for better systems that address inefficiency and communication roadblocks.

When the change agent comes from within, as it seems to be trending, it is much easier for a CRM solution provider to do business. Our client is now more focused on the end user and their end customer in terms of system design and requirements. The end user is more open to the culture change of information sharing and the factors for success are much more measurable. The only thing missing from the equation in this new economy is, as I’m sure you can guess: money.

When recovery comes to commercial real estate, it will be just as interesting to see how they respond. Will companies finally address their customer relationship management systems, or will it return to being about the deal? I believe it will be the former.

Tuesday, August 25, 2009

It’s Hotter’N Hell at Ascendix

Seven riders from “Team Ascendix” rode in the Hotter-n-Hell Hundred in Wichita Falls, TX on Saturday, August 29th.


Team JerseyClick Here to Read About the Hotter’N Hell


They worked and trained hard for the big race. We sent them all in style and comfort in a deluxe RV the night before for an early start to the big race.

All finished strong and unscathed and had a great time at the event. We'll see if we can't get 10 participants in next year's race!



Thursday, August 20, 2009

SRS Real Estate Partners Select Ascendix Real Estate Advantage

Click Here To Read The Press Release

SRS Real Estate Partners has chosen Ascendix Technologies' Real Estate Advantage ™ as the foundation for their customized CRM and enterprise reporting platform.

Dallas, TX (PRWEB) August 20, 2009 -- SRS Real Estate Partners, the nation's largest retail real estate firm, announced today that they have chosen Ascendix Technologies' Real Estate Advantage ™ as the foundation for their customized CRM and enterprise reporting platform. The new system will serve as the basis for a comprehensive solution that will support business processes, streamline workflow, and integrate with existing accounting and business intelligence applications.

Technology has always played an important role at SRS Real Estate Partners. Prior to partnering with Ascendix, SRS had been utilizing a combination of custom applications designed in-house and various Microsoft technologies. "Because we have always believed an industry-specific solution, uniquely curtailed to our business would yield the best results, we have always looked internally for our CRM and transaction management solutions," explained Dondi Markham, Senior Enterprise Architect of SRS Real Estate Partners. "By implementing Real Estate Advantage ™, we are now able to have that custom solution, specifically tailored to meet our business needs, without all of the overhead associated with maintaining a large IT staff."

In addition to the advantages associated with a customized application built specifically for the real estate industry, the firm determined it was of the utmost importance to find a solution that would take advantage of their existing investment in Microsoft technologies. "We wanted an application that would make the most of our past investments while taking us into the future," SRS Chief Operating Officer, Drew Kiesling said. "Real Estate Advantage ™ allowed us to do just that. By moving to a solution built on the Microsoft CRM platform and operating inside Microsoft Outlook, we anticipate greater user adoption, greater productivity, and ultimately, greater service to our clients."

"Our goal is to always go the extra mile to provide our clients with the best service possible. Our partnership with Ascendix provides us with the tools we need to reach that goal," affirmed Clay Smith, President and CEO of SRS Real Estate Partners.

About SRS Real Estate Partners
The evolution of Staubach Retail into SRS Real Estate Partners brings retail specialists in 20 offices nationwide to this new name with a strong heritage. Clients of SRS Real Estate Partners have a competitive edge with the full range of services which include tenant representation, landlord representation, land brokerage, disposition services, investment services, lease administration, and managed services. More information can be found at www.srsre.com.

About Real Estate Advantage™
Developed on the award-winning Microsoft Dynamics CRM 4.0 platform, this solution allows real estate companies to benefit from a truly enterprise-capable, flexible and customizable business platform without having to spend a great deal of up-front time and money designing it for their industry. The solution leverages the tools organizations already use, including Microsoft Outlook, Excel, Word, Virtual Earth and SharePoint, improving the intuitiveness and adoption rates often plaguing CRM implementations or point applications.

About Ascendix Technologies, Inc.
Founded in 1996 in Dallas, TX, Ascendix Technologies, Inc., is a Microsoft® Certified Gold Partner and solution provider that focuses solely on the implementation of CRM systems for companies in both the mid and enterprise market space. In addition to commercial real estate, Ascendix has vertical solutions for capital markets, alternative investment products, and financial services. For more information on Real Estate Advantage, visit www.advantageworks.com. For more information on Ascendix, visit www.ascendix.com or contact them at 1-888-Find-CRM.

Tuesday, May 26, 2009

Real Estate Advantage Implementation Named as Finalist for Realcomm’s 2009 Digie Award

After reviewing hundreds of nominations, Realcomm has announced the finalists for the prestigious Digital Impact “Digie” Award. Ascendix is pleased to announce that our client, Highwoods Properties has been named a finalist under the category “Best Use of automation” for a property owner in their use of Real Estate Advantage for Microsoft Dynamics CRM.

Read the Realcomm press release here

Highwoods worked with Ascendix to create an information bridge from lease and property data in their ERP back-office system to the prospect and tenant data residing in Outlook, Excel spreadsheets and sticky notes. The vision of their CIO, Art McCann was a 360 degree view of their prospect, tenant and broker relationships - from initial inquiry to lease renewal. Renewal processes have been automated, marketing and lead follow up has been standardized and forecasting and revenue planning has become much more visible and timely to the management team.

*Update*

The winners were announced on Tuesday, June 23rd, and although our implementation did not win the category, we remain very pleased and proud to have been named a top 3 finalist.

Although our solution for commercial real estate was first released in early 2007, and then on the Microsoft CRM 4.0 platform in June, 2008, we are still somewhat of a newcomer in this market and our clients are really starting to see the return on their investment in 2008 and 2009. We are in the process of building some great case studies from our 2008 implementations and are looking forward to making those available soon. We are also in the process of implementing Real Estate Advantage at several other top national brand companies this year and look forward to sharing those success stories in 2010.

Wednesday, March 25, 2009

Time to go bald again, 2009 edition!

Friends, Family and Colleagues;

Thanks to the donations you made on my behalf these past three years, my team and I have helped raise over $15,000 for children’s cancer research. Just from a handful of us, our friends, and people like you who have supported us.

Well, this year the march goes on. Once again we will shave our heads in solidarity with children who have cancer and typically lose their hair during treatment. But this year, I will personally match the funds you donate on my behalf.

So please help support this worthy cause once again. It doesn’t matter if its five dollars or five hundred, every little bit counts. And it’s tax deductible!

Visit my fund raising site

Find out where the money goes

View Pictures from last year’s event

Donate here

Thank you again. As one of the members on my team has said, for us it’s a choice (and I’ll add, some good, clean fun), but for cancer patients, it’s a matter of survival.

For those of you in Dallas, We're shaving at 3:00 this Saturday, the 28th! We will probably arrive at Trinity Hall at around 2:00 or 2:30 for some liquid courage and then let the shaving begin.

Todd

Labels: ,

Thursday, February 19, 2009

The "Top 35 People to Watch" in 2009

We at Ascendix would like to congratulate our friend and our client, Clint Osteen, CIO of Granite Properties, for making Realcomm's "Top 35 People to Watch" in 2009.

Congrats, Clint!!

Friday, December 19, 2008

Using the Microsoft CRM Workflow Engine to Enhance your Mobile Experience

The workflow engine in Microsoft CRM 4.0 is quite a versatile toolkit and can do many things that requires programming in other CRM packages. The following is a practical example of something that we have set up in our production system that has really enhanced the use of information in a mobile environment.image

In this example, we'll focus on Outlook tasks. When referencing a task in Outlook or on your mobile device, wouldn't it be nice if the contact information was readily available in your task, especially if that task required calling, visiting or mailing something to that person. Well, the low tech solution always exists - copy the contact information into your task and bingo.

Or, leverage the power of your CRM system and ensure this will happen automatically with just two quick clicks.

First, while in Outlook, schedule your task. In this case, we want to remind ourselves to do some research on a prospect prior to a visit. Since we're in the business of providing solutions to commercial real estate companies, we'll call this task "Do research on Thompson Brokerage and Grill. Of course we use Set Regarding to link to the company.

Then we close our task and move on with our day.

Then, several days later when the task is due, when we open the record in Outlook, Outlook Mobile, or our Blackberry device, we see:

image

All the user had to do was reference the task to the CRM account, contact, deal or any other CRM entity you define. The workflow takes it from there. Based on the rules of the workflow, it analyzes what type of record to which this task has been regarded, then merges in the appropriate information.

 image

In the above example, we first test to see whether the task is regarded to an account, a lead or a contact. (You could just as easily add cases for deals/opportunities, leases, properties, listings, etc.

Then, the workflow merges in the data as you see fit:

image

This can be used for other Outlook activities such as appointments, or perhaps even more useful, the contact description. By using workflow to merge in important data in your CRM system into the contact's description field, you will be able to reference that information while viewing in your mobile device as well.

Wednesday, December 17, 2008

Merry ACX-Mas from Ascendix!

Our front door security cameras happened to capture some footage of some tree trimming festivities here at Ascendix. Hopefully nobody figures out Ive posted these on our blog...

Enjoy...


Wednesday, July 09, 2008

2008 President's Club, Ctd.

Press release will hit the wire in the next 24 hours.

Posted here.

 

FOR IMMEDIATE RELEASE

Ascendix Named to 2008 Microsoft Dynamics President’s Club
Microsoft Honors Ascendix Technologies for Outstanding Customer Commitment and Sales Achievement

Dallas, Texas — July 10, 2008 — Ascendix Technologies has been named to the 2008 Microsoft Dynamics President’s Club, receiving recognition from Microsoft Corp. for its dedicated commitment to customers. This honor reflects Ascendix’s success in extending the Microsoft Dynamics platform to drive business advantages in companies worldwide.

The recognition came during the Microsoft Worldwide Partner Conference 2008 in Houston. The elite club recognizes the top 5 percent of Microsoft Business Solutions partners worldwide and their constant dedication to delivering solutions that meet their customers’ unique needs, active pursuit of product and technological advancement, and impressive sales performance.

“Microsoft is proud to congratulate Ascendix on being named to this year’s Microsoft Dynamics President’s Club,” said Doug Kennedy, vice president, Microsoft Dynamics Partners. “Ascendix not only has demonstrated a high level of product expertise, but also has provided a superior level of service and commitment to our Microsoft Dynamics customers, ultimately contributing to the overall success of Microsoft Dynamics and companies worldwide.”

Ascendix helps companies across the United States realize the benefits of their investment in Microsoft Dynamics CRM. With 12 years of exclusive focus on the implementation of CRM and sales force automation systems, Ascendix has completed hundreds of successful implementations for small, mid-market and enterprise companies in real estate, financial services, investment products and manufacturing, including a multiple-thousand-user deployment for a Fortune 500 firm.

In late 2006, Ascendix achieved ISV certification for Real Estate Advantage, an integrated solution based on Microsoft Dynamics CRM for commercial real estate companies. Since the release, Ascendix has helped property owners, REITs, and full-service brokerages as they leverage the full value of their Microsoft investments and achieve the enhanced customer service, productivity and operational efficiency that promote growth and competitive advantage.

“I’m proud for our Ascendix team members,” added Todd Terry, managing partner for Ascendix. “Two years ago we made a key, strategic investment in the Dynamics platform to bring our verticals to market, which required a considerable amount of investment in terms of time, effort and money. Reaching President’s Club validates our effort, but more importantly our customers have benefitted greatly. It has enabled us to more efficiently and effectively provide the tools that help our customers execute their strategies for customer relationship management. Whether we are implementing Microsoft CRM as a part of our real estate vertical or for a company in the insurance industry, the highly configurable Dynamics platform has streamlined our efforts and allows us to spend more time with our customer on high-value activities such as workflow configuration or integration with financial systems.”

About Ascendix Technologies, Inc.
Ascendix Technologies, Inc., a Microsoft® Certified Gold Partner, is a privately held corporation located in Dallas, TX. Founded in 1996 by Todd Terry and Wes Snow, the company is celebrating its 12th year in business focused solely on the implementation of CRM systems for companies in both the mid and enterprise market space. In addition to commercial real estate, Ascendix has vertical solutions for capital markets, alternative investment products, and financial services. For more information on Real Estate Advantage, visit http://www.advantageworks.com. For more information on Ascendix, visit http://www.ascendix.com or contact them at 1-888-Find-CRM.

Thursday, July 03, 2008

2008 President's Club

Well we at AdvantageWorks, by virtue of our sister company, Ascendix, are very pleased to be officially recognized by Microsoft as a member of their 2008 President's Club.

Membership in the President's club means we have met a variety of conditions and qualifications, including product sales and service, that places us in the top 5% of partners across the globe.

Congratulations to the members of the Ascendix and AdvantageWorks' team. They definitely earned it.

Wednesday, June 11, 2008

Realcomm 2008

Is another year in the books already? Seems like we were wrapping up Realcomm Boston just about 6 or 8 months ago. Here we are again, but this time in sunny San Diego, meeting and greeting the movers and shakers in the technology space for commercial real estate.

This year we are participating in 2 panel discussions and will of course be presenting our solution during one of the sessions.

Microsoft based solutions are really starting to make some ground into the commercial real estate space - as evidenced by Microsoft's increased participation in this year's event. Real Estate firms are especially starting to realize the benefit that front office and CRM solutions bring to their enterprise. With increasing energy costs and increasing availabilities, commercial real estate firms are putting the focus on vacant space and any inefficiencies in the process of acquiring or keeping tenants. Trying to achieve these objectives without technology, such as CRM, is an unnecessary, uphill battle.

RealComm2008

Ascendix Account Manager Greg Moser and client, Highwoods CIO Art McCann (a member of Realcomm's "Top 35 People to Watch in 2008") take a quick break in the conversation to pose for a picture in our booth.

Labels: , , ,

Saturday, May 31, 2008

Ascendix Technologies Announces the Release of Real Estate Advantage™ for Microsoft Dynamics CRM 4.0

(For immediate Release)

Dallas, Texas (June 1st, 2008) – Ascendix Technologies is pleased to announce the release of Real Estate Advantage 4.1 for the Microsoft Dynamics CRM 4.0 platform.

“Our solution for the commercial real estate industry just got a great deal more powerful,” remarked Todd Terry, CTO and Managing Partner for Ascendix. “The 4.0 release has a host of new features, enhancements and capabilities that directly benefit the complex needs of the real estate professional. The enhancements in the platform have enabled us to bring an even richer offering to brokers, leasing agents, and asset managers; especially those companies which require globally scaled, multi-lingual, multi-currency implementations.”

Along with enhancements for the global enterprise, the Dynamics 4.0 platform adds new functionality for data management, duplication prevention, user-driven ad hoc reporting and an even deeper integration with the Office suite.

“Real estate professionals spend their entire day in Outlook and Office. Real Estate Advantage is embedded in Outlook, which means the user is one click away from managing deals, interacting with customers, or running reports,” added Terry. “When a user has to launch and login to another application, adoption rates are already at risk.”

Microsoft has also embedded their enterprise-class workflow engine in this release with Windows Workflow Foundation. This workflow system is an ideal engine for lease transmittal and approval processes and complex acquisition and disposition processes, and serves as an ideal tool for enterprise notification mechanisms. “Users are kept abreast of critical events, such as lease option expirations or a fast-approaching deadline for a 1031 investment,” added Terry.

Ascendix has also added new enhancements for Real Estate Advantage with this release, which include:

  • Enhanced functionality for managing multi-family properties and deals
  • Deeper integration with Microsoft Virtual Earth for mapping multiple properties with embedded property data and images
  • Improved quick searching with the ability to save custom searches, making it easier to get to data within the system
  • Multiple images allow for the tracking of a complete library of photos in JPG, GIF or other file formats related to a property
  • In-grid editing in the Microsoft grids streamlines the updating of multiple records at a time without losing context in the application
  • Prospect/investor/broker matching to deals and properties based on buying preferences

Ascendix will be demonstrating the Real Estate Advantage solution at RealComm in San Diego on June 9th – 11th. Contact Carolyn Pachall at 972.889.8089 ext 325 for discount conference rates.

About Ascendix Technologies – Ascendix Technologies, Inc., a Microsoft® Certified Gold Partner, is a privately held corporation located in Dallas, TX. Founded in 1996 by Todd Terry and Wes Snow, the company is celebrating its 12th year in business focused solely on the implementation of CRM systems for companies in both the mid and enterprise market space. In addition to commercial real estate, Ascendix has vertical solutions for capital markets, alternative investment products, and financial services. For more information on Real Estate Advantage, visit www.advantageworks.com. For more information on Ascendix, visit www.ascendix.com or contact them at 1-888-Find-CRM.

Monday, March 31, 2008

St Baldrick's 2008

This is our company's second year to participate in St Baldrick's day, where a few of us agree to raise money for research for children's cancer by taking donations on our heads (so to speak). Its a great organization and a great cause. And it's a fun excuse to see what you look like bald.

There were 5 brave souls who volunteered from our company this year. We tagged ourselves the "Smooooth Operators" and should meet our team goal of raising $5000 for the cause.

Enjoy the slideshow of the event:

Monday, March 03, 2008

AdvantageWorks for Microsoft Dynamics CRM 4.0

AdvantageWorks is excited to announce the availability of our full product line for Microsoft Dynamics CRM 4.0.  From our Split View that brings data to the user where they need it, to our Editable Grid allowing data to be edited in place, our products enhance the usability of Microsoft Dynamics CRM 4.0 resulting in increased user adoption, productivity and ultimately a higher ROI on your investment in Microsoft Dynamics CRM.

Split View

Split View - Seamlessly extends the core Microsoft Dynamics CRM user interface, giving users greater freedom and control over their data

  • Navigate multiple entities from the same screen
  • Configurable tab layout
  • Supports both system and custom entities
  • Built-in templates for quick tab development
  • Increases user satisfaction and product adoption
  • Reduces total cost of ownership (TCO) by increasing efficiency and accuracy

 

Editable Grid

Editable Grid - Allows the user to edit the data directly in a grid via a single button click

  • Supports both system and custom entities
  • Respects security roles and customizations
  • Designed to work with the our Split View or as a stand-alone component

 

 

Relationship Navigator

Relationship Navigator - Quick navigation of entities via all of their existing relationships. Create new relationships and activities on the fly without ever leaving the current view

  • Navigate all related entities from a single location
  • Expand entities to show relationships one, two, or any number of degrees away
  • Create custom relationships between any two entities, including entities of the same type
  • Built-in templates for quick tab development
  • Create activities directly in the Navigator for any display entity

 

Dashboard

Dashboard - Customized views of up-to-the-minute information on all key performance indicators (KPI)

  • Configurable layout with zoom-in capabilities
  • Supports filtering
  • Supports editable grid
  • Extensible via custom panels
  • Supports custom panels
  • Visibility controlled by security roles
  • Tabbed interface for multiple dashboards

 

Quick Search

Quick Search - Find records by searching entities by their business required and business recommended fields as defined through standard customizations

  • Makes searching easy
  • Supports both system and custom entities
  • Search across multiple entities
  • Supports both pre-defined and ad-hoc queries
  • Results returned in editable grid
  • Reduces dependency on the Advanced Find, which can be complicated for many users

Of course, all of our components support multi-tenant deployments, speak multiple languages, and make change in your favorite currency.  For more information about our complete product line for Microsoft Dynamics CRM 4.0 please visit our website at http://www.advantageworks.com/products/.

Labels: , , ,

Monday, February 18, 2008

Pseudo-Filtered Lookup Dialog in Microsoft Dynamics CRM 4.0

One of the great unsupported customizations in Microsoft CRM 3.0 was the ability to apply a filter to a lookup with just a few lines of JavaScript.  Ronald Lemmen had a nice post describing this approach that used a FetchXml query to filter the lookup values.  However, in Microsoft CRM 4.0 this customization no longer works and when you attempt it you receive the following depressing error:

CRM Parameter Filter - Invalid parameter 'fetchXml=...' in Request.QueryString on page /_controls/lookup/lookupsingle.aspx

Figuring Microsoft must have renamed the parameters I spent some time today scanning the Microsoft CRM DLL files (Lutz Roeder's Reflector for .NET is a great tool for reverse engineering).  Unfortunately I came up dry and have come to the conclusion this approach no longer works.  Hey, it was unsupported in the first place -- can't really complain ;-)  Since filtering is such an important feature of usability we still wanted to find a way to apply a filter to lookups.  In our world we have relationships where entity names are not always unique across the organization, though they are unique within the context of their parent relationship.

Of the query string parameters still available one still gave promise of a possible solution - search.  When this parameter is specified it defaults the search string in the lookup dialog and applies the search when the dialog is opened.  While we are not able to target our filter to a specific field, we can still leverage the lookup search (and the search columns for the lookup view) to filter the records returned.

For this example assume we have two entities - state and city - with the state being the parent of city.  In the City Lookup View add a find column for the state name:

image

In the onload event of the form we add the following:

document.FilterLookup = function(source, target)
{
    if (IsNull(source) || IsNull(target)) { return; }

    var name = IsNull(source.DataValue) ? '' : source.DataValue[0].name;

    target.additionalparams = 'search=' + name;
}

In the onchange event of the state field on the form we add the following:

document.FilterLookup(crmForm.all.awx_stateid, crmForm.all.awx_cityid);

When the user selects a state...

image

... and then chooses a city, they see this:

image

Filtered?  Yes!  Supported?  Maybe not, but should be good until 5.0 :-)

Labels: , ,

Saturday, February 02, 2008

AdvantageWorks Beta for Microsoft CRM 4.0 (correction)

The previously listed email address for submitting requests to participate in the beta program was incorrect and should read as follows:

If you are interested in being considered as a potential AdvantageWorks beta tester, please send an email to support@advantageworks.com.  Please include information about your company, development environment, type of deployment (on premise, hosted, or live), and a primary contact.

Labels: , , , ,

Using Nurture Marketing and CRM in Commercial Real Estate

Ascendix Technologies will be sponsoring the TCN West Region Conference in Reno Nevada on February 28th and 29th. Wes Snow, President and CEO of Ascendix Technologies, will be presenting a seminar targeted for brokers where he will discuss the concept and philosophies of nurture marketing and how brokers can apply these simple principles to make a significant impact on their effectiveness and earning potential.


Labels: ,

Thursday, January 31, 2008

AdvantageWorks Beta for Microsoft CRM 4.0

AdvantageWorks is pleased to announce the start of the beta period for our suite of products for Microsoft CRM 4.0.  The initial release includes the following components:

image

Being a beta tester means you get to test prerelease versions of AdvantageWorks software currently in development, not available to anyone else outside AdvantageWorks.  In return, we ask that you take the time to fill out bug reports and give us feedback; your job as a beta tester is an important one: to help us build a better, more stable product.

If you are interested in being considered as a potential AdvantageWorks beta tester, please send an email to support@advantageworks.com.  Please include information about your company, development environment, type of deployment (on premise, hosted, or live), and a primary contact.

Labels: , , , ,

Friday, January 11, 2008

AdvantageWorks Update

An update of the AdvantageWorks Components for Microsoft CRM 3.0 is now available for download.  This update includes a number of small bug fixes and enhancements:

  • Fix- Editable grid is allowing closed / inactive records to be edited in the grid
  • New - Added ability to alias (sub-class) entities for purposes of configuration / query differences
  • Fix - Activities in split view is only showing records when the parent is the "regarding" object
  • Fix - Primary key columns are displayed as GUID's instead of links
  • Fix - Navigator generates an error when an activity with an invalid activity party is selected (one that MS CRM cannot resolve)
  • Fix - Clicking on row in contact tab causes exception
  • Fix  - Contact tab - system error
  • Fix - Quick Search is generating a JavaScript error when used
  • Fix - Quick Search is displaying a search field for non-displayed grid columns
  • New - Added nurture marketing fulfillment

Partners can download the update via the Partner Portal.  For a trial of the AdvantageWorks Components for Microsoft CRM 3.0 please click here.

We are currently hard at work on the AdvantageWorks Components for Microsoft CRM 4.0, so please check back here for more information and an expected release date.

Labels: , ,

Wednesday, January 02, 2008

Extending duplicate detection with Soundex

The duplicate detection included in Microsoft CRM 4.0 is great.  It provides a foundation for creating a variety of rules to detect duplicate records using "like" matches across multiple entity types.  However, "like" matches can start to breakdown when the spelling of names differs, which often occurs with proper names.  This article describes how to extend the duplication detection in Microsoft CRM 4.0 to include "fuzzy" matching based on the Soundex algorithm.

The Soundex algorithm converts a name into a four-character string, originally used for indexing, that can also be used for comparisons.  In Microsoft CRM 4.0 to implement Soundex duplicate detection we created a new field on the entities to be compared for storing the Soundex value and added JavaScript to the "onChange" event of the name field to store the value.  The steps involved are:

  1. Add "Soundex" attribute to your entity
    image
     
  2. Add "Soundex" attribute to your form (set as read-only).  This step helps illustrate the example, validates the logic is working correctly, and makes the field available to the JavaScript in step # 3.  However, it is probably best not to display this value to the user and it could be hidden as described here on Ronald Lemmen's blog.

    image
     
  3. In the "onLoad" event set the ForceSubmit flag to true for the Soundex field

    image
     
  4. Apply "onChange" event to the primary name attribute using JavaScript such as the code found here to set the value of the Soundex field.
  5. Create a new duplicate detection rule comparing the Soundex values

    image
     

Once everything is in place, if you create an account named John's Bait Shop and try and create a new account named Jon's Bait Shop the duplication rules will detect a potential duplicate and alert the user accordingly.

What we found is not only is this rule effective in finding potential duplicates, but if Soundex rules are in place there is not really a need to use "like" matches based on the the primary field.  Once the Soundex values are in place they can be used across entities like other duplication rules.

It is worth noting the "onChange" event only fires when the data is input via the standard UI.  It is probably better to apply the Soundex logic via a server-side callout, but for the simplicity of this example we are just demonstrating a client-side approach.

Labels: , ,

Thursday, December 20, 2007

Drip Marketing for Microsoft CRM

We just finished the beta testing phase of our upcoming drip marketing bundle for Dynamics CRM. This has been quite a pet project for us, as we believe strongly in nurture marketing concepts and have practiced these for ourselves for the past 5 or so years. We've been using a tool other than Microsoft CRM for this up to now, and can now fully marry our CRM tools with nurture marketing!

What is nurture marketing? It's a marketing philosophy and selling process made popular by Jim Cecil and his Nurture Institute. At the core, it recognizes that customers will buy on their timeline, and by making "deposits" over time, (not junk mail, mind you) you will be ahead of your competition when your prospect is ready to buy.

A residential real estate agent in my neighborhood understands this concept well. Several times per year I get letters and mailings from her with truly valuable information: local event schedules (Go Cowboys!), neighborhood demographic trends, crime watch information, then occasionally a postcard of a recent sale. Four out of every five things I get from her have nothing to do with her or her services; just a "deposit" of useful information that keeps her top of mind. When we eventually get ready to sell our house, why wouldn't we contact her?

Keeping your company top of mind with prospects is pretty hard work without a technology tool. We look forward to making this module available to our own clients and partners. We strongly believe that using this tool, paired with Microsoft CRM, will impact your business in more ways than you can imagine!

Labels: ,

Tuesday, December 18, 2007

Microsoft Dynamics CRM 4.0

It looks like it is now official -- Microsoft CRM 4.0 has been released to manufacturing and should be available for download soon (any day now).  There many great new features of the new release of Microsoft CRM, but when you look past the new duplicate detection, multi-tenancy, data imports, etc., what we are most excited about are the following:

Business Modeling

With Microsoft CRM 3.0 it was often difficult to truly model a business due to the limitations of the types of relationships available.  Microsoft CRM 5.0 introduces two new relationships, which eliminate the barriers that existed before:

  • Many-to-Many
  • One-to-Many (System-to-System)
  • Self referential
  • Multiple relationships between entities

By being able to more closely model a business the user experience is greatly enhanced through easier navigation, a more intelligent data model, and the flexibility to customize the system on an individual basis.  No longer do we need to explain to our clients why it is not possible to have two contacts linked to a single record :-)

CRM Live

The introduction of CRM Live opens the world of Microsoft CRM to a new subset of businesses.  As opposed to an on-premise deployment, there are no hardware costs associated with CRM Live and the licensing model allows smaller businesses to enjoy the same functionality larger ones have traditionally been able to implement.

Of course an on-premise deployment allows for greater flexibility and customization, and for larger businesses it is still the right choice -- especially where their business processes necessitate customizations beyond what can be achieved "out of the box".  However, CRM Live also supports much of the same configuration options allowing ISV's to offer compelling vertical solutions in a true SaaS model.

Labels: ,

Thursday, October 11, 2007

Virtual Earth Interactive SDK

I was doing some research for some enhancements to our integration with Microsoft Virtual Earth, and I happened on this link to the Interactive SDK for Microsoft Virtual Earth.

http://dev.live.com/virtualearth/sdk/#

Let me say that I was quite impressed. It even gives you source code for each example.

For instance, lets say in our Commercial Real Estate CRM solution we are looking at a property or series of properties on a map. We could have a custom menu with checkboxes such as: Restaurants, Convenience Stores, Airports, Copy and Fax centers, and Post Offices.

When the user checks one or more of the boxes, the SDK can show all businesses that match the checked categories that are nearby the property or properties on our view. The example they use in the SDK is pizza places.

Very slick stuff!!

Labels: ,

Tuesday, September 18, 2007

AdvantageWorks Update

AdvantageWorks is pleased to announce an updated release of our add-on components for Microsoft CRM 3.0.  This update includes enhancements to all of our components, with specific enhancements including:

Editable Grid

  • Added ability to embed grid in a standard CRM form, giving you three ways to implement the Editable Grid:
  • Split View - used to display child records associated with a parent record
  • IFRAME - used to display the grid within the standard Microsoft CRM form or within your own custom application
  • ASP.NET Control - used to programmatically embed the grid in your own custom application

Split View

  • Added ability to add a summary panel for the selected record
  • Added ability to  display c360 components in a split view panel
  • Removed need to define system filters in the AwxCore.xml file

Relationship Navigator

  • Changed Create Relationship dialog to use standard Microsoft CRM lookup controls in place of drop down lists

Quick Search

  • Changed lookup properties to use standard Microsoft CRM lookup controls in place of drop down lists

General

  • Moved documentation to an online format at http://wiki.advantageworks.com
  • Added a “Help About” dialog
  • Added new exception publish method for writing errors to the Event Log

To download the latest version of these components, please submit a download request via our website at http://www.advantageworks.com/Forms/Download.aspx.  If you need an updated trial license, one will automatically be forwarded to you when we receive your request.

Labels: , , ,

Monday, September 10, 2007

AdvantageWorks Wiki

In preparation for the next release of the AdvantageWorks add-on components for Microsoft CRM we have moved our product documentation from a compiled help file to an online wiki format.  This will allow us to keep the documentation more up-to-date, relevant, and targeted.  At the same time the content will be easier to search, navigate, and will no longer require the installation of our trial software to obtain.

The wiki can be found at the following address: http://wiki.advantageworks.com.  We have also started using wikis internally and have chosen to implement the MediaWiki software, which is the same software that runs Wikipedia.  For the short-term we are hosting the AdvantageWorks wiki at ScribbleWiki, but we will be moving it to our servers once we complete some internal upgrades.  When accessing the wiki please use the above URL, as it will point to our current site -- whether it is hosted or not.

In the true spirit of the wiki we encourage you to add relevant content, make edits, and participate in the discussion pages.  However, for support requests please either contact us directly, or post a message to our newsgroup.  We believe support should be available in many forms, and hope you find the wiki to be another useful way to learn about us and our products.

Labels:

Friday, July 20, 2007

Migrating Security Roles

At the Worldwide Partner Conference in Denver Microsoft revealed the next version of Microsoft CRM (Titan) will include the ability to export and import security roles.  On the surface this seems like a small change, but it was significant enough to get my attention as this has always been a sore spot for us.

True, Microsoft does provide some migration tools.  However, the simple task of deploying an implementation from a development environment to a QA or production environment usually meant the manual update of security roles -- not only was this a time consuming practice, it was also error prone.  Because of the number of records involved in the configuration of security roles and privileges and the differences of unique identifiers from one database to another there did not appear to be a simple way to script out the security configuration to automate this step in the deployment process.

Well, now there is :-)

This is something I had meant to do for a while, but never was motivated enough to sit down and work out the SQL statements.  Until today when I found myself clicking little green circles one after another applying security changes from one environment to another.  I came to a quick conclusion that I could write a script to automate this task faster than it would take me to complete the manual application of the security settings.

Warning: Unsupported actions ahead

Assumptions
  1. The source and target environments have the same business unit names
  2. The source and target environments have the same security role names
Instructions

Script out the source security role privileges from the source system as follows (carriage returns have been added for positing purposes):

SELECT DISTINCT 'INSERT INTO ROLEPRIVILEGES (ROLEPRIVILEGEID, ROLEID, 
PRIVILEGEID, PRIVILEGEDEPTHMASK) SELECT NEWID(), (SELECT ROLEID FROM
ROLEBASE R INNER JOIN BUSINESSUNITBASE B ON R.BUSINESSUNITID =
B.BUSINESSUNITID WHERE R.NAME = '
'' + R.NAME + ''' AND B.NAME = '''
+ U.NAME + '''), (SELECT PRIVILEGEID FROM PRIVILEGEBASE WHERE NAME =
'
'' + G.NAME + '''), ' + CAST(P.PRIVILEGEDEPTHMASK AS VARCHAR(10)) +
'' SQL FROM ROLEBASE R INNER JOIN ROLEPRIVILEGES P ON R.ROLEID =
P.ROLEID INNER JOIN BUSINESSUNITBASE U ON R.BUSINESSUNITID =
U.BUSINESSUNITID INNER JOIN PRIVILEGEBASE G ON P.PRIVILEGEID =
G.PRIVILEGEID WHERE R.NAME <> 'System Administrator'

OK -- I know, it's ugly.  What is it doing?  Basically, this script creates a set of insert statements to create the security role privileges in the target system.  The insert statement using the names of the business units and security roles to get their ID's in the target system.


Note, the script does not export the privileges associated with the System Administrator role as this role is constant from one installation to another.  Here is an example of the insert statement created:

INSERT INTO ROLEPRIVILEGES (
ROLEPRIVILEGEID,
ROLEID,
PRIVILEGEID,
PRIVILEGEDEPTHMASK )
SELECT NEWID(),
(SELECT ROLEID
FROM ROLEBASE R INNER JOIN BUSINESSUNITBASE B
ON R.BUSINESSUNITID = B.BUSINESSUNITID
WHERE R.NAME = 'Role Name'
AND B.NAME = 'Business Unit Name'),
(SELECT PRIVILEGEID
FROM PRIVILEGEBASE
WHERE NAME = 'prvAppendAccount'),
32

As you can see the generated statement does not contain any GUID's and has the statements necessary to locate the appropriate identifiers embedded.  Just image this line repeated 1000's of times and you can start to see the value of this approach.  To run the generated statements in the target environment make sure the business units and security roles have been created (they do not need to be configured).  If you are re-applying the security privileges to an existing implementation you can clear the existing records using the following statement:

DELETE FROM  ROLEPRIVILEGES
WHERE ROLEPRIVILEGEID NOT IN (
SELECT P.ROLEPRIVILEGEID
FROM ROLEPRIVILEGES P
INNER JOIN ROLEBASE R ON P.ROLEID = R.ROLEID
WHERE R.NAME = 'System Administrator')

As a reminder, making updates to the database via SQL scripts is not supported by Microsoft.  Errors in the scripts or execution of the scripts can result in damage to your Microsoft CRM installation, your data, or both.  Please proceed with caution.

Labels: , ,

Monday, July 09, 2007

How to brand your CRM implementation

Warning: unsupported (but minor) customizations ahead!

This is something we use in our development environments to quickly identify the client associate with the implementation, but is also a simple way to brand a production installation of Microsoft CRM:

image

To add a logo follow these steps:

  1. Open the bar_top.aspx file in the <Microsoft CRM Web>\_root folder using a text editor
  2. Replace the table with the class stdTable stageContextBar with the following:
    <table class="stdTable stageContextBar" cellspacing="0"
    cellpadding="0">
    <tr>
    <td class="bar">
    <nobr id="tdStageContextBar">
    <%HttpUtility.HtmlEncode(stageContextBarTitle, Response.Output);%>
    </nobr>
    </td>
    <td align="right">
    <img src="../_imgs/logo.png" />&nbsp;
    </td>
    </tr>
    </table>
  3. Copy an image file to the <Microsoft CRM Web>\_imgs folder (in the example above the image is named logo.png).

If you wish you can specify the image dimensions in the HTML, as well as add a title for the mouse over.  That's it.  Nothing fancy, but it gets the job done ;-) 

Labels: ,

Wednesday, June 13, 2007

Creating your own customer fields

Michael Höhne has posted another great article showing just what is possible with client-side scripting in Microsoft CRM.  This particular post discusses how to add a customer field to a form, which is a data type not available as an option in Microsoft CRM (though it is used extensively internally).

If I had the wherewithal to extend what Michael has created I would encapsulate his code in a CSS behavior file and in the OnLoad event set the behavior for the account lookup field to the file created.  This would allow the code to be quickly reused on other forms.  But alas... it is late and I am tired, so I will just imagine myself doing this :-)

There are a lot of great tips and advice on Michael's site, so if you have a moment I suggest you check out:

http://www.stunnware.com

Or if you just want to subscribe to his blog you can get to that here:

http://www.stunnware.com/crm2/atom.aspx

Labels: ,

Website Update: Flash demo now available

We have updated our website with a flash demo of our Split View and Relationship Navigator components.  We will be adding additional demos of our Editable Grid and other components in the next few days.  Please take a look and let us know what you think.

Labels: , , ,

Thursday, June 07, 2007

Exhibiting at RealComm




We had a great time at RealComm in Boston earlier this week as we exhibited our CRM solutions for the commercial real estate industry.



We met and had some great conversations with folks from all sectors: technology, services, brokerages, owner - operators, among others.



I took this picture with my phone, so please excuse the quality. ;-)



A couple of folks from Microsoft were also present and gave a great presentation on some new (and some not so new) technologies that will have an impact on the real estate industry. It was exciting, and we're excited to be a part of the delivery of these technologies. Stay tuned. More to come on this topic.


Labels:

AdvantageWorks Online Store

At the request of our customers we are now accepting orders for our add-on components for Microsoft Dynamics CRM 3.0 online.  You can place an order for individual components, or our new packages that include multiple components at a discounted price.

To place an order click here.

The individual (a la carte) components available for purchase include:

  • Split View
  • Editable Grid
  • Relationship Navigator
  • Dashboard
  • Quick Search
  • We have two discounted packages available:

    Professional Pack which includes

  • Split View
  • Editable Grid
  • Relationship Navigator
  • Enterprise Pack

  • Split View
  • Editable Grid
  • Relationship Navigator
  • Dashboard
  • Quick Search
  • Labels: , ,

    Job Opening for Quality Assurance Analyst/Trainer

    If you or somebody you know is in the market for working with a fun group of folks in the Dallas area, please send your resumes/inquries to: careers@ascendix.com


    Title:

    Quality Assurance and Training Analyst (Jr. and Sr.)

    Purpose:

    The purpose of the Quality Assurance (QA) and Training Analyst is to work with the project team and client to ensure delivery of an exceptional software solution. Successful delivery includes fully testing, client training and supporting the software application.

    Level/Experience Required

    Entry level for Client Care Position with 0 to two years of professional experience.


    Senior Level QA/Trainer requires a minimum of three years of experience in either testing or formal classroom training. Formal SQA training and certification is a plus.

    Primary Responsibilities:

    Develops, revises and verifies quality assurance testing procedures; tests software development according to project requirements; tracks deviations and defects during QA and UAT cycles; creates and utilizes test scripts; maintains communication with the client during testing; ensures timely and satisfactory completion of assignments; documents release notes; prepares training documentation, agendas and manuals; trains client end-users and super-users on system functionality in a group classroom environment; responds to client support calls.

    Resource Requirements:

    Bachelor degree in Information Systems or equivalent, Microsoft Office experience, Testing experience, Software Training experience is desired.


    • Must have good customer service skills, prior experience in a client facing position is highly desired
    • Experience working with clients and deadlines is preferred
    • Occasional travel (up to 10%) required
    • Recent college graduates will be considered if you have notable academic and project or intern work related achievements

    Career Path:

    JR QA and Training Analyst: This is an entry level position. The person hired will have many different routes to choose from for career development: Implementation engineer, Developer, Database Analyst, Junior Business Analyst or Senior Quality and Training Analyst.


    SR QA and Training Analyst: The Senior Analyst position provides the person hired with the following career paths: Client Care Manage, Quality Assurance Team lead, Business Analyst, Project Manager, or a Technical path.

    Work Environment:

    • Fun environment
    • Good Insurance plan choices (Medical, Dental and Vision)
    • Reimburse employees 50% (up to $50/month) of fitness membership dues
    • Cell phone reimbursement depending upon position
    • Three weeks PTO, plus eight holidays
    • Salary plus bonus plan
    • 401K plan with matching fun (after six months of employment)

    Last Revision Date:

    June 7, 2007

    Labels:

    Wednesday, May 30, 2007

    Editable Grid now available

    AdvantageWorks would like to invite you to download a trial of our editable grid control for Microsoft CRM 3.0. As part of our Software Development Kit (SDK), the editable grid allows the end user to edit the contents of a grid directly in the grid by the click of a single button.

    The grid supports editing of the following CRM data types:
    • Picklist
    • Date (no time)
    • Lookup
    • Integer
    • Money
    • Float
    • Boolean
    • Status
    • Customer
    • Owner
    • Decimal
    • String
    Additionally, the grid enforces Microsoft CRM's built-in security model and prevents users from editing the following types of data:
    • State attributes
    • Fields with a display mask of ObjectTypeCode
    • Fields marked as read-only
    • Fields disabled on their associated edit form
    • Fields with an active OnChange event on their associated edit form
    • Fields the user does not have write privileges for (both record and entity level)
    The AdvantageWorks Editable Grid for Microsoft CRM 3.0 is designed to work in conjunction with our Split View control. However, it can also be used as a stand-alone component in your own custom ASP.NET 2.0 pages.

    If you are interested in obtaining a copy of the editable grid, please visit our download page to submit a download request.

    Labels: , ,

    Monday, May 21, 2007

    Technology Adoption in Commercial Real Estate

    A very interesting article was recently posted on the "RealComm Advisory" site regarding the reluctance of commercial real estate companies in adopting technology solutions.

    Basically, the take is that unless the IT department drives the project, many firms have been very slow to adopt technology solutions due to culture, familiarity with proven (low tech) tools, reluctance to change or failure to get the many involved parties in the real estate cycle on the same page.

    I can’t find fault with their take so far. True, many successful real estate professionals are traditionalists and can still meet their lease or acquisition quota by networking, making calls and speaking at events, all coordinated by the telephone, Big Chief and crayons.

    The interesting point of this article (although like my blog post, it takes awhile to get there) is that there is an impending event that will force the corporate real estate industry (perhaps even other laggard industry segments in corporate America) to embrace technology solutions ....

    The energy crisis

    As the article puts it, wasted space, unaccounted for assets and other inefficiencies will be more and more painful to the bottom line in the face of globalization and pressure on more efficient uses of natural resources.

    "Lean, mean, and well-managed real estate will be required to survive - and trying to achieve these new objectives without the strategic use of technology and automation is almost impossible."

    http://www.realcomm.com/advisoryweb.asp?aid=259

    Friday, May 18, 2007

    Microsoft Worldwide Partner Conference 2007

    AdvantageWorks will again be attending the Microsoft Worldwide Partner Conference this year. We are looking to forward to seeing what Microsoft has in store for us, but mostly we are looking forward to putting faces to the many people we have met since last year's event.

    What:Microsoft Worldwide Partner Conference 2007
    Where:Denver, Colorado
    When:July 10th - July 12th

    If you will be attending the conference and want meet with us, please set up a meeting with AdvantageWorks via the WPC Connect site and we will see you there!

    Labels: ,

    Thursday, May 17, 2007

    Inline Grid Editing

    AdvantageWorks is excited to announce the upcoming release of our CRM Grid control, now with inline editing! These screenshots are just a preview of the control in action, which we plan to release in June to our current customers with a trial version following shortly.


    Figure A – AdvantageWorks Grid control within our Split View component


    Figure B – Enabling Inline Grid editing


    Figure C – Applying Changes



    Want to know more? We will be posting additional information in the coming weeks here and on our web site at http://www.advantageworks.com, so check back later for updates.

     

    Labels: , , , ,

    Monday, April 30, 2007

    IE7, XmlHttp, and Nirvana

    We make extensive use of the principles of AJAX on our products, as they deliver an excellent user experience. However, with IE7 we started encounterung an error that was anything but excellent – IE would lock up if the user too quickly navigated from one entity to another from within our Split View control. Because our Split View control uses AJAX calls to load the panels behind the scenes, if the asynchronous requests got too backed up IE would lock-up and the CPU usage would spike until the application was forcibly closed by the user (usually via Task Manager).

    At the root of most AJAX calls it the reliance on the XmlHttp object, which traditionally is instantiated through JavaScript (the "J" in AJAX) by means of the ActiveX Object named Microsoft.XmlHttp. However, IE7 now includes a "native" XMLHttpRequest (XHR) object that supersedes the ActiveX version. Whether or not the IE7 version is really just a wrapper to the ActiveX version is a matter of debate, but for the purposes of this solution it is a moot point. Of course there is no guarantee your users are using IE7, so we must now code for both scenarios – first trying the IE7 approach and then falling back to the ActiveX object:

    var xmlhttp = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');

    I found a number of different designs on the web for determining the correct version for the browser, but since we can safely assume (in our case, at least) the user is using IE6 or IE7 the above check is more than sufficient.

    OK, so does switching to the new IE7 "native" XHR solve our issue? Actually, no it doesn't. But it is the first step in the process. Because the issue is a result of a backlog of AJAX request, and all but the last are actually no longer valid, the solution is to change the way the AJAX calls are queued. For the Split View the only AJAX call being used (at the panel level) is the one to load the panels themselves. By changing the scope the XHR object from local to global we are able to reuse the object for each subsequent request. This small change actually is what makes all the different. Why?

    Each time the Open() method is called on the XHR object, it will implicitly Abort() any previous requests. The browser automatically takes care of cleaning up after itself and IE behaves no matter how quickly the user navigates from record to record. After doing a bit more research I stumbled upon this blog post by Paven Keely where he adds it is important to execute the XHR statements in a certain order. Where it is common practice to first set the callback method (via the onreadystatechange event) and then open() and send() the request such as:

    xmlhttp.onreadystatechange = function() { // Custom Function }

    xmlhttp.open('GET', url, true);

    xmlhttp.send(null);

    In order to successfully reuse the XHR object you must first open the request and set the callback method as the second statement as follows:

    xmlhttp.open('GET', url, true);

    xmlhttp.onreadystatechange = function() { // Custom Function }

    xmlhttp.send(null);

    Putting these three changes together, using the "native" XHR object, changing the scope of the XHR object, and reordering the statements in our code, our issue has been resolved. After reviewing the solution the problem becomes obvious. Best practices for successful coding require we clean up after ourselves and dispose of objects after they are no longer needed. In the case of the XHR, the Abort() method was always an option. However, JavaScript is an often underappreciated technology and consequently JavaScript code does not necessarily follow those best practices. This exercise has given me a greater appreciation for the power and complexity of JavaScript and a greater understanding of how to tame the beast.

    Labels: ,

    Saturday, March 31, 2007

    One-to-Many Relationships - Part II

    This is an update to my previous post with additional instructions for maintaining the lookup value's name on the edit form.

    CAUTION: Unsupported customizations ahead -- use at your own risk!

    Creating one-to-many relationship in Microsoft CRM can usually be accomplished through standard configuration using the tools included in the product. However, relationships between two system entities not previously created by the system cannot be added using the tools. Instead, a custom attribute must be added to the entity via the Export / Import XML customization file.

    The following steps describe the process for creating a one-to-many relationship via custom attribute

    Creating a custom attribute

    1. Export the customizations for the entity to be on the “child” side of the one-to-many relationship
    2. Add a new attribute with a physical name describing the primary key of the “parent” entity
    3. Set the element IsCustomField equal to 1
    4. Set the element ReferencedEntityObjectTypeCode to the object type code of the “parent” entity. For example:
      <attribute PhysicalName="FieldId">
      <Type>lookup</Type>
      <ValidForCreateApi>1</ValidForCreateApi>
      <ValidForUpdateApi>1</ValidForUpdateApi>
      <ValidForReadApi>1</ValidForReadApi>
      <IsCustomField>1</IsCustomField>
      <ReferencedEntityObjectTypeCode>1</ReferencedEntityObjectTypeCode>
      <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask>
      <Description />
      </attribute>

    5. Import the customizations and publish the changes
    6. Add a second attribute via the customizations form for storing the name of the selected lookup. This field will not be visible to the user, but is needed to properly display the lookup on the form.
    7. Add both attributes to the edit form
    8. Add the following JavaScript to the OnLoad event of the form:

      Note: This sample assumes the lookup attribute is named FieldId and the name attribute is named FieldIdName
      /* Hide the name field */
      crmForm.all.fieldidname_c.style.display = 'none';
      crmForm.all.fieldidname_d.style.display = 'none';

      /* Retrieve the lookup control */
      var o = crmForm.all.fieldid;
      var a = o.getLookupField().getElementsByTagName("SPAN");

      /* Update the name if a lookup was found */
      if (a && a.length > 0)
      {
      /* Retrieve the name value */
      var name = crmForm.all.fieldidname.DataValue;

      /* Update the lookup with the name value */
      a[0].innerHTML = a[0].innerHTML.replace(/>.*$/, '>' + HtmlEncode(name));

      /* Reset the IsDirty flag by setting the default value */
      o.DefaultValue = o.DataValue;
      }
    9. Add the following JavaScript to the OnChange event of the lookup:
      /* Retrieve the lookup value */
      var items = crmForm.all.fieldid.DataValue;
      var o = (items == null items.length == 0) ? null : items[0];

      /* Update the name field */
      crmForm.all.fieldidname.DataValue = (o == null) ? '' : o.name;

    Labels: ,

    Copyright © 2007 AdvantageWorks Software Group, LLC. All rights reserved.