we are pleased to offer the CD/DVD content as a free download via O'Reilly Media's Digital Distribution services. To download this content, please visit O'Reilly's web site, search for the title of this book to find its catalog page, and click on the link below the cover image (Examples, Companion Content, or Practice Files). Note that while we provide as much of the media content as we are able via free download, we are sometimes limited by licensing restrictions. Please direct any questions or concerns to booktech@oreilly.com.
http://shop.oreilly.com/category/customer-service/faq-examples.do
Sunday, 27 November 2011
Thursday, 24 November 2011
Referendum NZ 2011, Different voting systems
* FFP
+ Only one vote for the local MP and that mp will represent in the parliament.
+ Hard for small party to win seats.
* PV (Preferential Voting)
+ Like FFP but you rank your local MP instead. Ranking from 1 to 4
* SM (Supplementary Member)
+ Like MMP but smaller party will have less seats than the votes they get.
* STV (Single Transferable Vote)
+ Each electorate has more than one MP
+ Easy for small party to get elected.
http://www.youtube.com/user/ReferendumNZ#p
+ Only one vote for the local MP and that mp will represent in the parliament.
+ Hard for small party to win seats.
* PV (Preferential Voting)
+ Like FFP but you rank your local MP instead. Ranking from 1 to 4
* SM (Supplementary Member)
+ Like MMP but smaller party will have less seats than the votes they get.
* STV (Single Transferable Vote)
+ Each electorate has more than one MP
+ Easy for small party to get elected.
http://www.youtube.com/user/ReferendumNZ#p
Wednesday, 23 November 2011
Random, Misc
scrapple - Like spam in a tasty sause
relish - Pickled fruit and veges
Gandalf (Lord of the ring) - Ian McKellen
It smells like sweat and virginity. LOL
(Artist)Coop. Wheel girl is one of his drawings
lederhosen - German beer festival outfits for guys
relish - Pickled fruit and veges
Gandalf (Lord of the ring) - Ian McKellen
It smells like sweat and virginity. LOL
(Artist)Coop. Wheel girl is one of his drawings
lederhosen - German beer festival outfits for guys
Sunday, 20 November 2011
Crm 4 Email Tracking
When you track an email in Crm, it means an email activity record will be generated from an income email which matches the track criteria.
Once an email is tracked, you will be able to find it in your Crm activity list with Type = E-mail
To manually track an email, click on the "Track in CRM" button in the Crm integration ribbon section in Outlook.
To automatically track an email, you need to choose how much emails to be tracked/copied into crm.
The token (e.g. CRM:0002001) is there to allow Crm to set the "Regarding" field automatically.
Once an email is tracked, you will be able to find it in your Crm activity list with Type = E-mail
To manually track an email, click on the "Track in CRM" button in the Crm integration ribbon section in Outlook.
To automatically track an email, you need to choose how much emails to be tracked/copied into crm.
The token (e.g. CRM:0002001) is there to allow Crm to set the "Regarding" field automatically.
Email tracking CRM 4.0 - Here's 4 Easy questions
Q1. What is the difference between the three options?
1. All Emails
2. Emails in Response to CRM emails
3. E-mail messages from CRM Leads, Contacts and Accounts
The first one is obvious. The second one states that any email that originated in CRM, if replied to, the reply will be tracked in CRM. The third one specifically tracks emails from CRM Leads, Contacts and Accounts (which is obvious too).
Q2. If I click on "Set Regarding" and link an email message from one of my customers - why does it not remember next time he sends me an email and automatically "Set Regarding" to his contact record
If you have enabled Smart Matching based email correlation (On by default in CRM 4 and configurable for CRM 2011 in System Settings), AND if the second email that you want to have regarding object set automatically is part of the original thread conversation, then the email will have the regarding object set automatically. If the second email is having a different subject or set of recipients, then the email will nto have the regarding set as CRM will find that to be a different conversation.
Q3. I get some email automatically linking (getting tracked) where it says "Regarding NONE" - does that mean it's not attached to a record? where do I find that email in CRM?
Email are automatically tracked if you have chosen one if the 3 options in Q1. The Regarding object is set as None since there is no history for that email (no previous email in the thread has a regarding object set). You will be able to see all emails in the Activities Grid.
Q4. How does it decide if it should track the email and where it should put it? (is it looking at the email address only or something else)
Answered in Q3.
1. All Emails
2. Emails in Response to CRM emails
3. E-mail messages from CRM Leads, Contacts and Accounts
The first one is obvious. The second one states that any email that originated in CRM, if replied to, the reply will be tracked in CRM. The third one specifically tracks emails from CRM Leads, Contacts and Accounts (which is obvious too).
Q2. If I click on "Set Regarding" and link an email message from one of my customers - why does it not remember next time he sends me an email and automatically "Set Regarding" to his contact record
If you have enabled Smart Matching based email correlation (On by default in CRM 4 and configurable for CRM 2011 in System Settings), AND if the second email that you want to have regarding object set automatically is part of the original thread conversation, then the email will have the regarding object set automatically. If the second email is having a different subject or set of recipients, then the email will nto have the regarding set as CRM will find that to be a different conversation.
Q3. I get some email automatically linking (getting tracked) where it says "Regarding NONE" - does that mean it's not attached to a record? where do I find that email in CRM?
Email are automatically tracked if you have chosen one if the 3 options in Q1. The Regarding object is set as None since there is no history for that email (no previous email in the thread has a regarding object set). You will be able to see all emails in the Activities Grid.
Q4. How does it decide if it should track the email and where it should put it? (is it looking at the email address only or something else)
Answered in Q3.
Thursday, 17 November 2011
Things to note for a CRM3 to CRM2011 upgrade
Hi team,
Two things (I found out so far) which are important to know for a CRM3 to CRM2011 upgrade project - which need to be part of a system requirement checklist –
1. CRM 2011 requires SQL Server 2008 (use SP1 for R2 to avoid a known issue)
If the existing SQL Server in PRODUCTION is below this version, a SQL Server upgrade is required so licensing and hardware costs would need to be considered.
2. CRM 3.0 Server is NOT supported on 64bit platform
A (transitional) 32bit server is required for a CRM 3.0 to CRM 4.0 upgrade. After that, the databases would be copied and used in a 64bit server. Even though the 32bit server is only required during the upgrade, it is a part of the process we need to consider.
Two things (I found out so far) which are important to know for a CRM3 to CRM2011 upgrade project - which need to be part of a system requirement checklist –
1. CRM 2011 requires SQL Server 2008 (use SP1 for R2 to avoid a known issue)
If the existing SQL Server in PRODUCTION is below this version, a SQL Server upgrade is required so licensing and hardware costs would need to be considered.
2. CRM 3.0 Server is NOT supported on 64bit platform
A (transitional) 32bit server is required for a CRM 3.0 to CRM 4.0 upgrade. After that, the databases would be copied and used in a 64bit server. Even though the 32bit server is only required during the upgrade, it is a part of the process we need to consider.
Wednesday, 16 November 2011
How much does a Microsoft exam cost?
Microsoft $205 + GST*
http://www.auldhouse.co.nz/content/99c776d9-8745-48ef-b1c2-9f2a86af0b91.html
http://www.auldhouse.co.nz/content/99c776d9-8745-48ef-b1c2-9f2a86af0b91.html
Monday, 14 November 2011
Displaying CRM emails using SSRS 2008. PlaceHolder and its deficiency.
Place a textbox control on report and within it place the PlaceHolder by right clicking inside textbox and choose PlaceHolder.
Set the properties of the 'PlaceHolder', change Markup type to HTML.
Extract description(body) of email by query eg. Select description from filteredemail where activityid='A0773451-3DE3-DF11-9EAB-0003FFD4167C'
Set the expression value of the placeholder to description, from dataset fields.( For e.g. Fields!description.Value).
Review the report to see the following result.
Reference: http://inogic.blogspot.com/2010/11/displaying-crm-emails-using-ssrs-2008.html
=============
Another deficient of the placeholder
=============
Also the placeholder can interpret html before rendering, you can not do anything with the text after interpreting. For example, placeholder can render an html email correctly but you can not trim down the already interpreted email content to 80 characters.
Set the properties of the 'PlaceHolder', change Markup type to HTML.
Extract description(body) of email by query eg. Select description from filteredemail where activityid='A0773451-3DE3-DF11-9EAB-0003FFD4167C'
Set the expression value of the placeholder to description, from dataset fields.( For e.g. Fields!description.Value).
Review the report to see the following result.
Reference: http://inogic.blogspot.com/2010/11/displaying-crm-emails-using-ssrs-2008.html
=============
Another deficient of the placeholder
=============
Also the placeholder can interpret html before rendering, you can not do anything with the text after interpreting. For example, placeholder can render an html email correctly but you can not trim down the already interpreted email content to 80 characters.
Sunday, 13 November 2011
Resolving "Error: Subreport Could Not Be Displayed" in Crm 2011
The error I got:
Steps I went through to fix the problem:
1: Upload the parent report as well as the sub report
2: Make the parent report property is defined sub report edit form
Steps I went through to fix the problem:
1: Upload the parent report as well as the sub report
2: Make the parent report property is defined sub report edit form
Database Mirroring
Configure a Microsoft Dynamics CRM organization for database mirroring
Three principle components:
MSCRM_Primary
MSCRM_Mirror
MSCRM_Witness
Database mirroring overview
Three principle components:
MSCRM_Primary
MSCRM_Mirror
MSCRM_Witness
Database mirroring overview
Tuesday, 8 November 2011
Crm 2011 XSDValidation Error when importing customization.
Crm 2011 XSDValidation Error when importing customization.
Original error message:
The import file is invalid. XSD validation failed with the following error: 'The 'dateformat' attribute is not declared.'. The validation failed at: '...utoMode="VariableCount"
The issue is that the dateformat attribute is used in the customization.xml file but it is not defined in the schema.
The FIX:
Remove the dateformat attribute from the customization.xml.
Note: importing may take a while
Other things to try when the customization failed.
* Import a partial customization
* Remove the managed solutions and try again.
Original error message:
The import file is invalid. XSD validation failed with the following error: 'The 'dateformat' attribute is not declared.'. The validation failed at: '...utoMode="VariableCount"
The issue is that the dateformat attribute is used in the customization.xml file but it is not defined in the schema.
The FIX:
Remove the dateformat attribute from the customization.xml.
Note: importing may take a while
Other things to try when the customization failed.
* Import a partial customization
* Remove the managed solutions and try again.
Monday, 7 November 2011
Crm security privileges Append, Append to, Assign
Append - To control the lookup fields of the other entities on the form of this entity
Append to - To control the lookup field of this entity on the forms of other entities
Assign - To control the Owner field of this entity.
Here is a good reference for this topic. http://community.dynamics.com/product/crm/crmtechnical/b/crminogic/archive/2010/05/03/append-v-47-s-append-to.aspx
Append to - To control the lookup field of this entity on the forms of other entities
Assign - To control the Owner field of this entity.
Here is a good reference for this topic. http://community.dynamics.com/product/crm/crmtechnical/b/crminogic/archive/2010/05/03/append-v-47-s-append-to.aspx
Sunday, 6 November 2011
Brew beer
Malted Barley (一点点发芽的大麦)
Hop - Add bitterness
Yeast
Hop - Add bitterness
Yeast
Wednesday, 2 November 2011
Increasing the CRM 4.0 Attachment Size Limit
The default attachment file size limit in Microsoft Dynamic CRM 4.0 is 5 MB. There is good reason for this - as a general rule you should be placing some restrictions on the amount of file data that can enter CRM so that the database can maintain a reasonable size and so that performance is optimized. However, your business may find the need to increase this size a little in order to handle larger file attachments. Here are the instructions to increase the file size limit to 10 MB. You can go larger than this, but pay close attention to the table size and performance over time as you want to keep CRM running as well as possible. Note - even though the System Settings option looks like this it would apply to email attachments only, it does apply to "notes" type attachments as well. Finally, this procedure to change the max attachment size is not an officially published recommendation, so use this at your own risk. How to increase the max attachment size in CRM 4.0:
1. Open the application web.config (C:\Inetpub\CRM\web.config).
2. Locate the key within the element and change the values to the following:
3. Locate the key within the element of the
1. Open the application web.config (C:\Inetpub\CRM\web.config).
2. Locate the
3. Locate the
Sql tracing profiler event explained
RPC: Completed
The RPC: Completed event fires after a stored procedure is executed as a remote procedure call. It includes useful information about the execution of the stored procedure, including the CPU time used to execute the stored procedure, the total length of time the stored procedure ran, logical reads and writes that occurred during its execution, along with the name of the stored procedure itself.
SP: StmtCompleted
Stored procedures are made up of one or more statements. In SQL Server 2005, each statement within a stored procedure is traced. The SP: StmtCompleted event indicates when a statement within a stored procedure has ended. The StmtCompleted event’s data columns provide lots of useful information about the statement, including the actual code in the statement, the duration the statement ran, the amount of CPU time used, the number of logical reads and writes, the number of rows returned by the statement, among others.
SQL: BatchStarting
The SQL: BatchStarting event is fired whenever a new batch begins. Once a batch begins, then one or more individual Transact-SQL statements occur. The SQL: BatchStarting event is a good event to easily see where a batch begins, but other than this, it is not particularly useful.
SQL: BatchCompleted
The SQL: BatchCompleted event occurs when a batch completes. This means that one or more Transact-SQL statements have completed for the batch. The SQL: BatchCompleted event is more useful than the SQL: BatchStarting event because it includes useful information like the duration of the entire batch, the logical number of reads and writes caused by all the statements inside the batch, the total number of rows returned by the batch, and other useful information.
Deadlock Graph
Of seven events I have listed above, the only event you must have is the Deadlock Graph event. It captures, in both XML format and graphically, a drawing that shows you exactly the cause of the deadlock. We will examine how to interpret this drawing later in this article.
Lock:Deadlock
This event is fired whenever a deadlock occurs, and because of this, it is also fired every time the Deadlock Graph event is fired, producing redundant data. I have included it here because it makes it a little easier to see what is happening, but if you like, you can drop this event from your trace.
Lock:Deadlock Chain
This event is fired once for every process involved in a deadlock. In most cases, a deadlock only affects two processes at a time, and because of this, you will see this event fired twice just before the Deadlock Graph and the Lock:Deadlock events fire. In rare cases, more than two processes are involved in a deadlock, and if this is the case, an event will be fired for every process involved in the deadlock.
The RPC: Completed event fires after a stored procedure is executed as a remote procedure call. It includes useful information about the execution of the stored procedure, including the CPU time used to execute the stored procedure, the total length of time the stored procedure ran, logical reads and writes that occurred during its execution, along with the name of the stored procedure itself.
SP: StmtCompleted
Stored procedures are made up of one or more statements. In SQL Server 2005, each statement within a stored procedure is traced. The SP: StmtCompleted event indicates when a statement within a stored procedure has ended. The StmtCompleted event’s data columns provide lots of useful information about the statement, including the actual code in the statement, the duration the statement ran, the amount of CPU time used, the number of logical reads and writes, the number of rows returned by the statement, among others.
SQL: BatchStarting
The SQL: BatchStarting event is fired whenever a new batch begins. Once a batch begins, then one or more individual Transact-SQL statements occur. The SQL: BatchStarting event is a good event to easily see where a batch begins, but other than this, it is not particularly useful.
SQL: BatchCompleted
The SQL: BatchCompleted event occurs when a batch completes. This means that one or more Transact-SQL statements have completed for the batch. The SQL: BatchCompleted event is more useful than the SQL: BatchStarting event because it includes useful information like the duration of the entire batch, the logical number of reads and writes caused by all the statements inside the batch, the total number of rows returned by the batch, and other useful information.
Deadlock Graph
Of seven events I have listed above, the only event you must have is the Deadlock Graph event. It captures, in both XML format and graphically, a drawing that shows you exactly the cause of the deadlock. We will examine how to interpret this drawing later in this article.
Lock:Deadlock
This event is fired whenever a deadlock occurs, and because of this, it is also fired every time the Deadlock Graph event is fired, producing redundant data. I have included it here because it makes it a little easier to see what is happening, but if you like, you can drop this event from your trace.
Lock:Deadlock Chain
This event is fired once for every process involved in a deadlock. In most cases, a deadlock only affects two processes at a time, and because of this, you will see this event fired twice just before the Deadlock Graph and the Lock:Deadlock events fire. In rare cases, more than two processes are involved in a deadlock, and if this is the case, an event will be fired for every process involved in the deadlock.
Tuesday, 1 November 2011
The import file is too large to upload - Crm customization import error
Have fine fix for Crm 2011 but I am trying the Crm 4 equivalent.
http://support.microsoft.com/kb/918609
Programming and debugging tips. Debugging Crm tips
* Look deeper under the hood: Reflector, Sql Profiler, Debugger, VS Tracing, Tracing File, Log Files, Windows Event Logger...
* Compare with working version: svn, different version of database...
* if crashes on create, debug the constructor
* Always Set Stop On Exception While Doing Debugging in Visual Studio 2005 or 2008
Menu -> Debug -> Exceptions... -> Tick all the check boxes
* Attach to w3wp is unstable. F5/debug may show you more debug info
* Debug window "Call stack", "Immediate" and "Disassembly" are very useful.
* Use break point's hit count, stop condition and when hit (you can print when the statement is hit)
--Crm--
* Turn on DevErrors in web.config
* For Crm client, run the diagnosis tool.
* Compare with working version: svn, different version of database...
* if crashes on create, debug the constructor
* Always Set Stop On Exception While Doing Debugging in Visual Studio 2005 or 2008
Menu -> Debug -> Exceptions... -> Tick all the check boxes
* Attach to w3wp is unstable. F5/debug may show you more debug info
* Debug window "Call stack", "Immediate" and "Disassembly" are very useful.
* Use break point's hit count, stop condition and when hit (you can print when the statement is hit)
--Crm--
* Turn on DevErrors in web.config
* For Crm client, run the diagnosis tool.
temp table, table variable, CTE (Common Table Expression)
Rule of thumb: If logic is simple CTE, otherwise Table Variable
CTE (Common Table Expression):
* May have performance issues
* Like a sub-query
* Save you some type and make the field type consistent with the original table
* Saved in memory
Table Variable:
* Performance better
* Saved in database
Temp Table:
* Do you best to not use it
http://databases.aspfaq.com/database/should-i-use-a-temp-table-or-a-table-variable.html
Temp Table
CREATE TABLE #MyTable
(
Id int,
Name varchar(32)
)
DROP TABLE #MyTable
alternative syntax
select * into #MyTable from contacts
drop table #MyTable
-----------------------
Table Variable
DECLARE @MyTable TABLE
(
Id int,
Name varchar(32)
)
----------------------
CTE (Common Table Expression)
WITH MyTable (Id, Name)
AS
(
SELECT Id, Name
FROM User
)
CTE (Common Table Expression):
* May have performance issues
* Like a sub-query
* Save you some type and make the field type consistent with the original table
* Saved in memory
Table Variable:
* Performance better
* Saved in database
Temp Table:
* Do you best to not use it
http://databases.aspfaq.com/database/should-i-use-a-temp-table-or-a-table-variable.html
Temp Table
CREATE TABLE #MyTable
(
Id int,
Name varchar(32)
)
DROP TABLE #MyTable
alternative syntax
select * into #MyTable from contacts
drop table #MyTable
-----------------------
Table Variable
DECLARE @MyTable TABLE
(
Id int,
Name varchar(32)
)
----------------------
CTE (Common Table Expression)
WITH MyTable (Id, Name)
AS
(
SELECT Id, Name
FROM User
)
Music
Roky Erickson
Exodus Honey by Honeycut
Bohemian Rhapsody by QUEEN
mamma mia let me go
Exodus Honey by Honeycut
Bohemian Rhapsody by QUEEN
mamma mia let me go
Subscribe to:
Posts (Atom)