Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Martin 4 posts 35 karma points
    Dec 11, 2013 @ 22:49
    Martin
    1

    Stuff disappears/is outdated from one day to the other

    Hi guys,

    I've probably read hundreds of threads in this website for more than a year to help me use Umbraco. FYI, I am a complete newbie on web design, have never done anything with html before my company asked me to manage one of their websites. I guess since I am an engineer they just thought I could do this.

    Anyway, I've never encountered a problem in Umbraco that I couldn't handle by just researchiing, except for this one: stuff that I change/update/publish in the website using Backoffice randomly disappear over the night, so a lot of stuff in the content tree and Backoffice gets outdated over the night. Meanwhile, the front end of the website stays updated!

    I finally understood enough of Umbraco to use localhost in my own computer instead of using the server of my company, and this still happens! I've changed computers, systems (XP/Win7), web browsers (Chrome/Firefox), have deleted cache on them all the time, have republished the entire site everytime I change something, and over the night the problem will still happen! It's driving me crazy! And it doesn't happen with everything I change: only a part of it, and it seems so random! I'm talking about content nodes, template nodes, property nodes, a lot of nodes just disappearing!

    I found this file called "Umbraco.sdf" in the App_Data/ folder, which is a database file. It seems it stores tree the nodes, is that correct? Well, when I try to see some nodes that have disappeared using Microsoft WebMatrix, for example, looking at cmsPropertyTypeGroup (a property disappeared recently), Webmatrix crashes.

    I have no idea what's going on. I opened a question in StackOverflow too: <http://stackoverflow.com/questions/20469040/umbraco-nodes-and-content-are-disappearing-or-outdated>. I am currently losing hope since nobody else reports this issue.

    Thanks in advance to anyone who can help this poor soul.

     

  • Sebastiaan Janssen 5045 posts 15476 karma points MVP admin hq
    Dec 12, 2013 @ 08:17
    Sebastiaan Janssen
    0

    So it sounds like you're using SQL CE for your site (check in the web.config if umbraco.sdf is indeed referred to).

    There's a known issue with SQL CE that it sometimes doesn't flush in-memory data to disk, whereas whenever you publish something in Umbraco it's immediately persisted in the umbraco.config file.
    However, SQL CE only persists data in certain intervals (I don't know what the default is) and between persisting the data it keeps it in memory. Sometimes things happen, especially (as it sounds like in your case) an automated recycle of the application pool in IIS happens. When SQL CE hasn't stored the data, it disappears with an app pool recycle.

    What you can do is add something to the connection string, which will look a bit like this currently: Data Source=|DataDirectory|\Umbraco.sdf. Make sure to add a flush interval in it like so Data Source=|DataDirectory|\Umbraco.sdf;Flush Interval=1;. This tells SQL CE to persist data to disk every second and should eliminate the problems you're seeing.

    If that doesn't help I would advise and upgrade to SQL server (the express edition is free).

  • Martin 4 posts 35 karma points
    Dec 12, 2013 @ 13:28
    Martin
    0

    Thanks for such a fast and thoughtful reply! It seems you guys weren't kidding about the friendliness of this community :) .

    I use SQL CE indeed. I didn't know about this issue and hadn't seen it mentioned before, but then again, I'm a newbie.

    However, the connection string is already set as connectionString="Data Source=|DataDirectory|\Umbraco.sdf;Flush Interval=1;" in the Web.config file. Now I think I can officially go nuts.

    I'll try SQL express instead, as you suggested. Since I have no idea how to do that, I'll follow the instructions from this post: http://our.umbraco.org/forum/core/general/39643-Migrating-from-SQL-CE-to-Express

    It seems I'm still hundreds of hours away from understanding most of the stuff that goes on in this web design environment.

    My most sincere thanks

  • Sebastiaan Janssen 5045 posts 15476 karma points MVP admin hq
    Dec 12, 2013 @ 15:36
    Sebastiaan Janssen
    100

    Ouch, that's an unfortunate issue and I'm not 100% convinced that it's a SQL CE issue. But do give SQL Express a try, basically it's a matter of using the Upgrade tool in WebMatrix and then manually updating the connection string in Umbraco's web.config.

    If you're doing all of this for the first time it can be difficult and a little bit daunting, but make sure to post additional questions in that topic, it might help the next person with the same task out.

  • Martin 4 posts 35 karma points
    Dec 13, 2013 @ 13:45
    Martin
    0

    I couldn't migrate the database. Following the "Migrate" option in Webmatrix, the following error occurred:

    CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

       at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

       at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout)

       at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)

       at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()

       at Microsoft.Web.Deployment.SqlInfo.CreateDatabase(DbCommand cmd)

       at Microsoft.Web.Deployment.DBInfo.CreateDatabase(Int32 timeout)

       --- End of inner exception stack trace ---

       at Microsoft.Web.Deployment.DeploymentObject.HandleRetryException(DeploymentSyncContext syncContext, Int32& attempts, Boolean& retry, DeploymentRetryException ex, DeploymentOperationKind operationKind)

       at Microsoft.Web.Deployment.DeploymentObject.Add(DeploymentObject source, DeploymentSyncContext syncContext)

       at Microsoft.Web.Deployment.DeploymentSyncContext.HandleAdd(DeploymentObject destObject, DeploymentObject sourceObject)

       at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)

       at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)

       at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)

       at Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)

       at Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable`1 syncPassId, String syncSessionId)

       at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)

       at Microsoft.Web.Deployment.DeploymentObject.SyncTo(String provider, String path, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)

       at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentWellKnownProvider provider, String path, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions)

       at Microsoft.WebMatrix.DatabaseManager.Client.SqlCeHelper.<>c__DisplayClass8.b__7(Object sender, DoWorkEventArgs eventArgs)

       at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)

       at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

    I tried the instructions on that link I posted myself before, but also to no success. I don't know if I committed errors along the process, it's all not clear enough for me. The only way I see to go on now is to rewrite everything in my website, one thing by one, node by node, starting by using SQL Express instead of SQL CE.

    So now I'm in hell. I can't even do the simplest things. Don't even know if what I'm trying to do (switching database) is going to fix my problem (things disappearing for no understandable reason). Don't even understand the mechanism that makes this all work or fail. I'm very frustrated.

  • Martin 4 posts 35 karma points
    Dec 13, 2013 @ 14:35
    Martin
    0

    I'm so frustrated I'm just idle here, thinking about how in the last 2 years I've spent hours and hours manually copying html and css codes of the website after I updated it in case the content would disappear over the night, and replacing it in such case. I can't copy/paste the button commands, nodes and a lot of other stuff I have to do in Umbraco Backoffice to replace missing content, so this has been all very costly to me. The /Media/ folder in the server must have thousands of twin or triplet files that I uploaded every time this happened and which I'll never see in the Backoffice.

  • Funka! 398 posts 661 karma points
    Oct 24, 2014 @ 19:36
    Funka!
    0

    This may be related: http://issues.umbraco.org/issue/U4-4621

    (Quick summary: still is an open issue with SQL CE.)

Please Sign in or register to post replies

Write your reply to:

Draft