Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Phonegap sync not keeping synced data

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Phonegap sync not keeping synced data

    Hi,

    I have a disconnected phonegap app that has a list of record, it has a sync button.

    Often (not always) when the button is pressed it sync and show the correct data. But then when you close the app and open it again it still has the data pre-sync and you need to sync again.

    Has anyone ever experienced something like that?


    Code in the button itself:

    Code:
    {dialog.object}.saveListEdits('EVENTS',{rows: 'allRows'});
    {grid.object}.runAction('Refresh Events');

    Code in Refresh Events:

    Code:
    var lObj = {dialog.object}.getControl('EVENTS');
    if(lObj) { 
    if(lObj.listIsDirty()) { 
    alert('Cannot refresh List because it has unsynchronized edits.');
    } else { 
    var options = {
    	keepFocusOnCurrentSelection: true,
    	setFocusToValue: '',
    	refreshDependentLists: true,
    	onlyRefreshDependentLists: false
    };
    {dialog.object}.refreshListData('EVENTS',options);
    }
    };

    #2
    Re: Phonegap sync not keeping synced data

    First... change {grid.object} to {dialog.Object}. {grid.object} works... but is one of those embedded Alpha holes you may fall into one day if Alpha ever decides to clean up code... plus... it just looks bad.

    What may be going on is this. You execute .saveListEdits()... which starts communication with the server. Then you immediately fire off a process that starts messing with the List... while the sync is going on. That sync takes time... you don't know when it's complete... or if it does complete.

    What's the purpose of performing a .refreshListData()? Is it to get data that others may have added to the server... and you want to show in your List?

    Also, you don't specify how you have set the Synchronization Policy for your List. You also don't say which Alpha version/build you're working with.

    As a test, separate the two processes. Have a sync button... and a separate refresh button. Let the sync happen... then close and reopen your app. How is the data? Then Refresh the List. How is your data? It may be a bug... or it may be a timing issue you've introduced.

    Comment


      #3
      Re: Phonegap sync not keeping synced data

      My money is on the timing, it is astounding how much a blink in time can work in our favor!
      NWCOPRO: Nuisance Wildlife Control Software My Application: http://www.nwcopro.com "Without forgetting, we would have no memory at all...now what was I saying?"

      Comment


        #4
        Re: Phonegap sync not keeping synced data

        Originally posted by Davidk View Post
        First... change {grid.object} to {dialog.Object}. {grid.object} works... but is one of those embedded Alpha holes you may fall into one day if Alpha ever decides to clean up code... plus... it just looks bad.

        What may be going on is this. You execute .saveListEdits()... which starts communication with the server. Then you immediately fire off a process that starts messing with the List... while the sync is going on. That sync takes time... you don't know when it's complete... or if it does complete.

        What's the purpose of performing a .refreshListData()? Is it to get data that others may have added to the server... and you want to show in your List?

        Also, you don't specify how you have set the Synchronization Policy for your List. You also don't say which Alpha version/build you're working with.

        As a test, separate the two processes. Have a sync button... and a separate refresh button. Let the sync happen... then close and reopen your app. How is the data? Then Refresh the List. How is your data? It may be a bug... or it may be a timing issue you've introduced.
        Hey,

        Ok thanks for the ideas, I split the buttons now, new data is uploaded to the table from an external event at the end of every day. I will test how the seperate buttons work in a few hours.

        The app is meant to be disconnected at during most of the day, then at the end of the day, it should sync back the changes made to the records on the device and add new records that was added to the table during the day.

        I am on build 4584, Version 12.4.5.0

        In the Sync Policy in the LIST properties, I checked both of the Client-to-server and Server-to-client check boxes.

        I will do test during the day and report back soon. Thanks so much for your help.

        Comment


          #5
          Re: Phonegap sync not keeping synced data

          In the Sync Policy in the LIST properties, I checked both of the Client-to-server and Server-to-client check boxes.
          I believe that if you checked the Server-to-client box then you don't need to run your action 'Refresh Events' at all.
          I think you are probably running a double, full refreshListData() every time you do the saveListEdits().

          If it is a big list, I might just uncheck the Server-to-client box, keep your action 'Refresh Events' but change it to an incremental refresh. In that case, I don't believe that you even have to test if the list is dirty or not because the incremental refresh will not automatically overwrite the dirty rows with data from the server.
          Last edited by jgrannis; 01-18-2018, 10:34 AM.

          Comment


            #6
            Re: Phonegap sync not keeping synced data

            I'd suggest you re-read the details in the Synchronization Policy dialog. If you're offline most of the day... why bother trying to run a Client-to-Server sync... and then a Server-to-Client sync... every time you save data to the List? That just doesn't make any sense. And... there's a really big warning about Server-to-Client syncs... so I'd heed that one.

            Look at the code you posted... and the Sync policy you have set up. You save data changes to your List. Then, because of the Sync policy Alpha automatically tries to sync those List changes to the server. And then you're running a manual .refreshListData()... at the same time Alpha is trying to perform a Server-to-Client sync.

            You've created a giant mess of callbacks. And who knows what Alpha is actually trying to do with all that. Yikes.

            You should turn off both sync policies and look after syncing yourself... then you may know what's going on when.

            You're one full release behind, although I'm never sure if that's a good position or bad... both most likely.

            Comment

            Working...
            X