top border

Ben Klopfer's Blog

 Ben Klopfer Headshot

Ben Klopfer, Technology Solutions Manager

Ben Klopfer, eImagine's Technology Solutions Manager, has been with the company since 2008. He began his career designing quality assurance software for Time Warner's distribution warehouses in 2002. Ben is one of eImagine's highly certified individuals, a Microsoft Certified Professional Developer in ASP.NET with additional certifications in SharePoint and CRM. Ben specializes in architecting rapid and creative solutions using C#, VB.NET, Microsoft Dynamics CRM, and various database platforms. He also enjoys developing unique apps for Windows Phone 7 in Silverlight using the MVVM design pattern. Ben is a solutions expert, and prides himself in seeing problems only as great opportunities for technical solutions.

Back to eImagine Blogs
  • What We Know: Microsoft SharePoint

     Microsoft SharePoint                    Microsoft SharePoint

    eImagine is a Microsoft SharePoint expert, providing enterprise solutions to clients in a variety of industries. eImagine utilizes the powerful out-of-the-box SharePoint features to their fullest extent to provide solutions that quickly connect people with the right information, convert insight into organization knowledge, and simplify how people work together. eImagine's client list includes the Indiana State Government, the United States Federal Government, and numerous large commercial clients.

    eImagine has been involved in all facets of SharePoint, providing full-scale solutions from infrastructure hosting of SharePoint Server to custom application development within the SharePoint platform. eImagine's Microsoft Certified staff collectively holds numerous certifications in SharePoint, qualifying eImagine as one of Indianapolis's few companies to hold a Silver Competency in Microsoft's Partner Network for Portals and Collaboration. eImagine is proud to offer employees who are truly subject matter experts when it comes to applying SharePoint solutions to business processes.

    eImagine has the Microsoft SharePoint solution you need. Because of our proven SharePoint expertise, eImagine is well suited to provide an out-of-the-box SharePoint solution, or a highly customized product. With numerous past successes in this arena, we are confident in the ability to provide a successful and timely solution.

    Full story

    Comments (0)

  • eImagine on Career Services Panel at Indiana University

     Indiana University IU Logo

    In February, I was selected to represent eImagine Technology Group at an Indiana University Career Services Career Panel. We were given the opportunity to have a dialog with some students about our first jobs after graduation, and our careers since then.

    There were about 12 different employers on the panel, all represented by IU alums. We were graduates from as recent as 2011, and going back as far as the 1980's! Job roles by the panelists were greatly varied, including administrators, managers, IT professionals, and even a lawyer.

    The topics discussed by the panel revolved mostly about what courses, activities, and experiences from campus were most important or best applied in the real world. Many students had concerns about their activities, and how too much or too little of any one type of event or activity would affect their ability to get a job and form a career after graduation.

    Each panelist was given an opportunity to speak on questions asked by the students and panel hosts. With such a diverse group, the responses were very diverse. Some panelists were very involved in student societies and club activities. Others worked part or full time as a work study. Others still poured their time into academics striving for the highest grade point average... Despite the diversity of the panelists, I was struck by the overwhelming positive message delivered to the students about their future careers. From panelist experiences it was clear no matter what the focus as a student, be it work or grades or serving the community, we were all able to build great careers. The students left the room with confidence they were on a good path toward their future careers.

    Thanks are due to IU Career Services for allowing me to have such a positive panelist experience. I am excited about the next generation of students graduating soon!

    Full story

    Comments (0)

  • Microsoft Dynamics CRM 2011 Q2 2012 Update Preview

    Microsoft Dynamics CRM 2011 Roadmap Release Preview Guide Q2 2012 Service Update

    The Q2 2012 Service Update for Microsoft Dynamics CRM 2011 is going to be a good one. Microsoft has released a guide highlighting major features and enhancements that will be included in the upcoming release. Here is a summary of some of the good stuff to come...

    CRM 2011 Q2 2012 Service Update MobilityYes! Native CRM apps are coming to popular smartphones and tablets! This includes Windows Phone, Apple's iPhone/iPad, Android phones, and Blackberry devices. Most devices will have online and offline modes. A new "mobile license" will allow named users to access CRM from up to three different devices at once. Availability of mobile features can be managed at an company/organizational level.

    CRM 2011 Q2 2012 Service Update Browser FlexibilityFinally, support for browsers other than Internet Explorer! The lineup includes recent versions of Firefox and Chrome on Windows machines, and Firefox and Safari on Apple Mac OS-X and iOS machines. This expanded web access also introduces Rapid View Forms, which can be configured for quick and easy read-only lookup on record details. As Microsoft figured out with them CRM 4 to 2011 upgrade, more configurable form options are always a better thing!

    CRM 2011 Q2 2012 Service Update SocialExpanding on the CRM 2011 November Service Update, there will be more and better integrated social features with Twitter, Facebook, blogging, etc. This should allow CRM to become a "hub" for managing and tracking business social media interactions. The "What's New" module has been enhanced to provide quick access and control of insights in a beautifully layed out fashion. I have a feeling this is going to take Microsoft's "first step" toward social media management to "full sprint."

    CRM 2011 Q2 2012 Service Industry TemplatesCRM is used by a variety of industries including distribution, manufacturing, public sector, retail, services... and the list goes on. New, pre-configured, industry-specific templates are being released to the Microsoft Dynamics Marketplace from Microsoft Dynamics Labs. This will allow for more rapid implementation and a starting point for the industries supported. This includes a much-awaited Non-profit template! As a guy who sets up a lot of basic prototype demos in CRM this will make my life much easier for some of those industries.

    CRM 2011 Q2 2012 Service SQL Server 2012SQL Server 2012 support is coming in this update. The main thing this means is better performance and response time. More details will be coming out about additional enhancements like new self-service business intelligence features and much, much more. Reporting integration with SharePoint is also rapidy expanded by use of the SQL Server 2012 Reporting Services Add-in, Power View (Project Crescent). It can also be used in conjunction with Excel PowerPivot and SSAS. This greatly expands the options and accessibility for data visualization directly from CRM data.

    CRM 2011 Q2 2012 Service CertificationsMicrosoft Data Centers and Dynamics CRM Online Service are already compliant with several major privacy, security, and regulatory certifications since the Novermber 2011 service update. With the Q2 2012 update, Microsoft will increase that number further, bringing CRM into compliance the following: ISO 27001, SAS70 Type II, Sarbanes-Oxley, Safe Harbor, HIPAA, SSAE 16 SOC1 Type II, Data Processing Agreement, and EU Model Clauses.

    ...And there's more to come than just those highlighted areas listed above. CRM Online customers should get extra excited due to ever-needed expansion of features previously only available to on-premises implementations (custom workflow activities!!). eImagine is one of the largest Microsoft Dynamic CRM consulting firms in Indiana... We're super excited and you should be too! Read up and get in the know for this major update!

    [Download the Microsoft Dynamics CRM 2011 Roadmap Release Preview Guide for the Q2 2012 Service Update]

    Full story

    Comments (0)

  • What's New in .NET 4.5 [INFOGRAPHIC]

    What's New in .NET 4.5 - Features and Updates

    What's New in .NET 4.5 - Features and Updates [Download the PDF]

    Full story

    Comments (2)

  • Microsoft Dynamics CRM is Anything Relationship Management

    Microsoft xRM Platform

    When people think about CRM, they are often boxed in to the Customer Relationship Management paradigm. A traditional CRM system typically handles management of customers, sales, and support. eImagine provides CRM solutions using Microsoft Dynamics CRM, which is Microsoft's solution for managing CRM.

    What many do not know, however, is that the Microsoft Dynamics product family is build off a very power "XRM" framework that can be easily and rapidly extended from the traditional CRM paradigm. "XRM" means "Anything (X)" Relationship Management. Using the XRM platform, you can manage relationships between any types of entities, not just customers. Basically, the XRM platform allows you to accomplish 80% of this with administrator or consultant driven customization and configuration. The remaining 20% of the business needs can be added through development extension. The XRM platform is web service based, and can be easily extended by a developer using the standard Microsoft .NET framework.

    eImagine is an Indianapolis-area leader in Microsoft Dynamics CRM. Whether you're looking for an out-of-the-box CRM implementation, and highly customized solution, or an XRM-based extended CRM product, we're the local company with the expert staff to get it done!

    Tenpointsix - Field Service Redefined

    eImagine's subsidiary company, Tenpointsix, has developed a highly custom XRM platform for field service, work order dispatch, and asset management. Demonstrating the flexibility of XRM the front-end of Microsoft Dynamics CRM has been extended to run natively on iPad and iPhone devices. Tenpointsix is available as a software as a service SaaS solution, or as an on-premise installation. Learn more about the best field service product in the business.

    Full story

    Comments (1)

  • Error in Send E-mail Step of Workflow Process - Solution [TUTORIAL]

    Bug found in lines of code under magnifying glass

    Update: I was able to reproduce this problem, and have reported it to Microsoft as a bug for resolution. Please vote for it as an important fix so it can be resolved in the next Rollup Update!

    Let me tell you a little story about a bug...

    I had just completed a complex workflow process in Microsoft Dynamics CRM 2011. The workflow checks a number of conditions and then sends one (of any numerous) email templates to a distribution group filled with dynamic fields from the primary and related entities. It was painstaking created, tested, and modified several times until the conditions and templates were perfect. Then, I simply updated the "To" fields to make it live... But upon the first execution, no email went out and I got the error:

    An error has occurred. Try this action again. If the problem continues, check the Microsoft Dynamics CRM Community for solutions or contact your organization's Microsoft Dynamics CRM Administrator. Finally, you can contact Microsoft Support.

    No problem, I thought, I'll just go back in and mess with the Send Email steps that are failing to figure out what the problem is. But when I went to click the "View Properties" or "Edit Properties" to see/change the created email record, I got a CRM unhandled exception with the following stack trace:

    [IndexOutOfRangeException: Index was outside the bounds of the array.]
    at Microsoft.Crm.Application.Platform.WorkflowLibrary.WorkflowAdapter.GetEntityProperty( ExpressionBase propertyExpression)
    at Microsoft.Crm.Application.Platform.WorkflowLibrary.WorkflowAdapter. GetEntityPropertyForProperty(PropertySpecification property, String uiXmlName, String& slugInfo)
    at Microsoft.Crm.Application.Platform.WorkflowLibrary.WorkflowAdapter.PopulateEntityProperties( EntitySpecification entitySpec, EntityBase entity, String uiXmlName)
    at Microsoft.Crm.Web.Sfa.EntityForm.get_FormEntity()
    at Microsoft.Crm.Web.Sfa.EntityForm.ConfigurePage()
    at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e)
    at System.Web.UI.Control.PreRenderRecursiveInternal()
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

    [HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown.]
    at System.Web.UI.Page.HandleError(Exception e)
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    at System.Web.UI.Page.ProcessRequest()
    at System.Web.UI.Page.ProcessRequest(HttpContext context)
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication. IExecutionStep.Execute()
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

    Now I was stuck--I didn't want to recreate the entire workflow manually and painstakingly test over and over again manually. No one had ever heard of this problem, and I couldn't find anything online about how to solve it.

    To solve it, I exported the workflow and dug through the XAML to find the root of the problem. When I created the Send Email steps in my workflow, I had filled out the "To" and "CC" fields with User accounts for testing purposes. When I modified it to make it "live," I changed the "To" entity record (to the live distribution list Contact record) and completely cleared the "CC" field. However, for some reason CRM still had a pointer doing and entity record lookup for the "CC" field, and it was failing to look it up because there was no record indicated (the field was blank).

    I noticed in the XAML there was a SetEntityProperty in the Send Email sequences that shouldn't be there for a blank "CC" field. Something like this:

    <mxswa:SetEntityProperty Attribute="cc" Entity="[CreatedEntities(&quot;SendEmailStep1_localParameter#Temp&quot;)]" EntityName="email" Value="[SendEmailStep1_1]">
    <mxswa:SetEntityProperty.TargetType>
    <InArgument x:TypeArguments="s:Type">
    <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:EntityCollection" />
    </InArgument>
    </mxswa:SetEntityProperty.TargetType>
    </mxswa:SetEntityProperty>

    The ActivityReference for SendEmailStep1_1, however, contained a weird stub for an empty PartyList. This was causing the Index out of Range lookup error, which was crashing CRM:

    <mxswa:ActivityReference AssemblyQualifiedName="Microsoft.Crm.Workflow.Activities.EvaluateExpression, Microsoft.Crm.Workflow, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" DisplayName="EvaluateExpression">
    <mxswa:ActivityReference.Arguments>
    <InArgument x:TypeArguments="x:String" x:Key="ExpressionOperator">CreateCrmType</InArgument>
    <InArgument x:TypeArguments="s:Object[]" x:Key="Parameters">[New Object() { Microsoft.Xrm.Sdk.Workflow.WorkflowPropertyType.PartyList }]</InArgument>
    <InArgument x:TypeArguments="s:Type" x:Key="TargetType">
    <mxswa:ReferenceLiteral x:TypeArguments="s:Type" Value="mxs:EntityCollection" />
    </InArgument>
    <OutArgument x:TypeArguments="x:Object" x:Key="Result">[SendEmailStep1_1]</OutArgument>
    </mxswa:ActivityReference.Arguments>
    </mxswa:ActivityReference>

    The solution was to remove the offending references to the "CC" field and associated activities. Problem solved! And that's the last time I use the "CC" field for testing purposes without backing up my workflows first!!!

    eImagine is an Indianapolis-area leader in Microsoft Dynamics CRM. Whether you're looking for an out-of-the-box CRM implementation, and highly customized solution, or an XRM-based extended CRM product, we're the local company with the expert staff to get it done! Learn about our CRM experience.

    Full story

    Comments (1)

  • Microsoft + Nokia = <3

    Nokia Hearts Microsoft

    Microsoft did a great job at the Consumer Electronics Show (CES) this year. I'm looking forward the to Microsoft and Nokia partnership, especially with the impact it could have on the number of Windows Phone 7 devices out in the wild. They just introduced the Lumia 900 on AT&T's 4G LTE network. I've developed 30+ apps for Windows Phone 7, and while they have been popular, I know that Apple iPhone counterparts would have been even more popular (and profitable!). It's really a numbers game--the more phone you have, the more people there are to buy your apps. If Nokia is able to give Microsoft a much needed jump start in phone sales, that would be great!

    Microsoft and Nokia are already getting plenty of good press as "winners" at CES 2012. I'm crossing my fingers they make some great strides this year!

    Nokia's press release: http://press.nokia.com/2012/01/09/nokia-and-att-introduce-the-new-nokia-lumia-900-on-atts-4g-lte-network/

    Full story

    Comments (1)

  • Imagine the Impact of New Years Resolutions

    Champaign Toast! Happy New Year!

    I have been going to the gym on the same regular schedule for the past 2 years. Every January the locker room is flooded with resolutioners who have made a pledge to be more fit for the New Year. This year, not even halfway through January the new crowd has already decreased significantly. By February, it will be back to regulars only.

    I was thinking about it and not only are resolutions broken, but they're also boring. Take a look at this list of the same-old same-old New Year's Resolutions I've heard people pledge this year:

    1. Start a gym/diet.
    2. Cut down smoking/drinking.
    3. Go back to school.

    Personally, I don't make resolutions, I make goals. And I make them all year round. What's more, my goals are specific and not generalized statements I can wiggle around and rationalize not getting done. Many of my life goals revolve around business goals because, well let's face it, like most of us work so we can live! So why not take those traditional goals and turn them in to business goals for yourself!

    Here are some ideas to get you started. Imagine the impact if everyone at your office did this!

    Start a Gym/Diet = Get Organized

    Fit is efficient, and every employee can benefit from being organized and more efficient. It's time to bulk up your calendar, tasks, and spreadsheets. Get everything up to date and actually use the systems you put in place for yourself. If you don't keep it up, you'll lose all that newly established muscle tone!

    Put your desk filing cabinet on a diet! Go through your desk drawers and guarantee at least 50% of what you find you can throw out. Then, you'll be able to find the actual document you are seeking next time without wading through garbage. Don't forget to maintain that diet or the weight will come right back!

    Cut Down on Smoking/Drinking = Break Bad Office Habits

    Do you read too much Wikipedia during work? Or spend too much time browsing Facebook? We all have some bad office habits that we can break. Whether it's putting the phone in your pocket so you can't respond to text messages all day or just keeping your internet browsing to a minimum, you know which habits are bad and how to break them. Make it a goal, the results will be great!

    Go Back To School = Master a New Skill

    It's easy to fall in to a pattern as an employee and stop learning new things for your career. This is especially true if you have been working on the same product, service, or client for a long period of time. Learning something new can give you additional perspective on your work making it exciting again, or you can at least stay up to date on the world around you. You'd be amazed what a weekend of dedication does toward mastering a new technical skill.

    Full story

    Comments (0)

  • The Project Management Balance

    Dilbert Comic

    I think, as developers, we've all experienced projects with too much project management. There's nothing worse than being micro-managed by multiple, non-technical bosses that make the documentation and paperwork suck up all your time. Whether it's having six direct bosses, or a ridiculous hierarchy of supervisors, getting caught up in the politics gets unavoidable. Come on people, us software developers just wanna work!

    But I've seen the flip side too. Being held accountable for successful project execution, I've seen projects start to really go off the rails if they don't have a project manager engaged. Developers aren't typically thinking about budgets and time, or planning out careful milestone delivery. It's easy for a company to get upside down on a project when those things aren't monitored.

    So what's the right balance? It can be tough to not only have the right amount of PM involvement. How many meetings is enough? How many is too many? Unfortunately, I've found it is all variable depending on the developers, project, and size of the team. Using an agile methodology, like eImagine practices on most projects, can certainly help buffer major projects and eliminate missed milestones for clients. However, it seems to always be a living, breathing creature that is evolving with every new project and task. Stay adaptable!

     

     

     

    Full story

    Comments (0)

  • Displaying More Exciting Chart Types in CRM 2011 [TUTORIAL]

     Cool Area Chart Example

    At eImagine, we do some pretty cool dashboarding in our CRM implementation. Unfortunately, Microsoft Dynamics CRM 2011 only supports 5 standard (read: boring) chart types out of the box: Column, Bar, Line, Pie, and Funnel. Well, I take that back--Funnel is exciting, but the other 4 are definitely boring.

    CRM 2011 Out-of-the-box Chart Types

    However, since CRM uses the standard .NET Framework Chart control, it is an undocumented feature that you can extend the charting visualizations to take advantage of many other chart types. And, even better, this can be done without development extension of the control! Here are instructions to easily change the chart type of an existing or newly created chart in CRM:

    1. Navigate to Settings > Customization > Customize the System.
    2. In your soluton, navigate to Entities > (Target Entity) > Charts.
    3. Select the chart you wish to change and choose Export.
    4. Save the resulting XML and open it in Visual Studio or any text editor.
    5. Scroll to the Series element and modify the ChartType property.
    6. Save and import the XML as a new chart.

    Code snippet XML element modification

     Here are all the supported chart types you can use:

    ChartType

    Description

    Area

    Area chart type. 

    Bar

    Bar chart type. 

    BoxPlot

    Box plot chart type.

    Bubble

    Bubble chart type. 

    Candlestick

    Candlestick chart type. 

    Column

    Column chart type. 

    Doughnut

    Doughnut chart type. 

    ErrorBar

    Error bar chart type.

    FastLine

    FastLine chart type. 

    FastPoint

    FastPoint chart type. 

    Funnel

    Funnel chart type. 

    Kagi

    Kagi chart type. 

    Line

    Line chart type. 

    Pie

    Pie chart type. 

    Point

    Point chart type. 

    PointAndFigure

    PointAndFigure chart type. 

    Polar

    Polar chart type. 

    Pyramid

    Pyramid chart type. 

    Radar

    Radar chart type. 

    Range

    Range chart type. 

    RangeBar

    RangeBar chart type. 

    RangeColumn

    Range column chart type.

    Renko

    Renko chart type. 

    Spline

    Spline chart type. 

    SplineArea

    Spline area chart type.

    SplineRange

    Spline range chart type.

    StackedArea

    Stacked area chart type.

    StackedArea100

    Hundred-percent stacked area chart type.

    StackedBar

    Stacked bar chart type.

    StackedBar100

    Hundred-percent stacked bar chart type.

    StackedColumn

    Stacked column chart type.

    StackedColumn100

    Hundred-percent stacked column chart type.

    StepLine

    StepLine chart type. 

    Stock

    Stock chart type. 

    ThreeLineBreak

    ThreeLineBreak chart type. 

    Full story

    Comments (0)

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. Next page