DeepMergeClone problem with unsolicited updates

Hi,
I am having an odd problem with deepMergeClone and was hoping someone could point me in the correct direction. I am using Weblogic, WebLogicJTSExternalTransactionController, and TopLink 4.6.
My object model is something like:
Organization
- Address
- Employees(collection of Person)
- Name, etc...
Person
- Address
- Name, etc...
Address
- Region
- Country
- Street1, etc...
The application uses Session Beans that provide TopLink mapped objects to a Servlet layer using Struts. The objects are updated, created, etc. in the Struts actions and then sent to the Session Beans. In the Session Bean we do the something like
ExternalTransactionController controller = session.getExternalTransactionController();
UnitOfWork uow = uow = controller.getActiveUnitOfWork();
uow.readObject(obj); //ensure obj is cached and registered
uow.deepMergeClone(obj);
Here is my problem: In the Struts layer, I read a organization by id for an update.
Updating an organization.address.region will sometimes cause an update to multiple employee's address.region. If you look at the object heirarchy before it gets passed into deepMergeClone, everything looks great.
If I add code to read the address by id for the organization.address and then set the address into the organization, the update seems to work as expected.
Is there some rule about needing to register nested objects prior to deepMergeClone? Any other thoughts on what I might be doing wrong?
Tom

DeepMergeClone is a very useful feature of TopLink as it allows the application to not have to be concerned with what it changes on the client. The client can traverse any relationships of the objects that are serialized to it (provided the relationships were serialized) and make whatever changes to whatever objects it desires. It can then send the entire object graph back to the server which can does not have to be aware of what the client was doing and can just deepMergeClone everything back into a unit of work and commit the changes to the database.
Unfortunately the main benefit of deepMergeClone can also be its biggest issue when something goes wrong. DeepMergeClone traverses "everything" related to an object and merges "everything", for complex objects this can occasionally lead to the merging of changes that were not intended or desired by the client.
Examples can include:
- Transient attributes. These will be serialized as null so will be merged as null into the unit of work causing incorrect updates to null.
- Duplicate objects and loss of object identity. Since TopLink is not running on the client, it is possible for the client to violate object identity through retrieving two separately serialized objects from the server that contain relationships to the same object. If these two objects are then related and serialized back to the server and deepMergeClone'd, TopLink will be given two different versions of the same object, this object can be merged twice and one copy can overwrite the other copy. This may be what is occurring with the problem at the start of this thread.
There is another thread with a similar issue that also links to another thread that has a good description of each of the unit of work merge APIs.
Re: 1-M deepMergeClone leaves old items in DB
In general deepMergeClone is a very useful feature, and if you are using it successfully definitely don't stop using it. But if you commonly experience problems, or performance issues, you may wish the consider one of the other merge APIs that give the application more control over what is and is not merged.
If you are still experiencing the problem and have verified that you are not violating object identity, you will probably need to contact technical support to have them investigate your issue in more detail.

Similar Messages

  • Problem with an update page.

    I have a problem with an update page on my website
    Here's how it work
    values are defualted in from the advert table  - this works fine
    I should then be able to change the fields and click on the update button
    This works fine but ONLY when the O_year field is populated. 
    There doesn't seem to be anything special about the O_year field
    I thought spry text validation would of been causing the issues, but I removed them and have the same problem.
    For some reason the POST_MMupdate value is not being set to 'form4', which it is doing if O_year is set.
    Please can someone have a look at this, code,
    Also, is there a way of 'stepping through' dreamweaver code to debug it?
    Thanks
    Adam
    $colname_Advert = "-1";
    if (isset($_GET['advert_id'])) {
      $colname_Advert = $_GET['advert_id'];
    mysql_select_db($database_guitarswap_db, $guitarswap_db);
    $query_Advert = sprintf("SELECT * FROM advert WHERE advert_id = %s", GetSQLValueString($colname_Advert, "int"));
    $Advert = mysql_query($query_Advert, $guitarswap_db) or die(mysql_error());
    $row_Advert = mysql_fetch_assoc($Advert);
    $totalRows_Advert = mysql_num_rows($Advert);
    if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form4"))
        //Сheck that we have a file
    if((!empty($_FILES["PictureLocation"])) && ($_FILES['PictureLocation']['error'] == 0))
          //Check if the file is JPEG image and it's size is less than 350Kb
          $filename = basename($_FILES["PictureLocation"]["name"]);
          $ext = substr($filename, strrpos($filename, '.') + 1);
          if (($ext == "jpg") && ($_FILES["PictureLocation"]["type"] == "image/jpeg") &&
        ($_FILES["PictureLocation"]["size"] < 350000))
            //Determine the path to which we want to save this file
              $newname = dirname(__FILE__).'/upload/'.$filename;
              //Check if the file with the same name is already exists on the server
              if (!file_exists($newname))
                //Attempt to move the uploaded file to it's new place
                if ((move_uploaded_file($_FILES['PictureLocation']['tmp_name'],$newname)))
                       // echo "It's done! The file has been saved as: ".$newname;
                else
                       // echo "Error: A problem occurred during file upload!";
            else
                 // echo "Error: File ".$_FILES["PictureLocation"]["name"]." already exists";
          else
             // echo "Error: Only .jpg images under 350Kb are accepted for upload";
        else
         // echo "Error: No file uploaded";
        $filename=$row_Advert['PictureLocation'];
        // set default opentoalloffers
    if (!isset($_POST['checkopentoalloffers']))
        $_POST['checkopentoalloffers'] = 'n';
      $updateSQL = sprintf("UPDATE advert SET PictureLocation=%s, O_Make=%s, O_Model=%s, O_Country=%s, O_Year=%s, O_Colour=%s, O_Body=%s, O_Neck=%s, O_Fingerboard=%s, O_Pickups=%s, `value`=%s, `condition`=%s,  W_Make=%s, W_Model=%s, W_Country=%s, W_Year=%s, W_Colour=%s, W_Body=%s, W_Neck=%s, W_Fingerboard=%s, W_Pickups=%s, Comments=%s, opentoalloffers=%s, ChangeFlg = %s  WHERE advert_id=%s",
                           GetSQLValueString($filename, "text"),
                           GetSQLValueString($_POST['O_Make'], "text"),
                           GetSQLValueString($_POST['O_Model'], "text"),
                           GetSQLValueString($_POST['O_Country'], "text"),
                           GetSQLValueString($_POST['O_Year'], "date"),
                           GetSQLValueString($_POST['O_Colour'], "text"),
                           GetSQLValueString($_POST['O_Body'], "text"),
                           GetSQLValueString($_POST['O_Neck'], "text"),
                           GetSQLValueString($_POST['O_Fingerboard'], "text"),
                           GetSQLValueString($_POST['O_Pickups'], "text"),
                           GetSQLValueString($_POST['value'], "int"),
                           GetSQLValueString($_POST['condition'], "text"),
                           GetSQLValueString($_POST['W_Make'], "text"),
                           GetSQLValueString($_POST['W_Model'], "text"),
                           GetSQLValueString($_POST['W_Country'], "text"),
                           GetSQLValueString($_POST['W_Year'], "date"),
                           GetSQLValueString($_POST['W_Colour'], "text"),
                           GetSQLValueString($_POST['W_Body'], "text"),
                           GetSQLValueString($_POST['W_Neck'], "text"),
                           GetSQLValueString($_POST['W_Fingerboard'], "text"),
                           GetSQLValueString($_POST['W_Pickups'], "text"),
                           GetSQLValueString($_POST['Comments'], "text"),
                           GetSQLValueString($_POST['checkopentoalloffers'], "text"),
                           GetSQLValueString('y', "text"),
                           GetSQLValueString($_POST['advert_id'], "int"));
      mysql_select_db($database_guitarswap_db, $guitarswap_db);
      $Result1 = mysql_query($updateSQL, $guitarswap_db) or die(mysql_error());
        $updateGoTo = "Member2.php";
         if (isset($_SERVER['QUERY_STRING'])) {
           $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
           $updateGoTo .= $_SERVER['QUERY_STRING'];
         header(sprintf("Location: %s", $updateGoTo));
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <link href="Layout3.css" rel="stylesheet" type="text/css" /><!--[if IE 5]>
    <style type="text/css">
    /* place css box model fixes for IE 5* in this conditional comment */
    .twoColFixLtHdr #sidebar1 { width: 230px; }
    </style>
    <![endif]--><!--[if IE]>
    <style type="text/css">
    /* place css fixes for all versions of IE in this conditional comment */
    .twoColFixLtHdr #sidebar1 { padding-top: 30px; }
    .twoColFixLtHdr #mainContent { zoom: 1; }
    /* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
    </style>
    <![endif]-->
    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
    <link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    body {
        background-color: #FFF;
        margin-left: 20px;
    .twoColFixLtHdr #container #main3 #form1 div fieldset {
        border: thin ridge #CCC;
    -->
    </style>
    <script type="text/javascript">
    <!--
    function MM_goToURL() { //v3.0
      var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
    //-->
    </script>
    <link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="twoColFixLtHdr">
    <div id="container">
      <div id="header">
        <div id="Righty">
          <ul id="MenuBar2" class="MenuBarHorizontal">
        <li><a href="index.php">Search</a>      </li>
        <li><a href="Member2.php">Members</a></li>
      </ul>
      <p> </p>
    </div>
    <span id="LoginDiv">
        <?php
          if (isset($_SESSION['MM_Username']))
            echo "hello ". $_SESSION['MM_Username']. "";
            echo " <a href='Logout.php'>Log out</a> ";
        else
            echo "
                <a href='Login.php'>Login</a> / <a href='Register.php'>Register</a>
        ?>
        </a></span>
    <div id="Middle">
      <h1 align="center">GuitarSwap</h1>
    </div>
      </div>
      <div id="sidebar1">
        <h4>Members Area</h4>
        <ul id="MenuBar1" class="MenuBarVertical">
          <li><a href="Member2.php">My Adverts</a></li>
          <li><a href="NewAdvert.php">Create new Advert</a></li>
          <li><a href="UpdateUserDets.php">My Account</a></li>
        </ul>
        <h3>  </h3>
      </div>
      <div id="mainContent">
        <h4>Update Advert</h4>
        <!-- end #mainContent -->
      </div>
      <!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats -->
      <div id="main3">
        <div id="main">
          <fieldset>
            <legend>Please update advert details and confirm</legend>
            <form action="<?php echo $editFormAction; ?>" enctype="multipart/form-data" method="post" name="form4" id="form4">
              <input type="hidden" name="advert_id" value="<?php echo $row_Advert['advert_id']; ?>" />
              <p></p>
              <table width="650" align="center">
                <tr valign="baseline">
                  <td width="17" rowspan="15" valign="middle" nowrap="nowrap"><?php echo "<img src='upload/" .$row_Advert['PictureLocation']."' width='64' height='180'/>" ?></td>
                  <td width="133" align="right" nowrap="nowrap"> </td>
                  <td width="240" align="center" bgcolor="#CCCCCC"><strong>Offered</strong></td>
                  <td width="240" align="center" bgcolor="#CCCCCC"><strong>Wanted</strong></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Make:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Make" type="text" value="<?php echo $row_Advert['O_Make']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Make" type="text" value="<?php echo $row_Advert['W_Make']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Model:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Model" type="text" value="<?php echo $row_Advert['O_Model']; ?>" size="30" maxlength="30" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Model" type="text" value="<?php echo $row_Advert['W_Model']; ?>" size="30" maxlength="30" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Country:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Country" type="text" value="<?php echo $row_Advert['O_Country']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Country" type="text" value="<?php echo $row_Advert['W_Country']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Year:</strong></td>
                  <td bgcolor="#CCFFCC"><span id="sprytextfield1">
                  <input name="O_Year" type="text" value="<?php echo $row_Advert['O_Year']; ?>" size="4" maxlength="4" />
    <span class="textfieldInvalidFormatMsg">Invalid format.</span><span class="textfieldMinValueMsg">The entered value is less than the minimum required.</span><span class="textfieldMaxValueMsg">The entered value is greater than the maximum allowed.</span></span></td>
                  <td bgcolor="#CCFFFF"><span id="sprytextfield2">
                  <input name="W_Year" type="text" value="<?php echo $row_Advert['W_Year']; ?>" size="4" maxlength="4" />
    <span class="textfieldInvalidFormatMsg">Invalid format.</span><span class="textfieldMinValueMsg">The entered value is less than the minimum required.</span><span class="textfieldMaxValueMsg">The entered value is greater than the maximum allowed.</span></span></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Colour:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Colour" type="text" value="<?php echo $row_Advert['O_Colour']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Colour" type="text" value="<?php echo $row_Advert['W_Colour']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Body:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Body" type="text" value="<?php echo $row_Advert['O_Body']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Body" type="text" value="<?php echo $row_Advert['W_Body']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Neck:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Neck" type="text" value="<?php echo $row_Advert['O_Neck']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Neck" type="text" value="<?php echo $row_Advert['W_Neck']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Fingerboard:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Fingerboard" type="text" value="<?php echo $row_Advert['O_Fingerboard']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Fingerboard" type="text" value="<?php echo $row_Advert['W_Fingerboard']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Pickups:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="O_Pickups" type="text" value="<?php echo $row_Advert['O_Pickups']; ?>" size="30" maxlength="15" /></td>
                  <td bgcolor="#CCFFFF"><input name="W_Pickups" type="text" value="<?php echo $row_Advert['W_Pickups']; ?>" size="30" maxlength="15" /></td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Condition:</strong></td>
                  <td bgcolor="#CCFFCC"><label for="condition">
                    <select name="condition" size="1" id="condition">
                      <option selected="selected" value="" <?php if (!(strcmp("", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>---select---</option>
                      <option value="immaculate" <?php if (!(strcmp("immaculate", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>immaculate</option>
                      <option value="excellent" <?php if (!(strcmp("excellent", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>excellent</option>
                      <option value="good" <?php if (!(strcmp("good", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>good</option>
                      <option value="well used" <?php if (!(strcmp("well used", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>well used</option>
                      <option value="poor" <?php if (!(strcmp("poor", $row_Advert['condition']))) {echo "selected=\"selected\"";} ?>>poor</option>
                  </select>
                  </label></td>
                  <td bgcolor="#FFFFFF"> </td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Value:</strong></td>
                  <td bgcolor="#CCFFCC"><span id="sprytextfield3">
                  <input name="value" type="text" value="<?php echo $row_Advert['value']; ?>" size="11" maxlength="11" />
    <span class="textfieldInvalidFormatMsg">Invalid format.</span></span></td>
                  <td bgcolor="#FFFFFF"> </td>
                </tr>
                <tr valign="baseline">
                  <td align="right" valign="top" nowrap="nowrap"><strong>Comments:</strong></td>
                  <td bgcolor="#CCFFCC"><textarea name="Comments" cols="25" rows="3"><?php echo $row_Advert['Comments']; ?></textarea></td>
                  <td bgcolor="#FFFFFF"> </td>
                </tr>
                <tr valign="baseline">
                  <td nowrap="nowrap" align="right"><strong>Picture location</strong></td>
                  <td bgcolor="#CCFFCC"><label for="checkopentoalloffers"></label>                <input type="file" name="PictureLocation" value="<?php echo $row_Advert['PictureLocation']; ?>" size="20" /></td>
                  <td bgcolor="#FFFFFF"> </td>
                </tr>
                <tr valign="baseline">
                  <td height="26" align="right" nowrap="nowrap"><strong>Open to all offers:</strong></td>
                  <td bgcolor="#CCFFCC"><input name="checkopentoalloffers" type="checkbox" id="checkopentoalloffers" value="y" <?php if (!(strcmp($row_Advert['opentoalloffers'],"y"))) {echo "checked=\"checked\"";} ?> /></td>
                  <td bgcolor="#FFFFFF"> </td>
                </tr>
              </table>
              <p> </p>
              <div id="submitdiv">
                <input type="hidden" name="MM_update" value="form4" />
                <input name="submit button" type="submit" id="submit button" value="Update Advert" />
              </div>
              <div id="exitdiv">
                <label for="button15"></label>
                <input name="button" type="button" id="button15" onclick="MM_goToURL('parent','Member2.php');return document.MM_returnValue" value="Exit" />
                <label for="button16"></label>
              </div>
              <p> </p>
            </form>
          </fieldset>
          <script type="text/javascript">
    var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "integer", {validateOn:["blur"], minValue:1900, maxValue:2010, isRequired:false});
    var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "integer", {validateOn:["blur"], minValue:1900, maxValue:2010});
    var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2", "integer", {minValue:1900, maxValue:2010, validateOn:["blur"], isRequired:false});
    var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3", "currency", {validateOn:["blur"], isRequired:false});
          </script>
          <br class="clearfloat" />
      <!-- end #container -->
    </div></div></div>
    <script type="text/javascript">
    <!--
    var  = new Spry.Widget.MenuBar("", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    var MenuBar2 = new Spry.Widget.MenuBar("MenuBar2", {imgDown:"../SpryAssets/SpryMenuBarDownHover.gif", imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    //-->
    </script>
    </body>
    </html>
    <?php
    mysql_free_result($Advert);
    if (is_resource($Result1)) mysql_free_result($Result1);
    ?>

    Please note,
    Removing I investigated spry a little more, in the end I settled for removing spry altogether,
    Maybe it was because the text field in a $GET (for the default) AND a $PUT (for the update)

  • Problems with System Update 3.14.0019 after installation SP2

    Have you encountered problems with System Update 3.14.0019 after installation SP2 for Windows Vista?
     After this upgrade I view  this error: "An error occurred while gathering user information."
    Thanks for the help

    A known issue.  It wasn't supposed to be supported until SP2 is RTM.  However, look at the stickied post in the forum for some bad news about SU.
    x61s

  • Problems with FlashPlayer Update.

    Problems with FlashPlayer Update.
    after download, install begins, but when the progress bar ends a typical Windows error message displays showing :
    (literal translate from spanish):
    " is not found the enter point of procedure SetDIIDirectoryW into the dinamic Links Library KERNELL32.dll "
    ihave:  windows32, XP +  FlashPlayer Ver: 11.1.102.55 + MozilaFirefox10.0
    flash works ok, but i can't complete a new update since  Version: 11.1.102.55
    please help me, Thanks

    Microsoft Windows XP Professional    Version    5.1.2600  Compilacion 2600
    (looks like old windows98 / 2000 style but it's XP (i choose the old look in display preferences)
    i think it's Service Pack 1  beacause there were problems with SP2 updates with some programs, so this version works Ok with all my software... until now.  i Know there's a SP3 and it is an obsolate OS but i like it and works well in this PC.
    Do you think that it's the problem?  i must install SP3?

  • Problems with gunnerz update

    "Waiting for ICloud" after my Gunnerz update. Any solutions from anyone. Supposedly there's an update coming but I won't hold my breath?

    Microsoft Windows XP Professional    Version    5.1.2600  Compilacion 2600
    (looks like old windows98 / 2000 style but it's XP (i choose the old look in display preferences)
    i think it's Service Pack 1  beacause there were problems with SP2 updates with some programs, so this version works Ok with all my software... until now.  i Know there's a SP3 and it is an obsolate OS but i like it and works well in this PC.
    Do you think that it's the problem?  i must install SP3?

  • Had a problem with newest update and the advice from turingtest2 resolved my problem just to say thanks! Had never used this route before so was less painful than thought it would be again thanks.

    Had a problem with newest update and the advice from turingtest2 resolved my problem just to say thanks! Had never used this route before so was less painful than thought it would be again thanks.

    how can i find out what the fix is that works..please

  • CS4 Problem with Template Updates

    There's another thread on this subject, but I couldn't see any final resolution.
    I'm having a problem with Template Update.
    I  have all pages in site linked to a single template.  I built the template 1st and  then created each page from the template using normal method.
    When  I now make a change to the template, I save the template and it  automatically saves and opens a box to select pages to update. I  do NOT have to use the Updates feature on the top menus, but I have done  that too just to try different things. When I select all the files,  it updates them all, most of them correctly. BUT, one or several of them  will have a NEW Main Content (and sometimes header) superimposed on top  of the existing Main Content (or header). It shifts the page downward and to the right.  By the way, down below the screwed section, the content is all still there and the original template is still intact under the screwed up area.
    To fix it, I create a new page from  the template and start over inserting the Main Content, which is nothing  special, just formatted text.  Next time I update, that same page will  always get screwed up again, but sometimes 1 or more different pages  will also get screwed up in the same way, always with a new nested Main  Content area (on top of the original or sometimes pushed down half a  page).
    I thought it might be because of a nested Main Content in that section of the template, but I see none, or any other abnormal html.  It does not do this to all 20-30 pages, just one every time and one or more random ones.  I see nothing in html different from one page to the next.
    Don't know how to attach documents to this, but I have the template and two of the screwed up pages to send.
    Charlie
    [email protected]

    The site is http://www.michaelchekhov.net
    Public directory is /public_html, but that's the root, so the links below should work.
    These pages are out of their normal directory, so the supporting  links won't work, but you can see the code. Look at the home page and  you can see what all the pages are supposed to look like.
    The template which created the problem with the pages below is at /support/TEMPLATE index.dwt
    The page that consistently fails is called poatool.html - the bad one is at /support/BAD poatool.html
    A 2nd page that failed on that UPDATE is there also - /support/BAD bibliography.html
    The currently working copy of the page that fails everytime is /articles/poatool.html.
    Thanks.
    Charlie

  • Problem with spam update

    Hi,
    I have some problem with SPAM update.
    my SPAM version is 620/patch level is 23 on kernal 620.
    I was upgraded my kernal from 620 to 640.
    after that i downloaded the SPAM (SAPKD64023) from marketplace, and uncar that patch by using sapcar –xvf. After that I went to transaction SPAM and selected  option spam/saint update, then I am getting error called
    *“spam/asint update SAPKD62023 has already been imported successfully”
    *so please tell me how to update SPAM version from 620/23 to 640

    Hi
    I got your question to some level & from 4.7 onwards Basis Abap & Spam/Saint are segregated to one release.
    so for ex- sapkb620**
                  sapka620**
                  sapkd620** & when it comes application
    sapkh470**
    sapke470**
    from the above examples 620 indicates version release of Basis Abap & Spam/Saint
    & 470 indicates Aplications & HR release
    where as you can notice in 4.6b every thing is in on platform
    sapkb460**
    sapka460**
    sapkh460**
    sapka460**
    Thanx & regards,
    Rahul

  • I would like to know is there anybody out there in the community who is not having a problem with the updates.

    I would like to know is there anybody in the community that is not have a problem with the updates.

    That is incorrect. Either you misread or the newspaper you read was wrong. iOS 6.1.2 fixes a bug that caused excessive activity and log entries with Exchange servers.
    http://support.apple.com/kb/DL1639
    The security breach was due to Java-based malware:
    http://www.ft.com/cms/s/0/1fdebce6-7ac8-11e2-915b-00144feabdc0.html

  • HT4993 problem with software update

    I need help how to reslove problems with software update on my iphone 4s.

    Reset your device and try it again: hold down the home button along with the sleep/wake button until you see the apple, then let go.(No data loss)
    Also make sure you have enough free space on the device for the update file - usually requires 2 to 3 times the actual size of the file to be able unpack & install.

  • RSAU461, problem with activating update rules for cube 0csrv_c01

    Hello,
    I have added new fields to data source 0CRM_SRV_PROCESS_H, then changed transfer rules, added characteristics to ODS 0crm_proh, and reactivated update rules 80crm_proh. But now I have problem with second update rules for this cube named 80crm_cnfh. It is not active and all fields in it have red status, error RSAU461, and I cannot activate it.
    What I should do? Should I change somehow that second source for data to my cube (change infosource, ods, rule?)
    Regards
    Radek

    hi
    As said by the Mti u have just changed the info objects in the ods and u need to map them with the specific info objects from the ods.
    double click on the Update rules of the cube and go to the characteristic tab there map the newly added info objects with the IO in the ods.
    Khaja

  • HT4623 Problems with apps updates

    Problems with apps updates

    OK
    Do you have a question?
    If so, then explain your issue in much more detail than "Problems with apps updates" and ask it

  • HT5815 has anyone experienced problems with this update.

    After insaling it I cannot log on to my mac? had to restore to my latest timemachine backup

    Quite a few people have problems with every update. Almost always it is tied to third-party software incompatibility.
    If you run into a problem like that, boot into Safe Mode. If that succeeds, it is definitely a third-party software issue.
    http://support.apple.com/kb/HT1455
    Some company's just can't be bothered making their software compatible with each release.

  • Recent problems with Windows Update with Thinkpad 8

    Since last week I've started having problems with Windows Update on ny Thinkpad 8. It seems to be related with some recent update. At first I received different error codes. As I don't have many programs on my tablet, I refreshed it and set up Windows and Office again. I ran WU, and after the first update (with 100+ updates) WU was working ok. However, after a second set of updates (probably the most recent) I've started receiving error messages again. Most recently I am receiving code 80070002, and the error seems to affect only the installation of Windows Defender definitions through WU -- other WU updates install correctly, and most of the time I can install Windows Defender updates through Windows Defender. I have already tried the Windows Update Diagnostic tool, but the problem persists.

    thanks farby

  • Still the same problem with Live update 2

    I still have the same problem with Live update 2.
    I've downloaded newer Bios update but it's 13 MB... it's obvious that I can not have
    in floppy disk and I'm a little bit  uncomfortable of updating bios from CD-rom .
    But what else can I do, besides updating Bios to get out of this Live update from start-up.
    Should I clear CMOS?

    13mb are you really sure ?
    go here instead.
    http://www.msi.com.tw/program/support/bios/bos/spt_bos_detail.php?UID=436&kind=1
    the download file is around 300kb.
    make sure you get the right file.
    you did not specify if you got L or ILRS.
    also dont use live update.
    get drivers from http://www.nvidia.com instead.

Maybe you are looking for