<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.dovetailsoftware.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Steven Weintraub</title><subtitle type="html" /><id>http://blogs.dovetailsoftware.com/blogs/sweintraub/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.dovetailsoftware.com/blogs/sweintraub/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.dovetailsoftware.com/blogs/sweintraub/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.61129.2">Community Server</generator><updated>2007-01-30T11:16:00Z</updated><entry><title>AMDOCS/Clarify CRM and the issue of daylight saving time.</title><link rel="alternate" type="text/html" href="http://blogs.dovetailsoftware.com/blogs/sweintraub/archive/2007/02/07/amdocs-clarify-crm-and-the-issue-of-daylight-saving-time.aspx" /><id>http://blogs.dovetailsoftware.com/blogs/sweintraub/archive/2007/02/07/amdocs-clarify-crm-and-the-issue-of-daylight-saving-time.aspx</id><published>2007-02-07T13:11:00Z</published><updated>2007-02-07T13:11:00Z</updated><content type="html">&lt;p&gt;&amp;lt;For those who have read this blog before, please notice we are now providing the solution below.&amp;gt;&lt;/p&gt;&lt;p&gt;As many IT departments are just finding out, a major change is about to happen concerning clocks and the calendar.&amp;nbsp; In late 2005 the Congress changed daylight saving time to last 5 weeks longer.&amp;nbsp; Instead of starting the first week in April, daylight savings time&amp;nbsp; starts the second Sunday in March.&amp;nbsp; It will also end the first week in November.&amp;nbsp; On top of that there are two extra problems.&amp;nbsp;&amp;nbsp; First the extension is not permanent - but indefinite.&amp;nbsp; The Congress is saying sometime in the future - we don't know when - it will change back.&amp;nbsp; Also Indiana has changed it rules of daylight saving time.&amp;nbsp; Before now, certain Indiana counties did not participate in daylight saving time, now Indiana universally participates.&amp;nbsp; Arizona still does not practice daylight saving time.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Potentially this change will have greater effect than the y2k bug.&amp;nbsp;&amp;nbsp; Why?&amp;nbsp;&amp;nbsp; Two reasons.&amp;nbsp;&amp;nbsp; &lt;/p&gt;

&lt;p&gt;First the y2k bug was known and advertised years ahead so many software people could make great livings fixing it before it hit.&amp;nbsp;&amp;nbsp; &lt;br&gt;With this daylight saving time change, many people are just becoming aware of it several weeks before it takes effect.&lt;/p&gt;

&lt;p&gt;Second is its effect. &amp;nbsp; With y2k many of the affects were printing artifacts (years print 101 instead of 01 or fields not fitting on the screen).&amp;nbsp; With this bug - unless it if fixed, times in your software will be off an hour for 3 weeks.&lt;/p&gt;

&lt;p&gt;This means all your software packages must be fixed to know the new rules.&lt;br&gt;&lt;br&gt;AMDOCS/Clarify CRM has an interesting twist on this problem.&amp;nbsp;&amp;nbsp; They were wise enough not to hardcode daylight saving time into their product.&amp;nbsp; Instead they store it in the database.&amp;nbsp; Unfortunately they provide no easy mechanism for updating the database table.&amp;nbsp; The only way to correct it is going into the table with SQL, deleteing the now bad records and inserting corrected records.&amp;nbsp; This requires a good knowledge of Clarify database setup and SQL.&amp;nbsp; This is a problem.&amp;nbsp; I am sure Clarify is providing a solution for those using Clarify support - but this does not help the many customers who have stopped paying support.&lt;/p&gt;

&lt;p&gt;For those customers (and this blog post is for you) - they have to know how Clarify stores daylight saving time.&amp;nbsp; There is a table daylight_hr that stores daylight saving start and stop time per year per timezone.&amp;nbsp;&amp;nbsp; First you need to delete the records for the USA and Canada timezones from 2007 on.&amp;nbsp;&amp;nbsp; Then you have to add an entry for each to each US and Canadian timezone (make sure you include 'Eastern Indiana Standard Time' but not 'Arizona Standard Time').&amp;nbsp;&amp;nbsp; The times for the start and stop dates from now to 2049 are at the end of this post (for your other applications needing update).&amp;nbsp; If you do this right you will delete 387 records and insert 473.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Dovetail Software is now providing free the fix for this problem.&amp;nbsp;&amp;nbsp; We have a set of four files to correct your database.&amp;nbsp; You can download these files from : &lt;br&gt;
&lt;/p&gt;&lt;pre&gt;&lt;a href="http://www.dovetailsoftware.com/download/dst/dst.zip" class="moz-txt-link-freetext"&gt;http://www.dovetailsoftware.com/download/dst/dst.zip&lt;/a&gt;&lt;/pre&gt;
&lt;p&gt;This zip file contains 4 files : daylightsaving.diet.dat, daylightsaving.dataex.mssql.sql, daylightsaving.dataex.oracle.sql, daylightsaving.dataex.dat.&lt;/p&gt;&lt;p&gt;If you have our Archive Manager product (DIET) then the file 'daylightsaving.diet.dat' is a one pass solution.&amp;nbsp;&amp;nbsp; Simply import this file with the Archive Manager and it will delete the old time zone records and insert the new ones.&lt;/p&gt;&lt;p&gt;If you do not have our Archive Manager product, the correction is two steps.&amp;nbsp;&amp;nbsp; First you have to delete the old daylight saving records.&amp;nbsp;&amp;nbsp; With your favorite SQLrunner, run either 'daylightsaving.dataex.mssql.sql' or 'daylightsaving.dataex.oracle.sql' depending on whether you have a MSSQL or an Oracle database.&amp;nbsp; Then you must import the new daylight saving records.&amp;nbsp;&amp;nbsp; Import the file  'daylightsaving.dataex.dat'&amp;nbsp; using Clarify's dataex tool.&lt;br&gt;&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left:160px;"&gt;&lt;span style="font-weight:bold;"&gt; Daylight Saving Time Change From 2007 to 2049&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;table bgcolor="grey"&gt;
 
&lt;tr&gt;
 
&lt;td&gt; year &lt;/td&gt;
&lt;td&gt; start time          &lt;/td&gt;
&lt;td&gt; stop time           &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2007 &lt;/td&gt;
&lt;td&gt; 03/11/2007 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/04/2007 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2008 &lt;/td&gt;
&lt;td&gt; 03/09/2008 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/02/2008 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2009 &lt;/td&gt;
&lt;td&gt; 03/08/2009 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/01/2009 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2010 &lt;/td&gt;
&lt;td&gt; 03/14/2010 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/07/2010 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2011 &lt;/td&gt;
&lt;td&gt; 03/13/2011 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/06/2011 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2012 &lt;/td&gt;
&lt;td&gt; 03/11/2012 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/04/2012 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2013 &lt;/td&gt;
&lt;td&gt; 03/10/2013 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/03/2013 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2014 &lt;/td&gt;
&lt;td&gt; 03/09/2014 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/02/2014 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2015 &lt;/td&gt;
&lt;td&gt; 03/08/2015 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/01/2015 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2016 &lt;/td&gt;
&lt;td&gt; 03/13/2016 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/06/2016 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2017 &lt;/td&gt;
&lt;td&gt; 03/12/2017 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/05/2017 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2018 &lt;/td&gt;
&lt;td&gt; 03/11/2018 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/04/2018 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2019 &lt;/td&gt;
&lt;td&gt; 03/10/2019 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/03/2019 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2020 &lt;/td&gt;
&lt;td&gt; 03/08/2020 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/01/2020 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2021 &lt;/td&gt;
&lt;td&gt; 03/14/2021 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/07/2021 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2022 &lt;/td&gt;
&lt;td&gt; 03/13/2022 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/06/2022 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2023 &lt;/td&gt;
&lt;td&gt; 03/12/2023 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/05/2023 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2024 &lt;/td&gt;
&lt;td&gt; 03/10/2024 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/03/2024 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2025 &lt;/td&gt;
&lt;td&gt; 03/09/2025 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/02/2025 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2026 &lt;/td&gt;
&lt;td&gt; 03/08/2026 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/01/2026 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2027 &lt;/td&gt;
&lt;td&gt; 03/14/2027 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/07/2027 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2028 &lt;/td&gt;
&lt;td&gt; 03/12/2028 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/05/2028 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2029 &lt;/td&gt;
&lt;td&gt; 03/11/2029 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/04/2029 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2030 &lt;/td&gt;
&lt;td&gt; 03/10/2030 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/03/2030 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2031 &lt;/td&gt;
&lt;td&gt; 03/09/2031 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/02/2031 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2032 &lt;/td&gt;
&lt;td&gt; 03/14/2032 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/07/2032 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2033 &lt;/td&gt;
&lt;td&gt; 03/13/2033 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/06/2033 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2034 &lt;/td&gt;
&lt;td&gt; 03/12/2034 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/05/2034 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2035 &lt;/td&gt;
&lt;td&gt; 03/11/2035 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/04/2035 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2036 &lt;/td&gt;
&lt;td&gt; 03/09/2036 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/02/2036 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2037 &lt;/td&gt;
&lt;td&gt; 03/08/2037 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/01/2037 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2038 &lt;/td&gt;
&lt;td&gt; 03/14/2038 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/07/2038 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2039 &lt;/td&gt;
&lt;td&gt; 03/13/2039 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/06/2039 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2040 &lt;/td&gt;
&lt;td&gt; 03/11/2040 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/04/2040 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2041 &lt;/td&gt;
&lt;td&gt; 03/10/2041 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/03/2041 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2042 &lt;/td&gt;
&lt;td&gt; 03/09/2042 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/02/2042 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2043 &lt;/td&gt;
&lt;td&gt; 03/08/2043 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/01/2043 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2044 &lt;/td&gt;
&lt;td&gt; 03/13/2044 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/06/2044 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2045 &lt;/td&gt;
&lt;td&gt; 03/12/2045 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/05/2045 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2046 &lt;/td&gt;
&lt;td&gt; 03/11/2046 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/04/2046 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2047 &lt;/td&gt;
&lt;td&gt; 03/10/2047 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/03/2047 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2048 &lt;/td&gt;
&lt;td&gt; 03/08/2048 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/01/2048 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
 
&lt;td&gt; 2049 &lt;/td&gt;
&lt;td&gt; 03/14/2049 02:00:00 &lt;/td&gt;
&lt;td&gt; 11/07/2049 02:00:00 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.dovetailsoftware.com/aggbug.aspx?PostID=210" width="1" height="1"&gt;</content><author><name>sweintraub</name><uri>http://blogs.dovetailsoftware.com/members/sweintraub.aspx</uri></author></entry><entry><title>You got to think like your users</title><link rel="alternate" type="text/html" href="http://blogs.dovetailsoftware.com/blogs/sweintraub/archive/2007/01/30/you-got-to-think-like-your-users.aspx" /><id>http://blogs.dovetailsoftware.com/blogs/sweintraub/archive/2007/01/30/you-got-to-think-like-your-users.aspx</id><published>2007-01-30T16:16:00Z</published><updated>2007-01-30T16:16:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://blogs.dovetailsoftware.com/blogs/mburpo/default.aspx" id="ctl00___ctl00___ctl00_ctl00_bcr_BlogTitle" class="BlogTitle"&gt;Melissa Burpo&lt;/a&gt; in her blog &lt;a href="http://blogs.dovetailsoftware.com/blogs/mburpo/archive/2007/01/26/don-t-lose-your-users-in-abstraction.aspx" title="Don't lose your users in abstraction" target="_blank"&gt;"Don't lose your users in abstraction"&lt;/a&gt; talks about actually making people to fit your abstract users.&amp;nbsp;&amp;nbsp; But you have to think like your users to actually make full use of this.&lt;/p&gt;&lt;p&gt;&amp;nbsp;Two examples popped up this last week which shows you why you need to think like the concrete users you make for the abstractions.&amp;nbsp;&lt;/p&gt;&lt;p&gt;First happened just yesterday when discussing test cases on users.&amp;nbsp;&amp;nbsp; The test writer was writing a test case that email addresses should be unique throughout the system.&amp;nbsp; This may be true for&lt;span style="font-weight:bold;"&gt; '&lt;/span&gt;the Administrator', 'The Agent' and 'The Customer - Dr. Ortho', but may not be true for 'The customer - Patricia Patient'.&amp;nbsp;&amp;nbsp; We all know people who are not sophisticated net users who have one Email address for the whole family (probably your parents).&amp;nbsp;&amp;nbsp; Patricia Patient's husband Paul might also be a customer of the company and they share an email address.&amp;nbsp; Once we stepped back and discussed this fact - it became apparent that we had to think like end customers to avoid putting in a constraint that all contact email addresses must be unique.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Another example came up in a discussion of a third company (which I don't have the solid reference for) who put a constraint in their database that two people from the same family can't be born in the same month of the same year.&amp;nbsp; I think the problems with this is obvious. &amp;nbsp; But what happen was some programmer was trying to put a fraud detection into their system - and coded&amp;nbsp; what worked without thinking what the real world was.&amp;nbsp;&amp;nbsp; When the first family with twins joined the system - oh no.&amp;nbsp;&amp;nbsp; The agent had to enter the twins as being born in different months.&lt;/p&gt;&lt;p&gt;So beyond trying to make your abstract users concrete - you also have to interact with the system as those users would.&amp;nbsp;&amp;nbsp; And every design decision needs to take into account everyone one of these users.&amp;nbsp; If you don't think like them, you're likely to make code that locks them out of the system.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.dovetailsoftware.com/aggbug.aspx?PostID=188" width="1" height="1"&gt;</content><author><name>sweintraub</name><uri>http://blogs.dovetailsoftware.com/members/sweintraub.aspx</uri></author></entry></feed>