text:
July 20, 2012
4 Steps to Improve Data Consolidation Using Microsoft Dynamics CRM
We often hear from business executives about their concerns with duplicate systems and duplicate data sets. We also hear the desire to create or improve "a grand all-encompassing data warehouse" so executives can better understand customer trends as well as all sorts of business informatics. Mostly, there is a desire for one easy to use consolidated database – the one single database of truth for all customers, contacts, and related information AND accessible across all devices - phone, tablet, laptop.
Here are four steps to improve data consolidation and get to that one database of truth using Microsoft Dynamics CRM.
- Understand why data consolidation is important
- Recognize reasons why data silos occur
- Catalog all the data sets
- Form a strategic plan on how CRM will be leveraged
STEP 1 - Understand Why Data Consolidation is Important
The first step is to understand the value of good customer data. Many executives would already agree that consolidating customer data is critical in business today but there are some that are hesitant to invest in the endeavor or they are unsure where to start. There are many valuable advantages to data consolidation, but in a nut shell, businesses are more effective, more competitive, and have greater insight when they can see one shared customer record that has a deep 360 degree view. This view could include all customer activities, purchases, visits to your website and where they went, accounting information from the ERP, real time data from data aggregators, customer complaints and their resolutions, and yes, the customer's correct email. That is at the record level. Good data then rolls up for quality analytics. Reporting on your key performance indicators and customer buying trends and even predictive buying just got a whole lot easier now that everything is in one place. Keep in mind, in your current state, you probably have most of this data already, but it is just spread out in too many duplicate databases and Excel files to be usable.
STEP 2 - Recognize the Reasons Why Users Create Data Silos
The next step is to try to stop data silo creation. There is usually a central system in place but then users remove the data they want to an Excel file and continue to update that Excel file outside the central system. Why? Why are users compelled to create Access databases and Excel files? There can be many reasons but usually it is because the central system is hard to use and it is just easier using Excel or their own Outlook. So how do you stop users from creating their own data sets? Improve the user interface is one way and that is where Microsoft Dynamics CRM can help. Although Microsoft CRM uses a powerful Microsoft SQL Server database to handle Big Data, it is the user Interface of Microsoft CRM that will often help reduce data silo creation. Microsoft CRM has the potential to be designed putting the user first – meaning the interface is clean and purpose driven. It also helps that Microsoft Dynamics CRM can be accessed from within the very tools that frequently drive silo creation to begin with – in this case Excel and Outlook. All of CRM can be accessed from Outlook and there is one click in CRM to bring data to Excel.
STEP 3 - Identify and Catalog all the Data Sets
Next, start to identify all your data. Data you have and even the data you don't have. Catalog all the In-house data like main central systems, the many rogue Access databases and Excel files, as well as website databases and SharePoint Lists and so on. Just focus on the data that is being managed and updated away from a central database. Think also about the data you may not have now but could get from an online subscription to a data aggregator such as InsideView to sync real time business and social data or Trillium to validate and clean your data for total data quality.
STEP 4 - Form a Strategic Plan for Data Consolidation and How Best to Leverage CRM
The last and most important step is to form a long term strategy plan. This is where some companies may need assistance. Without going into too much detail, the plan should attempt to include what data will be migrated and what will be integrated.
· Migration: With data migration, this is the data that will be completely moved permanently to live in CRM. These aren't just the rogue Excel files; this could potentially be retiring some completely separate business applications – meaning move the data along with the functionality and business process to CRM using the innovative xRM approach to duplicate functionality where logical.
· Integration: What data then gets integrated in and out of CRM? Is the integration one way (asynchronous) or two way (synchronous)? What are the outside data sources and services that will be utilized? What data integration tools such as Scribe may be needed?
The strategic plan may also include new reporting needs, how data will be displayed across devices, and what users get to access and not access based on their security. As you can see, having a well thought out plan divided into logical phases will provide the long term blue print and framework for continued data success.
If you understand the value of one consolidated database and you know why users make data silos and you have cataloged all your data sets and then formed and documented a well thought out plan that leverages Microsoft Dynamics CRM, well then, you should be on your way to improved data consolidation.
Posted by Will Slade on July 20, 2012 at 10:05 AM in CRM Business Process, Dynamics CRM 2011, Microsoft CRM Implementation, Microsoft SQL Server, Scribe, XRM | Permalink | Comments (1) | TrackBack (0)
May 29, 2012
Transform Multi-Select / Delimited fields into CRM Many-To-Many Relationships.
In many source systems (such as salesforce.com), the data from multi-select pick-lists is stored in a memo field as a long list of semicolon delimitated values:
ID Value 1 Option1;Option2;Option4 2 Option1;Option3
When upgrading to Microsoft Dynamics CRM, you may choose to convert those individual fields into N:N (many to many) relationships, but first you'll need to de-concatenate those values into multiple rows along with the id of the source record.
ID Value 1 Option1 1 Option2 1 Option4 2 Option1 2 Option3
How To:
The following example code demonstrates converting a semicolon delimited text field on the opportunity record into a list that is then matched to a related entity and any missing many-to-many relationships are identified for creation.
Continue reading "Transform Multi-Select / Delimited fields into CRM Many-To-Many Relationships." »
Posted by Scott Sewell on May 29, 2012 at 09:56 AM in CRM Development, Microsoft CRM Tricks and Tips, Microsoft SQL Server, Scribe | Permalink | Comments (5) | TrackBack (0)
May 22, 2012
Return All-but-One Duplicate Records in CRM using SQL
Frequently when importing / scrubbing data within CRM, identifying duplicates to remove or 'flag' may be needed. It's helpful to have a query that will return all the duplicates in the database – but exclude a single 'surviving' record. (i.e. Return all-but-one of the duplicated records.)
This query is one of my go-to query patterns – I rarely, if ever, use it as-is, but will modify it to fit the particular entity / scenario I need to investigate.
The returned record set might used as the source for a Scribe Insight job to either 'flag' or inactivate or delete the duplicates depending on the situation. – Of course you'll need to take into account the record's relationship to other entities etc.
Continue reading "Return All-but-One Duplicate Records in CRM using SQL" »
Posted by Scott Sewell on May 22, 2012 at 01:00 PM in Microsoft CRM Tricks and Tips, Microsoft SQL Server, Scribe | Permalink | Comments (2) | TrackBack (0)
April 16, 2012
Microsoft Dynamics CRM Integration Go-Live Checklist
If you are planning to integrate Microsoft Dynamics CRM 2011 with another business application, there are several items which you will want to have in place prior to go-live to ensure the success of the integration. A good partner like Customer Effective will do their best to make the integration run error-free; however, any integration needs periodic care and feeding to maintain good performance.
The following list of items was written with Scribe Insight in mind, but most would apply to any integration tool, such as SQL Server Integration Services (SSIS)
Continue reading "Microsoft Dynamics CRM Integration Go-Live Checklist" »
Posted by Joel Lindstrom on April 16, 2012 at 08:24 AM in Scribe | Permalink | Comments (0) | TrackBack (0)
January 17, 2012
Sabert Corporation uses Scribe to integrate SAP ERP and Microsoft Dynamics CRM
Customer Effective customer, Sabert Corporation, is using the Scribe Data Integration Platform to connect its SAP ERP system and Microsoft CRM. Sabert is a leader in the food packing industry and has been increasing sales productivity dramatically over the last three years with Microsoft CRM and is now seeing increased efficiency in its reporting as a result of the integration.
Every day, Sabert pushes all of the customer data from SAP to CRM using Scribe. Sabert's 70 field sales representatives report that they are saving hours a night per person on clerical tasks now that they can get the information they need — such as order status reports — from CRM through Outlook on their laptops.
Mike Freeman, Director of Information Technology at Sabert knew they needed a partner like Customer Effective to make their CRM project a success; "When we were evaluating CRM solution providers for sales force automation, Microsoft CRM had what we needed: a native Outlook interface, which our field sales already used on their laptops, and the ability to work offline. We knew there would be heavy integration requirements, and we didn't want to add staff, so we turned to a trusted partner and integration platform."
Read the entire news article on Sabert's success on our Customer Effective News page
Posted by Hannah Story on January 17, 2012 at 03:12 PM in Customer Effective Success Story, Scribe | Permalink | Comments (0) | TrackBack (0)
December 15, 2011
Redeploying Scribe Server ODBC Connections for Microsoft CRM Integrations
The following is a quick way to redeploy Scribe ODBC data connections from one scribe server to another. This is particularly helpful when you want to move scribe and/or DTS from a test/development deployment to a production deployment.
1.) You need to click on start run and type "regedit" on the server from which you want to copy the ODBC connections.
Note: If you are not confortable working in the registry key ask for assistance. You can cause bad problems if you do not understand what you are doing.
2.) Find the ODBC Key for your type of installation. There are two location depending on OS verion 32 Bit. or 64 Bit.
32 bit server location
64 bit server location
3.) Export the registry key to a *.reg file.
4.) Logon to the server that you want to restore/copy the ODBC settings to and run regedit.
5.) Please backup this servers registry key prior to importing the exported registry keys from the other server. This way you can restore the original if something happens (Repeat step 2-3)
6.) Double click on the exported *.reg file from the server you are moving the ODBC settings from and it will import them.
Posted by Sean Shilling on December 15, 2011 at 12:29 PM in Scribe | Permalink | Comments (0) | TrackBack (0)
December 13, 2011
Importing Records Created Since the Last Run Date of a Scribe DTS for Microsoft CRM
When using Scribe, you frequently want your integration process to identify only the records that have changed since the last time the integration job ran, so you only do an incremental insert or update. There are several ways to do this, including message queues or application publishers. One of the simplest ways to do it is by using the GetLastRunDate function in Scribe. This function gets the last time a job has run from the executionlog table of the scribeinternal database, and you can use that variable as a filter in your source query, either from one of the Scribe adapters or from a SQL query.
Here is how you would filter a SQL query by last run date of the job in Scribe Insight:
1. Get the file path for the scribe dts. Easiest way to do this is navigate to the collaborations folder and shift + right click and select "copy as path."
2. Create a calculated variable called LastRunDateTime.
3. Set the formula for the calculated variable to be
GETLASTRUNDATE( "C:\Program Files (x86)\Scribe\Collaborations\CustomerTest.dts" ) (replace the file path with the one copied in step 1).
4. Call that in your query as follows:
FROM dbo.IR_TASK_DATA (nolock)
where ENDTIME >= :LastRunDateTime AND File_NO <> ' ' and File_NO is not null
Considerations and shortcomings of this approach
- If you lose your scribeinternal database, your process will fall apart—this approach depends on the executionlog tables. Backup, backup, backup.
- The last run date approach can be problematic with related records, for example when accounts and contacts are created. If you have an account load running off of last run date and you have a contact load running based on last run date, you risk data loads failing if the account and contacts are created after the account load has run but the contact load has not run. In this case your contact will fail because the parent customer doesn't exist. I recommend combining these into one step—getting all contact and parent account information in one query where the modified on the contact is greater than last run date or the modified on the account is greater than last run date—that way you won't have any dependency/timing issues causing records to fail to load.
- The last run date approach can be problematic if rows fail. Since it is only getting records that have changed since the last time the job ran, if during a load a row fails for some reason, next time the job runs it will not retry that row. I recommend adding a "retry bit" to the source data table, and if for some reason a row fails, you can update the source for retry. Then, in your DTS, have your source query include records that were modified after the last run date OR records where retry = 1/yes. This is one way to eliminate the timing issues in the previous point—if a row fails because a dependency is not present, flag the row for retry and by the time the job runs again, the dependency will probably be there.
- Make sure that if you are reading from a MSCRM database using the lastrundate approach, you are reading from the filtered views, not the base views or tables. Keep in mind that the modified date field will be 4+ hours later in the base tables and views so if you are reading from the base tables and views your last run date logic will not work dependably.
Posted by Joel Lindstrom on December 13, 2011 at 08:00 AM in Scribe | Permalink | Comments (0) | TrackBack (0)
October 26, 2011
Scribe GP/Microsoft CRM 2011 Templates and CRM Online
I recently worked on integrating Microsoft Dynamics CRM 2011 Online with a local deployment of MS Great Plains 10. While you might assume that this might be an easy task considering that Scribe has had the GP templates around for a while now, it presented some challenges stemming from the security around CRM 2011 online hosting. The native Scribe GP templates need adjustments to connect to CRM 2011 online.
Scribe pointed us to the following blog post that will help you get started. We won't go into all the details covered in the posting but here are the key points that you will need to do in order to make this work.
- You will need two CRM online accounts for this modified process which means customers have to pay for additional user licenses.
- One of the accounts needs to have the "isintegrationuser" set to 1. You need to create your own DTS to flip this value.
- You will need to modify all DTS connection that point to CRM 2011 to use one of the accounts you created above. There is one exception so please review blog posting.
- You will have to modify the "publishers" associated with CRM 2011
- The steps related to installing and configuring "Order History Monitors & Views for Microsoft Dynamics CRM" will not work because you cannot create an ODBC connection to the CRM DB located in the cloud.
The ability to use the GP templates and CRM 2011 online is mentioned in the release notes.
Lesson learned: always read the release notes for Scribe templates (and any Microsoft Dynamics CRM updates). They include important information about system requirements, and can save you from making time-wasting mistakes.
Hope it helps!
Posted by Sean Shilling on October 26, 2011 at 08:22 AM in CRM Business Process, Microsoft CRM Implementation, Scribe | Permalink | Comments (0) | TrackBack (0)
April 19, 2011
Lessons Learned Migrating Data to Microsoft Dynamics CRM 2011
When companies using Microsoft Dynamics CRM 3.0 or 4.0 move to Microsoft Dynamics CRM 2011, there are some decisions to be made around how to move your current environment and data to CRM 2011. If you have an on premises installation, you can install CRM 2011 on premises and upgrade your MSCRM database to CRM 2011. This will bring in all of your customizations and data from CRM 4.0.
Upgrade or Migrate?
In some cases, a direct upgrade may not be practical, and you may want to selectively migrate data:
- If your existing data is not clean, you may want to start clean with 2011 and selectively migrate just the good data. As an example, consider if at one time you used contracts in CRM 4.0, but you changed your configuration to manage contracts in a different way—you may not want to bring in the legacy contract data if it no longer fits your current approach.
- If your environment is older than CRM 4.0, you may want to do a migration. if you are on CRM 3.0 or CRM 1.2, you cannot directly upgrade to CRM 2011—you have to do incremental upgrades. Say you have CRM 1.2, to upgrade you would need to upgrade to 3.0 on your 1.2 server, then install crm 3.0 on a Windows 2003 server with SQL 2005 and upgrade to CRM 4.0, then install CRM 2011 on a 64 Bit CRM Windows 2008/SQL 2008 environment and import and upgrade your 4.0 environment to 2011. The further away you are from 4.0, migration of the data becomes more practical then upgrading, given that there is potential risk of the process failing at each point of the upgrade.
- If you are moving from CRM on premises to CRM Online, you will need to migrate your data. There is currently no automatic upgrade process for Dynamics CRM on premises to CRM Online. You can import customizations from CRM on premises to CRM Online; however, moving data still requires a migration.
Migration Options
If you decide to do a data migration to CRM 2011, there are a couple of options to consider
1. Data import utility: CRM 2011 includes a data import utility, and it can take data exported from flat files and import them into CRM 2011. This tool is much improved from CRM 4.0, and it now handles larger data files and improved validation for data types, so you can more reliably import data. Using the tool you can easily import your accounts, contacts, opportunities, and other standard or custom entities.
There are some areas that are not accessible via the import utility. Some of these areas include:
- Activity attachments
- Certain parts of the product catalog
- Activity parties for e-mails with more than one recipient
- Notes with attachments
- Contracts
- If your data is mainly core entities like accounts and contacts, you should be able to use the import utility; however, if you have many activity parties or attachments, the import utility may not be able to completely migrate your legacy data.
- User mapping for ownerid and other user lookups can be problematic, especially if names are different in the new version, or if old users no longer exist.
- In some cases, you will want to update records after they are imported. For example, Accounts and Contacts can present a classic "chicken and egg" scenario. Contacts reference accounts, and accounts reference primary contacts. If you insert companies first, you won't be able to populate the primary contact on the company record before the contact is created. You will need to insert the companies, insert the contacts, and then come back and update the company to set the primary contact. The import utility can update records if the GUID is in the first column of your csv file; however, this can require a bit of manual work to update the existing records.
2. Scribe Insight: Scribe is the leading vendor for CRM data migrations and integrations. Scribe provides an adapter to connect to CRM 2011 as well as earlier versions of Microsoft Dynamics CRM, and can easily load data into entities that cannot be loaded with the standard import utility.
We have migrated several of our clients as well as our internal environment from CRM 4.0 to CRM 2011 online. As part of these migrations, each had data in entities that could not be migrated using the standard import utility. For these migrations, we chose to use Scribe.
As referenced in my earlier post, Scribe includes an auto-map feature that can simplify the mapping of the data for your import. Just specify the legacy environment as your source, select the new environment as your target, and auto link by name.
There are a few things you won't want to auto map:
- userid—chances are that your user id's will be different in the target than they are in the source. I did a dblookup formula in Scribe to translate the fullname of the user in the legacy system to the userid of the user in the new system.
- Transactioncurrency—unless you have more than one currency, you can leave this field blank.
- AddressID—you will see for each address on accounts and contacts a field called addressid (Address1addressid and address2addressid). Do not auto map these.
- Statecode and statuscode—when I brought in my accounts, contacts, e-mails, appointments, etc, I did not map the statecode and statuscode fields. The reason is that if you set a record to be inactive, you cannot relate other records to it. There is a good chance that you will have activities, notes, contacts, or other records that are linked to inactive records. By leaving them active you can establish all relationships, then run a simple update dts at the end of the process to close out the inactive records
By doing this, I was able to quickly import the records from my on premises CRM environment to CRM Online.
There are a handful of limitations that I found through this process that Scribe and the import utility cannot import. These are mainly some deeper areas of CRM that are not exposed through the API.
- Quick campaigns are entity bulkoperation, and they cannot be imported by Scribe or the import utility. This also means that activities like email where the regardingobjectid is set to a bulkoperation record will also not be able to be imported
- Contracts have limitations around how they can be imported—they can only be imported in draft status, and you cannot associate other records, such as cases with them if they are not Active status and have an expiration date in the future. Manual intervention will be required to import cases and set them to a state that can be updated.
- When importing opportunities, the actualclosedate will be set to today's date, even if you try to load another date to that field. The recommendation is after you update the status of the closed opportunities to Closed, run an update dts against opportunities updating the actualclosedate to the correct date.
- If you are reading from your legacy CRM database as a SQL or ODBC connection, be aware that if there are any ntext or long varchar fields, they must come last in your source query. If they don't, the field will appear null and data will not come across for these fields. This is especially applicable for things like activity description fields. If your entity has more than one long varchar field, you may need to run subsequent update dts with the other long field listed last in the source query. An alternative approach is to install the new CRM 2011 adapter and point the old adapter to your legacy CRM system as your source, and point the 2011 adapter to the new CRM environment as your target. The crm adapter does not have the long varchar limitation.
Lessons Learned
In an effort to help others learn from my mistakes, here are some of my lessons learned after a couple of migration upgrades:
1. Determine which entities are being used. The easiest way to do this is to look at your SQL MSCRM database. View tables by number of records—this will help you determine where data is, and where it is not.
2. Determine the order—It is crucial that you import your data in the right order, so that data referenced in lookup fields is present when the record is imported. For example, you need to have your accounts in before you load your opportunities. As a general rule, have any accounts, contacts, opportunities, quotes, orders in before you load cases, and load activities last.
3. Don't close cases or other records until all activities have been loaded, and don't close activities until all activityparties and attachments have been loaded.
4. Activityparties are probably the most difficult thing to import. If you don't know, activity parties are the people and companies associated with activities like e-mails in the to: field or the appointment in the requiredattendee field.
- If you have deleted any activities from your crm system, there is a good chance that some activityparties will be left behind.
- When you create an e-mail and track it in CRM, if one of the recipients is not in CRM as a contact, account, or user, it will create an activity party not linked to any partyid in CRM. These records cannot be imported.
- When you create an activity in CRM, activity parties are created for the sender, the recipient, but also the owner and the regarding of the activity. When you import the activities, these activityparties will automatically be created. If you then import the activity parties including these parties, some rows will fail telling you that they already exist.
- Activityparties cannot be easily deleted.
To avoid these headaches, set up your activityparty dts source query to inner join activityparty to activitypointer to filter out any activityparties linked to an activity that was deleted from the system. Also, filter out where activitypartyid is null and activitypartytypecodemaskname = "Regarding" or "owner." This will cut the list down to just the legitimate activityparties, and save much time.
Remembering that activityparties can't be deleted, if you have several hundred thousand activityparties in your database, you will want to break this process up into smaller chunks, maybe by year. That way you minimize the chance of the job failing, and having to re-load any data. You can also run them simultaneously and load the data faster.
Once the activityparty load was complete, I then ran a cleanup dts that joined the activityparties where partyid is null to contacts on addressused = emailaddress1. This successfully matched most of the unmatched activityparties, and I loaded setting partyid to contactid.
5. Users: If you have been using CRM for several years, there is a good chance that there are users in your system who have been deactivated, and that those users own records, such as activities. Keep in mind that to assign a record to a user, the user must be active. So if you have a former employee named Bob Smith, if you want to import activities and assign them to Bob, you will need to temporarily have his user record active in the new system. This means creating records for users who are no longer at the company.
For our migration, we created users for former employees. Given that CRM Online uses Windows Live ID for authentication, you might think this means that you have to set up legitimate Windows Live ID's for each old user; however, this is not the case. You can create users using any made-up address, and save the user without sending an invitation to that address. You can then assign records to the user, and then disable the user record.
An alternative approach is to create a generic user called "former employee" and have Scribe assign any records owned by a former employee to this user. While this approach is faster, it may detract from visibility to who created the record.
6. Do not load directly to the activity entity. You have to load to the individual activity type entities—email, appointment, phonecall, or task.
Keeping these best practices in mind, you can quickly migrate your data from CRM 4.0 to CRM 2011 Online.
Posted by Joel Lindstrom on April 19, 2011 at 01:51 PM in CRM Best Practices, Scribe | Permalink | Comments (3) | TrackBack (0)
February 23, 2011
Handling Rejected Record Rows from Scribe
So you have a recently installed Scribe Version 188.8.131.5201 on a server. You've built some DTS jobs and everything looks to be importing and translating smoothly. THEN – one of your jobs throws up a report like this:
12,555 successful records loaded! 6 record rows failed. "Hmm? I wonder why those records failed?", you ask yourself. - and so starts your exploration.
Enabling Rejected Rows in Scribe:
Before you can review the rejected rows, you must first tell Scribe that you want it to put the rejected records into a table. This is done by going to Run –> Edit Settings –> Rejected Source Rows (tab) –> Output Rejected Source Rows (checkbox). You can then tell Scribe where you want this "Reject Rows" table. Additionally, you can specify whether Scribe should create a new table for each job that generates "Reject Rows" – or if you want a new table generated. Generally speaking, you don't want a bunch of extra rejected rows tables for the same job, so I would recommend selecting the option to re-use the same table. I've defined it this way in the following screen shot from Scribe:
Querying Rejected Rows:
There can be any one of a 1,000 reasons why a particular row in a table fails to import. In my particular situation, the pick-list value that I had on my SELECTCASE statement turned out to be incorrectly numbered, which was throwing out the select 6 rows. But before I made that conclusion definitively, I wanted to see the data. For users of MS SQL Server 2005 or 2008, reviewing these rows is a fairly straight-forward process. Executing a query against a table in MS SQL Server is done through the Query Editor Window. One option is to Right-Click on the table and select Script Table As –>SELECT To –> New Query Editor Window, as depicted in the following:
Once you have the query set up appropriately in the Query Editor Window, simply select "Execute". The rows of data can then be seen in the results tab below the Query Editor Window.
No Microsoft SQL Server Tools?:
My particular server where Scribe was located did not have MSSQL Server 2005 or 2008 tools installed – so I couldn't run a simple SQL query against the REJECT_CONTACTMIGRATION table. Frustration set in. I didn't have a free copy of Microsoft SQL Server 2005/2008 lying around. What can I do? Luckily, there was a solution.
As it turns out, Microsoft has a free product for just such a situation: Microsoft SQL Server Management Studio Express (MSSMSE). From the website (link): (Note, this link is for MSSMSE 2005. The 2008 version can be found here: link)
"Microsoft SQL Server Management Studio Express (SSMSE) is a free, easy-to-use graphical management tool for managing SQL Server 2005 Express Edition and SQL Server 2005 Express Edition with Advanced Services."
Download the file appropriate for your install and MSSMSE will connect to the Scribe Internal DB automatically. You should see the following once you have installed the application and launch it:
In this case, it is connecting directly to the Scribe Internal database. Once connected, you can browse directly to the table you want to review:
Once you find the table you want to query, simply right-click on the table and select "New Query Editor Window". This will populate the SQL Query Editor window with the appropriate SQL SELECT statement for the table you want. Execute the query and then you can view the rows in the table.
Once I identified the problem, I simply modified the DTS to include a filter for records with my reject record condition; re-ran the DTS; and my 6 lost records were loaded successfully! Victory!
Other Scribe topics can be viewed on Customer Effective's Scribe Blog, located here.
Lastly, another topic on our forums enables you to create a workflow to surface Scribe errors and monitor them directly into CRM, which can be very helpful. This is located here.
Good luck with your CRM projects!
Posted by Patrick Picklesimer on February 23, 2011 at 04:09 PM in Scribe | Permalink | Comments (0) | TrackBack (0)
January 26, 2011
How To Migrate Millions of Records to CRM in Hours (Rather Than Days) Using Scribe
One of the criticisms that Scribe Insight sometimes gets is that it's slow. While it is true that Scribe is not the speediest ETL tool out there, much of the blame for sluggishness can be attributed to DTS design.
One rule of thumb is that every trip to the source or target slows down the process. That means that dblookups and seek steps, while useful tools, cause the process to go slower. Also, updates and update/inserts hit the target 2-3 times, so updates are slower than inserts.
Here's an example of what I'm talking about: I integrated a prospect database with Microsoft Dynamics CRM. This is going to be a couple of hundred records inserted or updated per day, but to get started, we first had to load the existing prospect data, roughly 2.5 million records.
I wrote the DTS for the on-going integration, in which I used an update/insert step, as they will be getting updated information for existing prospects, and we want the process to update if it exists, and insert if it doesn't. This DTS also contained a seek step and two dblookups to populate lookup fields in CRM from other CRM entities.
When I tested the DTS, it imported 10 records every 3 seconds. While this performance would be satisfactory for the on-going integration volume, it would be too slow for the initial migration of legacy data. At that rate, it would take 8 days to load the legacy data.
Here's what I did to cut the migration of the legacy data down to a reasonable amount of time:
1. I copied the legacy data to a table in the ScribeInternal database, and made ScribeInternal the source for my migration DTS. This made it a shorter trip to get the data.
2. I moved the lookups and seeks to the source query. Instead of doing a lookup to the account table in the DTS, I joined the filteredaccount view from CRM in to my source query, and removed the dblookup and seek steps from my DTS. Now instead of having to seek for the id of a related record, I have the GUID in my source data, and write that directly to the accountid field.
3. Given that the legacy data contains unique records that do not yet exist in CRM, I made my migration DTS an insert step.
The result is that the DTS now only hits the source and the target one time. The difference in performance is pretty astounding. The migration DTS now moves 50 records per second, taking what would have otherwise taken days to hours.
The final thing you can do is to thread your job. As you may know, jobs run through XML message queues are threaded, meaning multiple operations happen simultaneously, but jobs run through the workbench are not threaded. If your on-going integration is going to be a high data volume, using message queues is a good way to go.
However, setting up xml based DTS for a one time migration can add a level of complexity. Another option to thread your jobs is to break your migration DTS into multiple DTS's and run multiple instances of the workbench simultaneously. In this case, I made a copy of my migration DTS. In the first DTS I filtered the source query to just records created prior to 1/1/2008. In the second DTS, I filtered the source query to just records created on or after 1/1/2008. I then ran them at the same time.
You are still constrained by the resource limitations on your server and the CRM web services, but by following these steps you can optimize your migration processes to run in a reasonable amount of time, without having to resort to unsupported methods, like direct table updates.
Posted by Joel Lindstrom on January 26, 2011 at 02:59 PM in CRM Best Practices, Scribe | Permalink | Comments (1) | TrackBack (0)
January 04, 2011
Extracting Data from Outlook for Dynamics CRM Data Migration
So you are moving to Microsoft Dynamics CRM, but you don't want to lose all of your legacy data surrounding contacts, accounts, sales leads, or other business data. If you are replacing another system with a relational database, migrating data can be fairly straightforward—use an integration tool like Scribe Insight to import data from the legacy system, extract data to flat files and import with the CRM Data Migration Manager, or use the SDK to import directly through the CRM web services.
But what if your data is not in a relational database? Many small to mid-sized companies find that they have data stored in multiple spreadsheets or Outlook PST files. These cases present extra challenges because unlike migrating data from one source, migrating data from multiple little sources is not a straightforward process.
Some of the challenges include accessibility of data, data quality, and duplication.
For example, Acme company has a bunch of legacy data stored in Outlook PST files. They want to bring the data in to Microsoft CRM. What are their options?
You could just track them in CRM. Given that Microsoft Dynamics CRM for Outlook integrates CRM with Outlook, one option is to just have users track their old emails/appointments/contacts in CRM; however, in most cases, this is usually not the best option. Only a subset of contact fields synchronize from Outlook to CRM. If any fields like category or any custom fields are used in Outlook, these values will not be tracked to CRM. If you have a large number of users, most likely some of them will include the same contacts in their Outlook Contacts. If all users track all of their contacts, contacts will be duplicated in CRM, and potentially the more recent e-mail or phone number may get overwritten by an older version.
In most situations, it is preferable to extract all Outlook data, clean/de-duplicate it in Excel or SQL Server, then import the scrubbed data in to CRM. This is sometimes easier said than done. There are several ways to do it:
1. Outlook import/export wizard
Outlook includes a standard Import/export wizard, which enables exporting of data to flat files. In Outlook 2010, it is somewhat hidden—go to the File tab of the ribbon, then under the "Open" ribbon you will find an "Import" option. This also does exports.
From the import/export wizard, you can export Outlook data to csv, txt or other formats. The major limitation of the export wizard is that it will not export custom fields. If your data is only using standard fields, it works great, but if your data in Outlook uses any custom (user-defined) fields, it will not be sufficient.
2. Scribe
If you read the CEI blog, you will see that we strongly recommend Scribe for CRM integrations and migrations. It has a fantastic CRM adapter and works with just about any data source for very painless integrations and migrations, and Scribe has an Outlook/Exchange adapter that can extract data from PST files.
However, the Scribe adapter for Outlook requires Microsoft Collaboration Data Objects to connect to Outlook and Exchange. CDO was a standard component of Microsoft Outlook through Outlook 2003. Starting with Outlook 2007, they took it out of the product but still made it available as a download. With Outlook 2010 CDO is no longer supported. The installer for CDO will not run if you have Outlook 2010 installed. So the Scribe option is good if you have Outlook 2007, but is not an option if you are on 2010. Scribe is still probably the best option for bringing in the data to CRM once you have it extracted from Outlook, but in this case, not the best option for the data extraction.
3. Copy and paste to Excel
If you are looking at your Outlook data in a tabular view, you can select multiple records and copy then paste in to Excel. This can be a good option for small data sets, especially contacts, where most fields contain just one line of data. When you paste it in Excel, it typically will paste neatly.
The limitations of this approach are that it can be very tedious if you have large data sets in Outlook. If someone has 200,000 contacts, you won't be able to easily copy and paste all of them in one step. Also, if you are copying data, like the email body field, that have multiple rows of data, when you paste to Excel, the multiple rows will not neatly paste into the spreadsheet columns.
4. Microsoft Access
This falls in to the category of something I used to know. Not having worked with Access for years, I forgot that Access is the only Microsoft Office application that can import data directly from Outlook PST files. In Access 2010, go to the "External Data" tab and select More—>Outlook Folders.
You can then select any folder from Outlook and import as a table in an Access database, from which you can clean your data prior to importing to Dynamics CRM. I've found that this option works great in most cases, but may have some issues with exceptionally large pst files or accessing pst files that are not stores on the local pc.
This is a fantastic free application that makes exporting Outlook PST data very easy. It can extract all types of data, including custom fields to CSV files, and gives full control of what columns get extracted.
I found that the options for exporting email party and date fields especially useful
Date fields are available as date/time, date only, or time only. Email parties, such as From, To, CC offer both the address or the display name. This granularity can help to pre-parse the data in a format that will be more convenient to import to CRM.
So the answer to the question "How do we get our legacy data from Outlook?" is "It depends . . . " If your data is simple data in small quantities, 1-3 may work, but if you have custom fields or large PST files, you will want to try option 4 or 5.
Posted by Joel Lindstrom on January 04, 2011 at 12:03 PM in Microsoft CRM for Outlook, Scribe | Permalink | Comments (0) | TrackBack (0)
December 08, 2010
Optimizing integrations with Microsoft CRM
When integrating Microsoft Dynamics CRM with other business systems, such as ERP,there are several best practices that you can follow to optimize performance of your integration. These tips apply when using Scribe Insight, or any other integration tool.
1. Minimize trips to the source and target. When integrating systems, one of the factors that can impact integration performance is excessive use of lookups to either the source and target. This can happen, for example, when a record is related to another record, such as a contact/parent customer relationship, and you need to retrieve the CRM ID of the parent record. If you have many lookups in your integration, the performance of the integration will suffer.
There are several approaches to reduce or eliminate lookups in your integration:
- Scribe has a feature called "Key cross reference." The idea is storing a cross reference table mapping keys from the source and target in the internal database so retrieving keys for lookups does not require a trip to the source or target database.
- Join the target in your source query—If both databases are on the same server, or can be joined with a linked server, a good option can be to join the target with the source in your integration source query—this puts all of the heavy lifting on the data query, and eliminates the need to do database lookups during the integration.
- Store the record ID in a hidden field in your source—this option works especially well for integrations where another system than CRM is the source of a particular type of record. For example, in a GP-CRM integration, customer accounts will typically only be updated in the ERP system. By storing the GP ID of the record on the CRM record, we can reduce lookups to the GP system—in essence, CRM is our key cross reference. This also serves the benefit of providing a more precise key on which to map for updates. If the update integration matches the source and target using account name or even account number, problems can arise should any of those values change. By storing the ERP ID of the record in CRM, we can precisely match records even if the name or account number is updated in GP.
2. Duplicate picklist option values
If your source or target systems make use of picklists, design the picklists so the option numbers match between systems. If you have a customer type code in Dynamics GP, by making the values and the labels of the picklists precisely match the values and labels of the same picklists in Dynamics CRM, you can simplify and optimize the integration. If you use Scribe, you can now disable the CRM adapter picklist validation. No matter what integration tool you use, you will now be able to do a straight source to target data map, without having to transform the falues.
3. Map user ID's
When you import data into and out of CRM, it is important to not lose visibility for what users created or updated the records; however, this can be a challenge if the other system does not use active directory. The record in the ERP system will be created by Broth, but in CRM, Bill's userid will be domain\bill.roth. To provide a cross reference for user id's, consider adding an attribute to the CRM User record to contain the user id from the integrated system. This will enable you to quickly map users between systems for things like account assignments. Make sure that you make this required, or have a process in place to alert you should a user be created without the other id, otherwise, your integration will not be able to correctly populate records for that user in the integration.
Posted by Joel Lindstrom on December 08, 2010 at 04:58 PM in Scribe | Permalink | Comments (0) | TrackBack (0)
September 28, 2010
Solving Common Scribe Issues
When working with Scribe, there are some common issues that you may run into. I've found that following a troubleshooting strategy can help to quickly resolve these issues. Here are the top 3 that I run into or hear about from clients:
1. Job runs in the Workbench, but not in the Console.
Consider this scenario—you create a Scribe DTS and test it in the Scribe Workbench. The job runs without error. When you schedule the job to run in the Scribe Console, the job fails
The reason for this error is typically related to database permissions. When you run a SQL DTS in the workbench, Scribe connects to ODBC connections using the credentials of the running user. When a Scribe DTS is executed by the Console, it runs using the credentials of the Windows account that the Scribe Services run as. So if that account does not have permission to read the source database, the job will fail when run by the Console.
Also, the Windows account that runs the Scribe Services must also have permissions for the Scribe Schema in the SCRIBEINTERNAL database. In SQL Management Studio, expand the security node under the Scribeinternal database and double click the user record for the execution account. Under "Schemas owned by this user" select the SCRIBE schema.
2. Generic SQL error
This can be the most frustrating error. Rows fail and the only error message is "Generic SQL Error." The main reason for this error is that there is some data constraint on the target that is being violated by the data inserted. It's important to underscore that Scribe is mainly passing along errors generated by the source or target database. If the target gives generic errors, the scribe error message will also be generic. You will sometimes see this when inserting through the CRM adapter if there is a field length or data type issue.
The best way to troubleshoot this is through a process of elimination. Here are the steps I follow:
- Make a copy of your dts.
- Remove all data links except for the required fields.
- Run the DTS filtered to the row that was rejected
- If the dts succeeds, add 1-2 additional data links and run the job again.
- Continue this process until you receive the error message again. This will identify which row is the problem.
- Once you identify the problem field, create a record via the UI for CRM inserting the value from the source record. This will typically tell you what the problem is.
An example of where I recently saw this. I was importing contacts, and 3 of them from Australia failed. After verifying that the mapping was correct and viewing the scribe event logs to see if there was more information, I followed the troubleshooting process above. When I got to the Address 1: Line 1 field, I got the error, so that told me that was the problem field.
By manually creating a record through the front-end of CRM, I found that the issue was that the user had increased the field length of the Street 1 field to 200 characters. While this is not typically a problem (as pointed out in this post), in this case it was due to the way that address fields work in CRM. The address fields on the account and contact are not actually stored in the account and contact entities, but rather in the address entity. That means if you increase the field length of CRM address fields on the contact record, you must also increase the length in the address entity.
After increasing the length in the address entity, the records inserted without error.
3. Field doesn't update
Consider this scenario—the job runs, and records are updated, but one field in particular does not get updated.
In the Scribe Workbench, when you view your data links, there is a column with the heading "Overwrite." This column indicates whether an update step should overwrite an existing value in the column. If there is a * in the column, the field will be updated with new values, if it is not, the existing values will not be updated.
To check or uncheck the "Overwrite" bit, just click on the "overwrite" column for the data link.
The issue is that it is very easy to inadvertently click on the "Overwrite" column when trying to double click the Formula column to edit a data formula. If you do this, the column will not get updated when a job runs.
Lesson learned—be careful where you click. If you want to change a formula, be sure to click on the formula column or select the row and click the "formula" button. Also, I like to give the data links a visual once over when I finish the DTS to make sure that I have not accidentally unchecked the "Overwrite" flag.
Posted by Joel Lindstrom on September 28, 2010 at 02:15 PM in Scribe | Permalink | Comments (1) | TrackBack (0)
September 24, 2010
Scribe Insight Announces Cloud Integration Platform
I'm in Bedford, NH for the inaugural Scribe User Conference. I've never been to New Hampshire before, and it is a very beautiful place to visit during the fall.
During the keynote address yesterday, Scribe CEO Lou Guercia announced a new product, codenamed "Denali," that will be Scribes first cloud-based offering. The initial release, slated for the end of this year, is going to function as a database replication tool for CRM Online users, allowing them to replicate their CRM Online databases to a local database, which they can then use for reporting and analytical purposes, or to integrate their crm data with on-prem systems.
Scribe Online is going to be hosted on Azure, and the initial base product will be free.
You can read the Scribe press release here.
Posted by Joel Lindstrom on September 24, 2010 at 10:04 AM in Dynamics CRM 2011, Scribe | Permalink | Comments (0) | TrackBack (0)
July 06, 2010
Scribe vs. Biztalk
When looking at data migration or integration options, a frequent question is why should we use Scribe instead of Biztalk? Scribe has created a very detailed and unbiased white paper that compares the two solutions and explains when you should use Scribe and when you should use Biztalk. Their point about the adapters is very good--the Biztalk adapters require a fair amount of coding to implement, while the Scribe adapters provide a more complete solution for data driven integrations.
You can read more about it and download thermite paper here: http://blog.scribesoft.com/2010/07/scribe-or-biztalk-you-ask.html
Posted by Joel Lindstrom on July 06, 2010 at 09:13 PM in Scribe | Permalink | Comments (0) | TrackBack (0)
June 28, 2010
Connecting to an Oracle Database with Scribe Console/Workbench 6.5
On a recent client implementation we came across a challenge connecting to an Oracle 10g database via ODBC on a 64-bit machine with Windows Server 2008. We initially attempted to connect to the database through the Scribe 5.3 Oracle driver with the Oracle 10.2.0 client installed. The jobs were setup and tested through the Scribe Workbench and ran interactively with no problems.
Once the testing was complete, we setup the new collaboration and chose to run the .dts on a timed basis. However, every time the Console attempted to run the job, Scribe threw an "Error connecting to data source" message. The bottom line: the jobs ran from the Workbench, with no user name or passwors prompts, but not from the Console.
The solution: Upgrade the Oracle ODBC client to the most recent version, 11.2.0. It appears that there is a conflict when using an older Oracle ODBC client and Scribe 5.3 Oracle driver, particularly on a Windows 2008 64-bit server.
You can download the latest version of the client from their website here.
Posted by Heather Reynolds on June 28, 2010 at 09:40 PM in Scribe | Permalink | Comments (0) | TrackBack (0)
June 23, 2010
Microsoft Dynamics CRM Rapid User Creation
Sometimes in a large deployment of Microsoft Dynamics CRM, it can be a challenge to create users. When you have 25-50 users, it's not hard to manually create each user record, or to use the add multiple users tool to create user records. However, when your user count is in the hundreds or thousands, even the add multiple tool can be a very tedious process.
Many of our customers use Scribe Insight to migrate data into CRM, or to integrate CRM with other business systems; however, not many are aware that you can also use it for creating users records. Here is the simple process that you would use to do this:
1. Create a spreadsheet with the domain credentials of the users that you want to import. I recommend saving the spreadsheet in CSV format, as it requires the least level of file manipulation.
2. Create a DTS in the workbench with the CSV file as your source and the CRM adapter as your target.
3. Add an insert step creating the systemuser records. Map the domainid field of the source csv to the domainname field of the CRM system user entity.
At a basic level, that's all there is to it. in addition to this process, you could also include the role and have a second step to create the user role record; however, if you don't have that, it's not a big deal because it's pretty easy to bulk assign users to roles after the user record is created. Also, if other attributes like first name, last name, email, phone are present in AD, they should automatically populate in the user record. You can include them in your mapping if they are not present in AD, or if you desire them to be something different than their values in AD.
This is also a useful capability for companies looking to maintain a test and production environment that want to keep the user accounts synchronized between the two environments.
This is a great example of the extra value that Scribe can add to your CRM implementation, and the power it has to import data to areas where the out of the box tools cannot go.
Posted by Joel Lindstrom on June 23, 2010 at 12:04 PM in Scribe | Permalink | Comments (0) | TrackBack (0)
June 10, 2010
CRM Data Imports, CSV, and Leading Zeros
If you import data into CRM from CSV files via the CRM Import Untility or a tool like Scribe Insight, one frequent headache is columns with leading zeros. This most frequently comes up in postal codes or phone numbers that don't have any formatting characters, just numbers.
When you have an Excel spreadsheet and save as text or .csv format, the leading zeros are preserved. So if the value in your spreadsheet is 09352, when you export to CSV, it will still be 09352, and if you import to CRM, the leading zero will be there.
If you reopen the csv file in Excel, it interprets the data to determine what format the column should be—general, numeric,etc. So when it sees the 5 digit postal code with leading zero, it interprets it as a number, not displaying the leading zero. It will display the leading zero if you have the full postal code with a hyphen and four trailing characters, like 09352-1111, it will display the leading zero, because the presence of the hyphen tells it that it is a text value, not a numeric value.
The problems arise if you edit the csv file in Excel and make changes. If you reopen the csv file and save it, the leading zeros will be stripped out of the csv file, and your import will create postal codes without the leading zero.
To avoid leading zero import issues, I recommend the following best practices:
1. Make all edits in Excel format, then save to CSV.
2. If you need to edit the csv file, do so in a text editor, such as notepad.
3. If you still have issues, edit the trouble rows in notepad and place double quotes around the values with leading zeros.
Posted by Joel Lindstrom on June 10, 2010 at 11:53 AM in Scribe | Permalink | Comments (2) | TrackBack (0)
May 25, 2010
Scribe Insight Installation, Updates, and Windows User Account Control
--This is a post that I recently wrote for the Scribe Integrator blog, which is a great blog for all things Scribe Insight.
When installing software on Windows 2008, you typically want to install it as an administrator. I'm not just talking about the user account having local administrator rights—with Windows User Account Control on Windows Server 2008 (and also on desktop versions of Windows Vista and Windows 7), you have to right click on an .exe file and select "Run as Administrator" if you want the installation to run successfully. This applies to almost any application, including Microsoft Dynamics CRM, Scribe, SQL Server, and others.
Of course, you can disable User Account Control; however, frequently this is not an option, especially if you aren't the owner of the server on which the software is being installed.
WithScribe Insight installs, I have found that you always want to run the installation as an administrator; however, there are a few more considerations.
The first time you run Scribe Workbench
The first time you run the workbench and register the application, it is also a good idea to run the application as an administrator (right click on the icon for Scribe on your desktop and select "run as administrator." If you don't I have seen error messages, or have seen the registration not "take" and require the registration wizard to be re-run next time you open the application. After the application runs for the first time and the product is registered, running as administrator is typically not required.
Installing updates
The first thing I always do after installing Scribe Insight and registering the product is to install the 6.5.2 update. This update is the most recent update to Scribe Insight, and it has a number of very important updates and fixes. Like with the application installation, you want to run the update install as an administrator. Otherwise, you may see errors like this:
But how do you run the update as administrator? Since the update is an MSI file, when you right click, there is no "Run As Administrator" option. There are several ways to do it, this is my favorite and probably the least painful way to do it:
- Download the 6.5.2 update.
- Navigate to the downloaded file ScribeInsight.msi. Hold the shift key and right click on the file and select "Copy as path."
- Open Notepad and paste the copied file path. Save the file, making the file extension ".bat."
- Right click the .bat file and select "Run as Administrator.
The update will now install successfully.
Posted by Joel Lindstrom on May 25, 2010 at 08:00 AM in Scribe | Permalink | Comments (1) | TrackBack (0)
March 10, 2010
Working with the Parent Customer field in Microsoft Dynamics CRM Data Imports
In Microsoft Dynamics CRM, there is a unique lookup field called "Parent Customer" that is found on system entities such as Contacts and Opportunities. This is a lookup field that can look up an account or a Contact record.
When importing data into CRM using a tool like Scribe Insight, when you populate the parentcustomerid field, you also have to populate the parentcustomeridtype field. This field tells CRM whether to link to a contact or an account. You set it to 1 if it is an account, or 2 if it is a contact.
I recently was writing a data import using Scribe to insert Contacts. It was succeeding for many records, but for some it would fail on a few records. The error that I got on the failures was " (Dynamics CRM) System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)."
In this case I was populating the parentcustomerid field, and I was setting the parentcustomeridtype field to "1."
After reviewing the failing rows, I realized that these contacts did not have parent companies in the source—the field was null. I added logic to the parentcustomeridtype field to only import if the parentcustomerid was null.
Lesson learned—if you populate the parentcustomeridtype field, you have to populate the parentcustomerid field.
Posted by Joel Lindstrom on March 10, 2010 at 01:38 PM in Scribe | Permalink | Comments (1) | TrackBack (0)
November 20, 2009
New Scribe Training Resources Available
I have had a chance to play with some of the new training materials from Scribe Software, and they are very impressive. They use a platform called vBooks, which is a very innovative way of combining text, video and animation to deliver a much more user friendly learning experience. I really wish this had been around when I went through Scribe certification a couple of years ago.
Watch a demo of a Scribe product overview here:
You can also register for a live webinar with Mark Walker, Director of Scribe Technical Resources, who will demonstrate Scribe's new training delivery through the use of vBooks.
Thursday, 12/3/2009 11:00 AM - 11:45 AM EST. Register here.
Posted by Joel Lindstrom on November 20, 2009 at 03:55 PM in Scribe | Permalink | Comments (1) | TrackBack (0)
November 12, 2009
Scribe error: "The Message Processor is unresponsive"
Many Microsoft Dynamics CRM users also use Scribe Insight for integration/migration services. – While it's a great tool, one warning that I see occasionally is:
Subject: System alert: Scribe EventManager - The job was terminated because the Message Processor is unresponsive.
Unfortunately after this, other jobs fail and nothing seems to work until the Scribe Services are restarted.
The root of this issue is a long-running query in one of the Scribe DTSs – The Scribe Event Manager terminates job processing with a fatal error if a source row or a post DTS script takes longer than 60 seconds to process. This happens because Scribe Insight assumes that the process is hung and should be terminated.
The best fix is to review your source queries and see which ones are taking a long time to run and fixing those. Many times these queries can be optimized to improve their performance with just a few tweaks or indexes – or by converting the query to a View in SQL and then using the view as the source – my preference.
A workaround is to increase the time Scribe waits before giving up on the slow source query. (I'd still look to improve the performance of the source query, but sometimes you have to get it running now, then resolve the cause later...)
I found this in the Scribe forums recently (https://openmind.scribesoftware.com/) – I verified with Scribe support that it is still valid way to increase the timeout for the message processor. (At least through Insight version 6.5)
Warning: Always be sure to back up your Registry before attempting to use Registry Editor. If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Scribe cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use the Registry Editor at your own risk.
1. On the Scribe server open the Registry Editor and go to HKEY_LOCAL_MACHINE\SOFTWARE\Scribe\EventManager\Settings.
2. Right-click on the Settings folder, on the shortcut menu, point to New and then click DWORD Value.
3. Name the new value ProcHangTimeout.
4. Right-click on the new value, on the shortcut menu, click Modify.
5. In the Edit DWORD Value dialog box, in the Value data box, type 600. This is the amount of time, in seconds, to wait before terminating the process.
6. In the Base box, choose the Decimal.
7. Restart the Scribe services for this setting to take effect
* Be aware that Scribe Insight Updates can wipe out these keys, so make sure to check post-upgrade to see if they need to be re-added.
Posted by Scott Sewell on November 12, 2009 at 09:48 AM in Scribe | Permalink | Comments (0) | TrackBack (0)
November 06, 2009
Tips for installing Scribe Insight on Windows 2008
Lately have have found myself doing a lot of Scribe work, much of it on Windows Server 2008. I've found several suggestions that make the installation of Scribe in Windows 2008 go more smoothly:
1. Install Insight 6.5.2 update. This will fix many of the issues with running Scribe in Windows 2008. Download it here.
2. Turn off UAC. By default, User Account Control is enabled in Windows 2008. During the installation of Scribe Insight or the 6.5.2 update, the installer makes changes to program files and registry settings—things that are protected by UAC. Turning off UAC during the installation will eliminate many of problems. Post installation, UAC can be re-enabled, if you desire to do so.
3. Change the login account used by the Scribe Services. I have seen multiple instances where the Scribe Services won't run on Windows 2008 under the default windows service. I recommend setting up an AD account with non-expiring password and setting the services to log on as this account. It important to use a non-expiring password for this account, otherwise your integration processes will break when the password changes. You will also need to make sure that this account has database owner rights of the ScribeInternal database.
Posted by Joel Lindstrom on November 06, 2009 at 11:15 AM in Scribe | Permalink | Comments (2) | TrackBack (0)
September 22, 2009
Optimize Scribe Insight Webinar
Our friends at Scribe Software are offering a free webinar October 1 at 11 AM EST on the topic of optimizing Scribe Insight performance.
Eddie Cole, Senior Software Engineer
John Gravely, Vice President of Marketing and Product Marketing for Scribe Software
Brendan Peterson, Technical Support Analyst
This will be a great session for anyone who uses Scribe and wants to optimize their integration processes.
For a preview, see Brandon's blog post from the Scribe blog Getting the biggest bang for your buck--Improving Scribe Insight Performance.
Posted by Joel Lindstrom on September 22, 2009 at 03:03 PM in Microsoft CRM Implementation, Scribe | Permalink | Comments (0) | TrackBack (0)
May 06, 2009
Scribe Web Services Adapter Product Launch
Webcast: Scribe Web Services Adapter Product Launch: Overview and Demonstrations – Thursday, May 14 @ 11am – 12pm EST
This webcast will cover the newly released Web Services Adapter for Scribe Insight and Scribe Insight Enterprise. The webcast will include a feature overview and several demonstrations of the Web Service Adapter enabling integration to Dynamics AX, Microsoft SharePoint and 3rd party commercial web services. Click to read the Adapter for Web Services data sheet.
Scribe Presenters for the webcast will be:
- Bob Sturim - Vice President, Products
- John Gravely - Vice President, Marketing and Product Marketing
- Lou Antonucci - Vice President, Sales
- Tomas O'Brien - Product Manager
Please register at the following registration URL https://www.livemeeting.com/lrs/8001615779/Registration.aspx?pageName=rx9xxrf8tbj9g3rz
Posted by Joel Lindstrom on May 06, 2009 at 09:46 AM in Scribe | Permalink | Comments (0) | TrackBack (0)
April 06, 2009
More Details on Scribe Insight 6.5
The guys at Scribe Software have released a 14-page overview containing more details about Scribe 6.5. This really shows a commitment to listening to feedback from customers and partners and making improvement to an already great product.
Posted by Joel Lindstrom on April 06, 2009 at 10:34 PM in Scribe | Permalink | Comments (0) | TrackBack (0)
April 04, 2009
Scribe Insight 6.5 release and product launch webcast
We are pretty excited about the release of Scribe Insight 6.5. This release includes several new capabilities that we have wanted for a long time—here are some of the highlights:
- Support for Windows authentication
- Failover/Disaster Recovery
- Web Services Adapter
- Support for 64-bit Windows Server 2008
The folks at Scribe Software will be hosting a webcast to provide product overview information as well as detailed feature information and demonstrations.
Scribe 6.5 Product Launch Thursday, April 16 @ 11am - 12pm EST
This webcast will provide a first look at the new release with the opportunity to ask questions. Register here.
The Scribe presenters for the webcast will be:
- Bob Sturim - Vice President, Products
- John Gravely - Vice President, Marketing and Product Marketing
- Lou Antonucci - Director, Sales
Posted by Joel Lindstrom on April 04, 2009 at 10:38 PM in Scribe | Permalink | Comments (0) | TrackBack (0)
March 23, 2009
Tips for increasing Scribe DTS performance
Earlier this month I had the pleasure of participating in several sessions at Convergence 2009 in New Orleans. One of my favorites was a CRMUG session on data migration and integration. I was on a roundtable panel with Tim Thorpe and Leslie Guffey from YRC Logistics and Brendan Peterson from Scribe Software.
There were a lot of great questions asked, and I learned several tips that can really help speed up DTS performance for migrations and integrations with Scribe.
1. Multiple DTS--One thing I've always wondered about is what is the effect of running multiple instances of the Scribe workbench on one machine? For example, if you have three data loads that you need to import, is it faster to run them in parallel, or would it take just as long as running them separately?
Brendan confirmed that it is supported to run multiple instances of the workbench simultaneously, and that if you have a powerful server with multiple processors/cores, this will be much faster than running each job individually.
2. Picklist validation--Like it sounds, this is a feature in the Microsoft CRM adapter that validates that picklist values are valid. This also adds some overhead to the DTS. If you know that the picklists values in your source are valid, or if your source does not contain any picklist data, disabling picklist validation can significantly decrease DTS execution time. To disable picklist validation, In Scribe Workbench click Target then select "Adapter Settings." on the General Settings tab uncheck the "Validate Microsoft Dynamics CRM picklist fields."
3. Increase batch query size--This is the size of the cache used for queries. If you have a beefy server with lots of ram/processor available, you can increase this value as high as 5,000, and this can improve the performance of your DTS. Query Batch size settings are located in the Adapter general settings (same place as #2)
Your results may very based on your specific DTS and the available resources in your environment. Have any additional data migration tips (doesn't have to be Scribe related)? Leave a comment or send me a message and I will post a follow-up.
Posted by Joel Lindstrom on March 23, 2009 at 01:20 PM in Scribe | Permalink | Comments (3) | TrackBack (0)


text:
The Farm bill
December 9, 2013 - 01:54 PM
Text size Decrease Increase
Strong interview December 5, 2013
On January 1, the current Farm Bill will expire. In it, subsidies for the dairy industry will go away too, the impact could double milk prices.
Jonathan Strong, political reporter for the National Review, discussed the Farm Bill fight on Capitol Hill, with Capital Insider.
Read More:
Short URL: http://wj.la/1bx8KUB

subset: commoncrawl


text:
Wolfpack Minds Its Manners
Nov. 17, 2013
Photo Gallery | Virginia Edwards Bio
This Thanksgiving, would it be considered rude to put a piece of bread on your fork and dunk it in the gravy boat? As it turns out, that would be perfectly fine according to the often surprising rules of table etiquette.
--- Cavan Fosnes, NC State Athletics Communications


text:
Moderators: Tonyblack, Jason, Toothy
Lady Vetinari wrote:*would love to see Pooh argue with himself ... Catch 22 methinks... !*
poohcarrot wrote:I'm 9 hours ahead of UK.
The world isn't going to end in 2012. It's going to end on Dec 23 2015 when the Mayan calendar runs out!
phoenix wrote:Whooo Time zones confuse me.... my Canadian family are 6 or 7 hours behind UK time and my poor wee brain struggles to accept that it's still fairly early there.
Users browsing this forum: Google [Bot], Yahoo [Bot] and 8 guests


text:
Simply confirm your registered email address below and click "Reset Password." We will immediately email you a link back to the site where you can enter a new password for this account.
You know, some people are really out of their fracking minds. Take for example the fracking natural gas industry that wants to set up mining operations all over America, including here in fracking New Jersey. Mining for natural gas is not a simple process, and to "simplify" it, a procedure called "fracking" is used. What is fracking? I'm glad you fracking asked. Fracking is the process of using a toxic chemical cocktail to break through layers of rock and shale far below the Earth's surface to make accessing the natural gas easier. Sounds OK right? But wait; the story gets a lot fracking better. What do you think happens to all of that toxic fluid that's forced into the ground? You're fracking right; it STAYS there, permanently destroying EVERYTHING it contacts. Drinking water? Forever poisoned and discolored. Vegetation? No longer fit for human or animal consumption. Property values near fracking sites? Plummeting and devalued at alarming rates. How does the natural gas industry claim to deal with fracking fluid? They claim it's all recovered and "safely" fracking disposed of. Well, if you consider a man-made pond of poison left to evaporate back into the atmosphere "safe disposal", then that's what it is. Why frack in the first fracking place? Money. What else. Money for people whose water, land, and air are unaffected. I fracking applaud our lawmakers for not only banning fracking in New Jersey, but for working to no longer accept fracking waste from neighboring states. Frack is whack, and they get it. So don't let anyone tell you that fracking is safe. They're fracking lying to you. Can you tell I'm not fracking happy?


text:
The Industry's Challenge
The radio industry and the NAB have been working to increase the number of smartphones with activated FM radio receivers. It would not only provide consumers with a cost-effective way to listen to live broadcasts, but would also address the public safety issue of disseminating free, sometimes life-saving information in emergency situations. The opportunity to activate the radio receivers already built into smartphones has definitely had its share of challenges. Despite the opportunity hybrid radio (FM+Internet) on the smartphone provides, there's been no working example of it available in the United States, let alone one that can match the rich user experience available through other mobile radio-like products. That is… until now.
The Solution
NextRadio — the FM radio smartphone app — and TagStation® cloud services have finally unlocked the promise of hybrid radio on the smartphone. NextRadio combines the efficiency and scalability of broadcast audio with the phone's data channel to deliver an interactive artist and ad experience. TagStation empowers the radio industry with a platform to manage album art, meta data and enhanced advertising that are sent to the phone in sync with the broadcast. With other features like browsing by a visual display of real-time programming, listener feedback, song tagging capabilities, additional artist and programming event content, and social integration, NextRadio stands out as a truly innovative mobile experience.
FM Radio like you've never seen before
Today's consumers expect more from radio. NextRadio delivers.
NextRadio provides listeners with the kind of radio experience they expect: an intuitive design that allows users to search the radio dial by a Live Guide of real-time local station programming, frequency, or music format. Find a channel you like? Save it to your favorites. Don't know what you're in the mood for? Scan the dial. And with TagStation, users will experience a consistent presentation from all radio stations including station logo, frequency, channel, song and album title, artist name and cover art.
Our smartphone ecosystem will provide advertisers with fully synchronized hybrid radio ads, increasing the value of the ads and the opportunity for higher listener engagement.
NextRadio creates a hybrid radio ad experience never seen before. Now your typical radio commercial has the ability to be interactive in real-time. Our hybrid approach of supplementing the broadcast signal with the data back-channel provides advertisers with the ability to deliver synchronous advertising. Radio stations can leverage our unique synchronous promotional ads to maximize advertising sponsorships.
All ads can be engaged with at the time of listening or at any point afterwards through various features available on the phone, such as recently played, saved content, etc.
Enhanced Hybrid Radio Ad Types and Features
Basic Ad
A basic ad includes an image, a title, and a blurb. Click the action button for a web link and phone number — responding couldn't be easier!
Coupon Code Ad
Advertisers have the ability to deliver synchronous UPC or QR Codes along with their commercial. Point of listening can lead to point of sale.
Find Nearby
An advertiser with "brick and mortar" locations can easily enhance any ad with this geolocation feature. It lends a useful twist to promotions.
Remind Me
Advertiser sponsored events can maximize turnout. There's no need to remember details or write them down. One click adds them to your calendar.
SMS Integration
There's no need to remember a station's short code and keyword when a radio station promotion occurs. We pre-populate it. One click and it's done.
Related Content Cards
Attach an event or promo to your programming. Dynamic cards may also include upcoming concerts, record release dates, recently played, next up on-air.
Why a Mobile Platform Now?
Benefits of a hybrid radio smartphone solution to broadcasters include:
- The technology is here: The best-selling smartphones have FM chips built in — they just aren't activated
- Grow listenership! Dramatically expand the distribution of your core product
- Saves consumers on bandwidth. Streaming raises data rates. By listening to FM radio, your listeners could save as much as 1GB per month in data usage
- Protects and enhances the existing broadcast distribution model: FM radio is free to the listener
- Provides a similar user experience to streaming with minimal bandwidth cost and no royalty fees
- The explosion of the mobile platform and the mobile advertising market sets up the industry for the next generation of auto dashboards
- Increase radio's share of the advertising pie through a more targeted and interactive solution for advertisers
- Further strengthen our public service role
- NAB sponsorship of standard application supports mass adoption


text:
Property Location Located in Stockholm (Vasastan), Hotel Hansson is minutes from Stockholm Public Library and Stockholm Observatory Museum. This 4-star hotel is within close proximity of Odenplan Square and Gustav Vasa Church.Rooms Stay in one of 58 guestrooms featuring flat-screen televisions. Your room comes with a pillowtop bed. Wireless Internet access (surcharge) keeps you connected, and cable programming is available for your entertainment. Private bathrooms with bathtubs or showers feature complimentary toiletries and hair dryers.Rec, Spa, Premium Amenities Make use of convenient amenities, which include wireless Internet access (surcharge) and discounted use of a nearby fitness facility.Dining Grab a bite to eat at the hotel's restaurant, where you can enjoy drinks at a bar and dine alfresco (weather permitting). Or stay in and take advantage of room service (during limited hours). Quench your thirst with your favorite drink at a bar/lounge. A complimentary continental breakfast is served daily.Business, Other Amenities Featured amenities include dry cleaning/laundry services, a 24-hour front desk, and multilingual staff. Planning an event in Stockholm? This hotel has 431 square feet (40 square meters) of space consisting of a conference center and a meeting room.
Surbrunnsgatan 38, Stockholm Distance to center: 1,86 km
Wednesday 1
max 25 / min 16 ºC
Thursday 2
max 28 / min 17 ºC
Friday 3
max 28 / min 18 ºC
Saturday 4
max 29 / min 15 ºC
Sunday 5
max 21 / min 16 ºC


text:
We use cookies to ensure that we give you the best experience on our website.
If you continue, we'll assume that you are happy to receive all cookies on the SearchMe4 website.
Privacy Policy
Cookie Policy
The rates of commercial property are sky high even during these bad economic times. Economy down or not, but the rates are high as always especially for those properties which are right there in the prime spots of the city.
If you are one such fortunate owner of a valuable commercial property, there is something you should note and that something is commercial property insurance. Your building may be built strong and it may look good but you never know what natural calamity may be heading towards your city and can affect your building. This includes earth quakes, storms, floods and what not. So, as a commercial property owner, you must be prepared for the unexpected in order to save yourself from the financial loss that you may or may not incur.
But getting commercial insurance is not like getting coverage for your home. Commercial insurance is different. You need to realize and rationalize the types of threats or issues that you may want to be covered. For example, a shop owner would have different threat perception for their property while a brokerage house or a tailor show will have other type of issues. And another key thing to remember is that commercial insurance comes very expensive so, knowing what type of insurance you are looking for is also very important.
Often people tend to ignore their commercial property which is lying vacant and is not being used by them or even not rented out. This should never be done. Vacant office space or property is prone to hazards and often you read about it in papers stories of an empty office catching fire etc… so getting insurance of your property lying vacant is another important thing.
Now days, commercial insurance can be acquired online where you can visit websites like UK Business Directory and search about your requirement. The website will not only give you valid commercial insurance providers but will also get you recommend you comparative rates and from there you can take it forward by selecting a few and setting up meetings till finally selecting the company.


text:
Français Contact us Join Our Newsletter About Plan Canada Media
Looking for unique gift ideas?
Plan Canada's Gifts of Hope is an ethical gift-giving program that gives twice: here and abroad.
When you support a girl, she'll work to raise the standard of living for herself, her family and her community.
Real projects that change real lives.
Shop for gifts to support girls
Checking up on moms and their newborns within the first three days of the baby's birth is critical. With this gift, you'll help ensure that babies thrive and new moms recover well from the delivery. Your $30 gift is matched for a $120 value!
Give now »
Community-based water solutions, including training on proper sanitation, will bring clean water – and peace of mind – to families. Your $75 gift is matched for a $225 value!
Girls in many parts of the world have the desire to continue their studies, but not the means. This gift supplies that part of the equation. Your $295 gift is matched for a $885 value! Give now »
See all Because I am a Girl products on Gifts of Hope
Matched Gifts of Hope are about strength in numbers. Your dollars will be matched with a donation by a government, foundation or organizational partner, giving more children the gift of hope, helping more families live better lives, and transforming more communities.
Here's an example of how matching works:
You purchase a Newborn checkup for $30. Your donation will be matched 3x for an additional $90. The total value of $30 + $90 = $120 will help more girls and their families live better lives, and transform more communities.
Because I am a Girl is Plan's global initiative to end gender inequality, promote girls' rights and lift millions of girls – and everyone around them – out of poverty.
© 2015 Plan International Canada Inc. The Plan, Because I am a Girl, and Spread the Net names, associated trade marks and logos, and the logo are trade marks of Plan International Canada Inc.
Revenue Canada Business Identification (Canadian Charity Reg.) #11892-8993 RR0001 *The Standards Program Trustmark is a mark of Imagine Canada used under licence by Plan Canada.
Plan Canada | Copyright | Privacy Policy | Terms of use | Child Protection | Internet Safety Tips | View mobile site


text:
One of the first-ever images of a molecular gas in
which each molecule is in its lowest possible energy state. The
molecules are near absolute zero, a temperature at which quantum
properties reign. The image—made by detecting the absorption of laser
light by the molecules—reveals their spatial distribution, with density
indicated by peak height and false color. The fact that such an image
can be created indicates the molecular quantum gas is dense enough to
enable scientists to observe novel interactions among the molecules.


text: via CMT News Keith Urban has written an editorial advocating the historic preservation of country music landmarks. With the headline "Keep Music Row's Past for the Future," his 368-word plea appeared Friday (Aug. 1) in the opinion section of The Tennessean, Nashville's daily newspaper. It sounds like Urban is who he is because of the Nashville neighborhood that houses so many of the record labels, recording studios and publishing houses. The area near downtown Nashville is currently under threat from developers, explains Urban. And while he's obviously smart enough to understand that they may want to take that part of town to some kind of next level, he's hoping there can be a balance between the rich history and whatever tomorrow will bring. "Nashville has exploded as a music town, and not just country music," he said. "Musicians from all genres, all over the world are making the pilgrimage here to immerse themselves in the kind of creative center that so many other cities have lost but that Nashville still maintains." That is all the good news. But then Urban gets to the bad news of what he's afraid will happen if that explosion turns Music Row into something it isn't. "Nashville's growth is exciting, but not at the risk of losing the creative epicenter that is Music Row and that truly makes Nashville Music City," Urban write. "I sincerely hope that those who have made Nashville their home over the years, and those who have recently discovered our fair city, will come together as a united front and continue to be vocal about preserving and fortifying our beloved Music Row." You can read his full column by clicking HERE.


text:
The best apps for Windows 8 PCs and tablets.
Microsoft Windows 8 is a fairly good operating system for desktops,laptops and tablets. In response to competition from Apple iPad and tablets running Googles Android,Microsoft coded an app store into Windows 8 (for the uninitiated,Windows 8 is the OS for PCs,laptops and tablets,while Windows Phone 8 is the OS for phones).
The Windows 8 store has quite a few good apps,but the search feature leaves a lot to be desired. For instance,if you search for Twitter,the official app is not the first result and is not even highlighted. It is hidden among several unofficial Twitter apps. Fortunately,Microsoft recently announced an update Windows 8.1 which is scheduled to launch on October 18. This update promises improvements in the search function. Until then,you can refer to this list for some great apps on Windows 8.
Twitter is one of the worlds most popular social networks with an official Windows app. If you have trouble finding it among the many unofficial Twitter apps on the store,look for an app called Twitter,with a four-star rating. Plus,Windows 8 comes with an app called People,which shows you updates and notifications from all social networks,including Twitter. But the official Twitter app integrates the networks best features with those of Windows 8. Users can share content from other apps on Twitter with the share charm (swipe from the right edge,click to share) and pin the app to one side to keep an eye on updates while using other apps.
Love reading? Check out Amazons Kindle Windows 8 app that lets you purchase and read books from your Amazon account. This app supports Whispersync technology,which syncs your notes,highlights,bookmarks and most recent location in the book across Amazon ebook readers and apps. You can continue reading a book in this app if you forget to carry your Kindle with you. The search feature is also quite good.
ALSO SEE: Amazons free app for audiobooks,Audible,works very well. Audiobooks are great for those who dont have the time to read,the visually challenged or those who stare at computer screens all day. The app is easy to use and Amazon has a good collection of audiobooks. http://is.gd/amee39
This app is a must-have for those who love comics and graphic novels. Comixologys Comics app itself is free,and users can purchase comics and graphic novels from its vast catalogue. The app features Guided View technology that zooms in on any frame you double-click and shows one frame at a time,which makes reading an immensely enjoyable experience. You no longer need to worry about scrolling,zooming or whether you are reading the frames in the correct order. Indian users will need a credit card to buy comics. It also has a good collection of free comics for those who want to try the app before buying.
ALSO SEE: ACK comics app has a limited collection,but features a few issues of Amar Chitra Katha comics that include stories from Indian history and mythology. http://is.gd/68mSwn
Jetpack Joyride
Jetpack Joyride is a fun game from Halfbrick Studios. Its …continued »


text:
Portland Trail Blazers (36-16) at Los Angeles Clippers (36-18), 10:30 p.m.
(SportsNetwork.com) - The Portland Trail Blazers are going through the NBA
gauntlet and won't catch a break with Wednesday's matchup with the Los Angeles
Clippers at Staples Center.
The Blazers are playing a stretch of games against Indiana, Minnesota,
Oklahoma City, the Clippers and San Antonio. They lost to the Pacers, defeated
the Timberwolves and suffered a 98-95 setback versus the Thunder on Tuesday.
Robin Lopez had 17 points and 14 rebounds, Nicolas Batum scored 18 points and
Damian Lillard added 16 for the Blazers, who shot a lousy 37.6 percent and
committed 17 turnovers.
Rookie C.J. McCollum provided 15 points off the bench and LaMarcus Aldridge
was limited to 12 points, but grabbed 12 rebounds. Aldridge missed a clear
shot at the end and Oklahoma City sealed the win from the foul line.
"We had shooters on the court and whether LA shoots a jump shot or drives or
passes, I can certainly live with the shot. He's made a living making that
shot," Portland head coach Terry Stotts said about Aldridge's last shot.
The Blazers have alternated wins and losses over the last seven games and have
a 17-10 road record this season.
Much like the Blazers, Los Angeles will face some talent in the next few games
against Portland, San Antonio, Memphis and Oklahoma City.
The Clippers appear primed for their rough stretch after destroying the
Philadelphia 76ers 123-78 on Sunday night. They welcomed the return of star
point guard Chris Paul and scored the first 13 points of the game. The
Clippers led 46-15 after the first quarter, 62-21 in the second after dunks by
Blake Griffin and 89-33 late in the third quarter.
Paul, who missed 18 games with a Grade 3 AC joint separation in his right
shoulder, finished with seven points, eight assists and four steals in just
under 23 minutes in his return. L.A. was 12-6 without him.
"It felt great to play. It looked like it was our offense, but it was really
our defense tonight. Preparation has a lot to do with it. We're all making
plays, it's all about winning," Paul said.
Paul is 17 points shy of 11,000 in his career.
Griffin finished with 26 points, 11 rebounds and six assists, and is averaging
29.2 points and 8.6 rebounds in his last 12 games. He has scored at least 20
points in each of those contests.
Jamal Crawford finished with 21 points and DeAndre Jordan added 10 points, 20
rebounds and four blocks in the win for the Clippers, who have won seven of
their last 10 games and are 2-1 on a five-game homestand. The Clippers, who
have a 22-4 record as the host this season, posted their largest win in
franchise history.
Crawford is averaging 23.4 ppg since Jan. 17 and has scored 19 or more points
in 13 of the last 14 contests.
The Clippers are second in the NBA with 106.7 ppg and have scored 100 or more
points in 10 straight home games. Portland leads the NBA with 107.7 ppg and
defeated the Clippers 116-112 in overtime on Dec. 26 at the Moda Center.
Los Angeles has won five of the last seven meetings with Portland and four in
a row at home in this series.


text:
Replacement Seat for Afton Collection
Delivery InformationEdit ZIP Code View delivery details
UPS Shipping
Get unlimited accessories shipped for free via UPS.
Get unlimited accessories shipped for free via UPS.
This oversize item ships for $25 via UPS.
Free delivery on this item.View options and prices
Create seating that works with your lifestyle. We make it easy to personalize your Afton dining chairs and stools with stain-resistant fabric or leather seat options.See the full Afton collection
We partner with artisans and workshops across the country
Details of Afton Seat
- Seat Cushion: foam and fiber
- Product Origin: made in Virginia
- Item Number: 380904
- Fabric: Desmond otter See full fabric details
- Fabric Content: 100% polyester
- Fabric Description: One of our most popular fabrics, Desmond is a great choice for any high-traffic piece. Tightly woven micro-denier polyester gives this fabric outstanding durability and stain resistance, but with a soft feel. Desmond looks and feels like suede, and gives dimension to solid colors with its changing nap.
Product Care
More items in the Afton Collection
Why Room & Board?
When you shop with Room & Board, you choose:
Our Guarantee
Our goal is to provide a positive customer experience by supporting you throughout the entire shopping experience. We stand behind the quality of our products and the prices we charge. If you're not completely satisfied with your purchase or any part of your experience, just let us know.
American-made products
More than 90% of our assortment is made by American craftspeople. We seek out companies that share our passion for design, natural materials and quality construction right here at home.
Fair pricing
Sales aren't part of our business model. We simply offer our best value every day. No discount codes. No holiday weekend sales. Just the knowledge you're paying the same fair price as everyone else.
Exceptional service
Our Design Associates have a passion for helping you find the right furniture and accessories for your home. We offer complimentary design services and expert advice in our stores, over the phone and online.
Your satisfaction is our priority. If you're not completely satisfied with your purchase or any part of your experience, just let us know. We're here to help.
Expert delivery
Our Delivery Associates take care of every detail from assembly and careful placement of your new furniture to removing packaging from your home. Receive unlimited items for one flat rate, and free delivery on returns and exchanges.
Returns and Exchanges
We understand that it can take a few days or a few weeks to determine if your new furniture will work for you. We encourage you to return or exchange products in a timely manner because damage or wear may result in an adjustment to your final refund. We don't charge a delivery fee for returns or exchanges within the 48 contiguous states. However, original delivery charges are not refundable.


text:
Ok, well that actually went a lot faster than I thought. Now the site should look, of course, 20% cooler!! The look and feel of the site is now so much nicer than it was before, plus all of the other pony themes are compatible with the new look as well.
Did you know you can switch the color scheme and the banner up top to one of the main six ponies by clicking them up in the top right corner of the site? Over time, I'm planning on adding tons of different banners and character themes (I say character as there will be Spike, Discord, etc.), but for the time being, those six should give you enough variety to smile merrily while you get your hooves on. I mean groove on.
Not only that, but now there are some awesome pony emoticons on the site! There are plenty of them and you can read the guide to figure out how to include them in your comments. These were created by midori-no-ink on deviantART, and here is a link to the original pack if you want to check them out.