Tuesday, May 8, 2007

Microsoft CRM Custom Design & Development: SDK, C#, SQL, Exchange, Integration, Crystal Reports

Microsoft CRM is new player on the CRM software market. The whole conception behind CRM seems to be different. In case of traditional CRM software (Siebel, Oracle) - the application was designed with platform independence in mind. Microsoft CRM is dedicated to Microsoft technology and so deploys all the Microsoft tools: Windows Active Directory, Microsoft Exchange 2003/2000, SQL Server, Crystal Reports Enterprise, Biztalk server, Microsoft Outlook, Internet Explorer, Microsoft Great Plains as backend, etc.

If you are software developer, database administrator or web designer who is asked: how do we customize Microsoft CRM - we are giving you directions in this article.

  • Microsoft CRM SDK - this is software development kit with C# and partly VB.net code samples - it is supported by Microsoft Business Solutions technical support. It is based on web service calls, if you are C# .NET developer - you are excellently positioned to do this type of customizations. This is the preferred modification scenario and this should be easily upgradeable customization. VB.Net examples will be available soon.
  • Legacy SQL Data integration. This is also easy and safe. If you have SQL database, sitting on the same or linked SQL Server - you can create ASPX .Net application and simply integrate it into CRM. You can place it on the navigation bar or menu in isv.config - please refer to MS CRM SDK
  • Legacy ASP integration - this is somewhat more sophisticated. You have to deploy HTTP handler to be a middle party between CRM which is .Net based and ASP which is legacy IIS. The trick is - you have to have INI file with security settings to penetrate into MS CRM with proper credentials, calling web service.
  • Microsoft Exchange Programming. Microsoft CRM has Exchange connector - which moves CRM incoming email to MS if it has GUID in its subject. You can alter this logic (for instance - move email to CRM if it doesn't have GUID but it is from the sender who is contact or account in MS CRM). Refer to MS Exchange SDK onsyncsave event handling. Then simply apply some MS CRM SDK programming - you need some COM+ objects creation and VB programming experience.
  • Direct SQL touch - in #4 above I described you the scenario with MS Exchange handlers - this would be ideal world if MS CRM SDK does the job. But - in real world this is not always true - you have to do direct flags correction in CRM database (like making Activity closed, moving email attachments/octet streams, etc). This is not supported by MBS technical support - but you can rescue to this technique if you have to get job done.
  • MS CRM Customization tool - this is rather end-user tool and we don't describe it here - read the manual. We've described above the options to use when this tool doesn't do the job
  • Crystal Reports - feel free to create Crystal report - tables and views structure is self explanatory. Try to avoid the temptation to create your own SQL view or stored procedure in MS CRM database, instead - create custom database and place your view and stored proc in it.
  • Happy modifying! If you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

    Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies - USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, Boston, San Francisco, Seattle, Minneapolis, Los Angeles, Houston, Dallas, Atlanta, Miami, Canada, UK, Australia and having locations in multiple states and internationally (www.albaspectrum.com), he is Dexterity, SQL, VB/C#.Net, Crystal Reports and Microsoft CRM SDK developer.

    Monday, May 7, 2007

    Microsoft Great Plains Upgrade - Version 8.0 Overview for IT Director/Controller

    If you have Microsoft Great Plains as main accounting and ERP system you need to know some technical details on Great Plains version upgrade and what is going on behind the scenes, which options do you have in case of Dexterity, VBA, SQL customizations, ctree/Pervasive migration to MS SQL/MSDE. As of right now it is reasonable to upgrade to Microsoft Great Plains 8.0


    Is upgrade required? Not actually, but you have to consider these factors
    ? Technical Support discontinuation - the old version may not be supported - currently if you are on version 6.0 - support is already discontinued. You can not have Microsoft Business Solutions help you, but obviously you have MBS partners who can still help you. If you are on Ctree or Pervasive SQL, then your support expires December, 31 2004.
    ? Tax Updates/Magnetic media expiration - if you have US Payroll module and depend on it with W2 and other forms - you must stay with the version, which is supported and has tax updates. If you are on Ctree or Pervasive SQL - then you will not have tax updates for these platforms at the end of 2004 and your W2s maybe inaccurate. If you have a lot of employees - you may have issues with government.
    ? Following the Technology and Microsoft rules - Microsoft wants you to be on the newest platform and provides you the best support when you follow this rule
    ? If you do have heavy customization - we recommend you to skip one version, for example if you are on version 7.5 - do not upgrade to 8.0 and wait for the next version

    What is upgrade in the language of technology? Upgrade has server and client sides.
    ? Server side - upgrade converts tables from old format to the new one. In general words - Microsoft Business Solutions developers may change table structure, append additional fields to add new functionality, things like that. Upgrade copies the table with changes to temporary table, then drops original table, recreates it with new structure and copies all the data from temp table to the newly created one.
    ? Workstation side - workstation is written in Great Plains Dexterity and has Dynamics.exe - engine and DYNAMICS.DIC - dictionary. These two plus all the additional files will be replaced with the new ones. Other dictionaries, such us REPORTS.DIC and FORMS.DIC should be also upgraded and upgrade will try to deal with them automatically. In some cases modified reports (in REPORTS.DIC) could not be upgraded and need to be recreated in the new version.
    What is customization upgrade? You should consider different types of customizations: Dexterity, VBA/Modifier, SQL, ReportWriter, Crystal Reports
    ? Dexterity Customization - being very short - Dexterity may have so called Custom Forms - these do not need upgrade - they should work as is. Then Dexterity may alter existing Great Plains forms (so-called Alternate Great Plains forms) - in this case Dexterity customization should be redone for these forms/screens. Plus additional consideration should be given to Dexterity triggers, shadow tables, etc.
    ? VBA/Modifier customization - Modifier allows you to modify existing Great Plains windows - it creates so called modified Great Plains windows, stored in FORMS.DIC. Usually modification is placing new buttons or fields, which in turn will be given VBA scripts (stored in DYNAMICS.VBA). VBA scripts may call something nice, like Crystal Report, or have some data access logic. Usually the old version of DYNAMICS.VBA workds with the new version. You may need to rearrange buttons on the modified form.
    ? SQL - you may have some stored procs for data integration, EDI or the like - if the addressed tables will be changed in the new version then you need to analyze your SQL code. The good news is - Microsoft Business Solution doesn't make a lot of changes since version 7.0, because Microsoft is now trying to merge the products it owns: Great Plains, Solomon, Navision and Axapta - and so has different priorities
    ? ReportWriter - MBS doesn't change tables, but it keeps changing Dexterity formulas used in ReportWriter original reports - this is the problem in so-called Modified Reports upgrade - usually you have these reports modified: SOP Blank Invoice form, SOP Blank Picking ticket, etc. If report can not be upgraded - it should be redone in the new version with some exceptions.
    ? Crystal Reports - the nice thing about Crystal Report - id doesn't need to be upgraded (if the fields in the tables exist in the new version - which is usually true statement)
    What is upgrade for third-party modules? Your Great Plains may have so-called third party modules: Mekorma, Kampdata, Horyzon, Wennsoft, Avalara, Truepay, Trinity, Intellisol to name a few
    Third party modules may have their own utility for upgrade. You just need to know that your third-party is ready for the new Great Plains version - if not - you just wait and stay on the old version.

    What is migration from Ctree/Pervasive.SQL 2000 to MS SQL/MSDE? MBS has migration tool. You need first to install Great Plains on SQL Server with exactly the same account/segments structure and then install migration tool (it is Dexterity chunk) on your ctree/Pervasive workstation - then, when you integrate the chunk - you will map it to target SQL-based Great Plains Company, select all system and company tables, click the button and it will move all your tables one-by-one. In the case when your Great Plains ctree/Pervasive has third parties - you need to check if the vendor has migration tool - otherwise you have to do manual move, use SQL Linked server to your legacy data

    Do I need consultant? It is probably good idea to have consultant to do the upgrade. We strongly recommend you to use consultant in the following cases
    ? You have Dexterity customization
    ? You are doing migration from Pervasive/Ctree to Microsoft SQL Server/MSDE, especially when you have third-parties without migration tools
    ? You have a lot or ReportWriter Modified Great Plains Reports
    ? You have old version of Great Plains: Dynamics or eEnterprise 6.0 or prior - in this case you can not appeal to Microsoft Technical Support - it is discontinued
    ? Your Great Plains has more than 20 users and you have to have upgrade done over the weekend - if it fails - you have business problems
    ? You don't have support - in this case you have to select your Microsoft Business Solutions Partner and pay for the annual support/enhancement plan - you will get new registration key and will be ready for the upgrade

    Good luck with upgrade and if you have issues or concerns - we are here to help! If you want us to do the job - give us a call 1-866-528-0577! help@albaspectrum.com

    Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies - USA nationwide Microsoft CRM, Microsoft Great Plains customization company, based in Chicago, California, Colorado, Kansas, Minnesota, Texas, New York, Washington, Georgia and Florida and having locations in multiple states and internationally (www.albaspectrum.com), he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer.

    Friday, May 4, 2007

    IT Department Skills to Support Microsoft Great Plains and Microsoft CRM

    Microsoft Great Plains as ERP and Microsoft CRM as Client Relation Management system is very robust combination and could serve midsize to large corporation as Business System. Being VP IT or IT Director you need to foresee the positions to have in your IT department to do internal MS Great Plains and MS CRM support.

    Let us give you the directions, based on our research and consulting practice.Microsoft SQL Server Specialist - we specially do not name this position as MS SQL DBA, because both Great Plains and MS CRM are not very complex from the database administration side, they do not use indexes optimization, referential integrity, probably do not require complex transaction log backup/recovery scenarios. On the other hand this position requires Great Plains and Microsoft CRM tables structure analysis and some primary Great Plains data fixing skills via SQL queries, described in MBS Customer source techknowledge database. The best candidate should have some accounting background - to be able to address ongoing issues to MBS technical support.
    Network Administrator with good Microsoft Exchange and Active Directory skills. Microsoft CRM uses all the newest Microsoft technologies, and Exchange is a workhorse here. In order to install and upgrade MS CRM this guy needs to understand the under-laying Microsoft technology. In the best case - she/he should know Exchange security structure and probably program Exchange handlers, due to the fact that CRM/Exchange connector is not a perfect tool yet.
    C# or VB.Net programmer with excellent SQL Skills- if you are midsize or large company - you should have this position - you will need web publishing and MS CRM customization and its support. Currently Microsoft CRM SDK has C# examples - so C# programmer would be the best fit, it may have more VB code in the future, so the C# - VB balance maybe restored.
    Crystal Reports Designer/Programmer - Crystal Reports is the best tool available on the market to address both Great Plains and MS CRM reporting needs. This position maybe merged with one of the above.

    These people should be probably cross-trained in both Great Plains, Microsoft CRM, Crystal Reports, SQL and C# programming, so you do not depend on the unique skills of one person. In our opinion, which is based on our long term consulting practice - these skills will allow you to keep the cost of IT support reasonably low and avoid paying high consulting price to your Microsoft Business Solutions Partner.

    Happy hiring and training! But in any case you need to select Microsoft Business Solutions Partner/Var/Reseller to be your official representative. This is how MBS has its channel working - it assures that Microsoft Business Solutions products are properly implemented. If you want us to be your Microsoft Business Solutions Partner - give us a call 1-866-528-0577! help@albaspectrum.com

    Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies - USA nationwide Microsoft CRM, Microsoft Great Plains implementation and customization company, based in Chicago, Boston, New York, San Francisco, Los Angeles, Phoenix, Houston, Atlanta, and Miami and having locations in multiple states and internationally (www.albaspectrum.com), he is Dexterity, SQL, VB/C#.Net, Crystal Reports and Microsoft CRM SDK developer.

    Instant Messaging is a Sweet Way to Communicate

    MSN messenger is a pretty cool invention. I mean I'm not really into serious discussions on the email, answers to questions can often take a few days to arrive because people are so busy these days. I've just been 'hooked up' into Messenger and it's really a different kind of communication, quick, simplistic and even humorous with the capability to express your feelings with 'emotion' cartoons. With Messenger you can communicate with a group of close friends or business partners instantly whenever they are at their computer. When a message is received you are informed instantly on your desktop, you don't have to be at an email site. A little box appears flashing the name of the sender, you read the message and send a reply when you've got a second free. There's a contact list and when you go on-line, it automatically tells you who of your connections are on and off-line at that moment. If someone goes on-line after you've already been at your computer, a small box appears on your screen to tell you who are now also instantly message able. It's like the spontaneity of a telephone call but you don't even have to dial any numbers! Just log in your password and you're connected. The huge array of smiley faces and other 'emotional' icons add another dimension to the conversations. Some of the smiley faces actually move (sticking their tongues out etc.) and there are many other symbols to express the moment. E.g.: Show a little sun when it's sunny in your neighborhood, flash a wilted rose when your love life isn't going to well, put up a black sheep when you're feeling disconnected from society. How about expressing your dream of a holiday by flashing up the tropical island icon when you're stuck in dreary office working hard on a cloudy day. They say a picture speaks a thousand words? Well I certainly don't work for Microsoft but I guess Bill Gates and his buddies have made a few bucks because they've had a couple of good ideas. They're helping the world with their knowledge, and I reckon their MSN Messenger is another step forward in bringing the Earth together into one world. Besides the normal email format you can also have web cam and audio conversations, as well as sending files and photos instantly. It's as sweet as that first time you kissed your honey bunny, well maybe not that sweet.

    Importance of Computer and Technology

    Today the world has become small village, thanks to internet and technology. The world is getting closer and closer with internet. Each day we are facing with some kind of new challenges in our life for example computer problems and virus threats. Different people think in different in different ways. Sometimes a big problem for us is smaller for other person (that is he is having the solution for that problem).

    So, it becomes very vital for us to discuss our problems and new ideas with each other. If we discuss with each other what we have learned by experience then definitely the we can evolve a better society. For example if a person is facing some problem in his computer and he does not know the abc of computer. Then, it is very difficult for the Computer Company to solve his problem from their call center support. So, if there is good computer technology forum then the person can openly ask to the world for the solution for his problem. And may be somewhere in the world, somebody may have solution for his problem.

    So, he can get the solution from the experience of other person. And exchange of information between the two persons is Vice-Versa. It can create a more knowledgeable society in the world. And the people will be able to interact more and more. We can take the example of latest virus and spyware attacks in the world (Blackworm, kamasutra are some examples). These virus attacks has done so much damage worldwide. So we can share our expertise with each other in the computer forums or science communities, we can create better-educated and intellectual society.

    Importance of mobile phones

    Nowadays, virtually everyone carries a mobile phone, including the young children. They have become the most important item an individual can own. They serve as a communication tool used to make and receive calls as well as send text messages, listen to music, surf the internet and even play mobile games.
    Mobile phones are now so common that they hardly attract attention. People have started understanding the value, convenience and ease of owing a mobile phone. In earlier days, very few people could think of buying mobile phone but today looking at the dropped prices, almost every individual can afford to purchase it. Mobile phones are equipped with every latest feature you desire. Even if you don't need the advanced features, you can get a basic mobile phone to make and receive calls. They can help us in our fast lifestyles when we have no time to meet our friends, relatives and left with the only option of talking over the phone. We can stay in touch whenever and wherever we need to.
    Mobile phones available in small attractive designs, provides access to many useful features like camera, games, music and many more. We almost take them for granted as they are extremely affordable to maintain. The loads of useful features make lives much easier. Some like to use it as a camera, some for listening to music, some for making calls, some for entertainment purposes and some for multipurpose. With the latest java games, wallpapers, polyphonic ringtones, Bluetooth mobile technology, picture messaging, you can never feel bored. These days, people are looking for comfort, convenience and reliability and mobile phones have surely provided them all.
    The main advantage of mobile phones is talking on the move but if due to a poor reception or network, an important call gets dropped, it's no use. So you need to take care while choosing your network service provider so that you don't face any problems while making and receiving calls. You can choose among the best mobile Phone Networks like Orange, 3 Mobile, T Mobile, O2, Vodafone, Virgin, etc. All these mobile networks provide cheap line rental mobile tariff plans, benefits like free line rental, half line rental and free mobile phone insurance with free mobile handsets. The roaming feature allows you to make and receive calls even if you are out of your country. It might be a little expensive but let's people stay connected.
    Today, people have become so dependent on their mobile phones that they cannot imagine life without them.

    Saturday, April 28, 2007

    Protect Your Computer...and Your Business!

    We all take the computer for granted. I mean, all we have to do is switch it on and it's ready to go. But did you ever stop to think what would happen if your computer suddenly crashed? And that is the only computer you have to work on!

    What will happen to your work and your business for the next few days or weeks?

    Do you have the original or a copy of all your programs?

    Do you have the setup configurations, eg for your ISP?. You will need this to re-install some programs.

    Do you have a copy of your email address book? Your email list or address book is vital to your business.

    Do you remember all your passwords - for retrieving email, connecting to your ISP, membership sites, etc?

    So what can you do to ensure that your computer will run as well as you'd expect, and continue working when your computer is down? Here's a few simple tips:

    1.Is your computer protected from viruses? Install an anti-virus software such as Norton AntiVirus or McAfee, and make sure to get regular updates. New viruses are coming out more often these days so you need to have updates regularly. Anything more than 3 months old needs to be updated today.

    You can do an online virus scan at: http://housecall.antivirus.com

    2.Install a firewall. Anytime your computer is connected to the Internet without a firewall, it is operating under an "open door" policy to intruders. Hackers can get in, take what they want, and even leave open a "back door" so they can turn your computer into a "zombie" and use it to attack other computers, distribute porn and spam.

    Your bank account and credit card information, passwords, documents and personal files can be stolen while you're busy surfing. Don't let that happen!

    You can download a personal firewall from here:
    http://www.zonelabs.com or from http://soho.sygate.com/products/spf_standard.htm

    3. Make regular backups of your important files. Keep a record of all vital information, such as passwords, system configurations, etc. in a file and also print a copy of this and keep in a safe place. Make a duplicate and keep at another location.

    If your computer does not come with a zip drive or CDRW drive, it would be a good idea to invest in one. Zip drives and CDRW drives are inexpensive and can be easily installed. The cost of a blank CD for example is less than $1.00 and can store up to 650MB of data.

    If you lost some files or your hard disk crashed you can easily retrieve them from the backups. And if your computer is down for repair, you can take that backup CD and work from another machine.

    4.Remove all unwanted files on your hard disk. You can safely remove files in your temporary internet folder. In Internet Explorer, select Tools -> Internet options - > Delete Files.

    5.Increase your systems performance by defragmenting your hard disk regularly. As applications and files are saved and deleted they gradually cause your hard disk to fragment. By defragmenting your hard disk you can optimise the performance of your computer. Defragmenting may also save wear and tear on your hard disk and extend its lifespan.

    Do this today.

    About The Author

    About the author: Ahmad Supaat provides work-at-home ideas and opportunites for anyone interested to start a business online. For more information please visit http://insiderprofit.com. Subscribe to the "Insiderprofit Home Business Tips": mailto:insiderprofit@getresponse.com, mailto:insiderprofit@yahoo.com