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

Additional Documentation on Server Synchronization Log?

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

    Additional Documentation on Server Synchronization Log?

    I've looked at the release notes on Disconnected Applications and have implemented (i.e. checked some boxes and filled out a property sheet) one in my mobile application (SQL table for the log, I let Alpha create it).

    However, the documentation seems rather sparse on what exactly the log does, when it fires and how one is supposed to use it. If the purpose (among other things) is to try to prevent duplicate synchronization then does Alpha USE the log itself to prevent them or are WE supposed to inspect the log to see if the current call is a duplicate or something else (Alpha maybe logs only duplicates)? When exactly does Alpha post an entry? I've inspected the logs and entries seem to be made in fits and starts even though there's a rather large continuous stream of synch requests from my app. Sometimes I'll get a run and then nothing, then entries will start up again. I don't know whether something in my code is intermittently preventing logging, something in Alpha is buggy (after all, I guess, this is a PRE-release feature) or if, possibly, entries are only made in certain circumstances and Alpha is taking care of things behind-the-scenes.

    I've also read that an "extra callback" fires after the mobile device receives confirmation of the synch, and I've tried to trap it by putting alerts in javascript events, but it's like trying to snap a picture of Bigfoot (at least to me). :)

    Any pointers to the wonderful world of hidden Alpha documentation, or thoughts on this topic, would be gratefully received.

    #2
    Re: Additional Documentation on Server Synchronization Log?

    This is a PRO feature . To get right and current info you could buy Success Hours from Alpha Software here. It is a reliable way to get info how this feature works in practice.

    Comment


      #3
      Re: Additional Documentation on Server Synchronization Log?

      Well, at least for the time being, I've got PRO so I've got this feature.

      However, I find it difficult to believe that in order to get documentation on it I need to pay extra. If true then it would be an interesting business model: Unbundle a product and its documentation. :) I'm not saying there's no room for paid support, but documentation, IMO, should come with the purchase.

      My guess is you're saying that the documentation is not yet complete so, in the meantime, I could purchase the information. At least I hope that's what you're saying.

      Thanks for posting a response to my question.

      Comment


        #4
        Re: Additional Documentation on Server Synchronization Log?

        I know Alpha is working on an entirely NEW help system so perhaps - you will be able to find the info there when it is released.
        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


          #5
          Re: Additional Documentation on Server Synchronization Log?

          There is no need to buy Success Hours from Alpha for an explanation of a feature. The notes in the pre-release section... Build 4608: List with Detail View - Synchronizing Data - Synchronization Log Table ... explain the process.

          The Server Synchronization Log option is an automated process feature that you can turn on. If you turn it on, Alpha does what it needs to do in order to determine if a duplicate update is taking place.

          Let's say you update your data client-side... and a sync is being performed. The server receives the sync command but the connection is lost to your client. The Client never got confirmation that the sync took place.

          Now the client is back online and it thinks it needs to sync. Alpha automatically checks the server sync log, figures out what it needs to do and straightens everybody out.

          Normally the sync log table is cleared out after a good sync. But... if you really want to be safe... you can keep the log entries... and clear them out as you wish.

          I don't think there's anything to do on your part. I know this is just para-phrasing what's written in the pre-releases notes... but does that help?

          Comment


            #6
            Re: Additional Documentation on Server Synchronization Log?

            David:

            Can you point me to where this is said in the Notes? I'm using this link: http://downloads.alphasoftware.com/A...DetailView.htm and I don't see anywhere mention that it's an automated process, we don't need to do anything, entries are made only when needed but we can choose to keep them. I'm not doubting you, I just don't see it. Your explanation would certainly help a lot (with the proviso that I'd like to know how to keep the entries, at least for a while), but what would REALLY help is learning where you gleaned all the information you provided.

            Thanks as always (and I AM eventually going to get back to that "Time write-conflict issue" :)).

            Comment


              #7
              Re: Additional Documentation on Server Synchronization Log?

              I would also like to know how automatic this feature really is? Automatic entry to log? No automatic delete of log? Is there some undocumented automation feature yet?

              Comment


                #8
                Re: Additional Documentation on Server Synchronization Log?

                It's the same info here... http://downloads.alphasoftware.com/A...easenotes.html

                Again, I was para-phrasing what I read. You write... "entries are made only when needed" but that's not quite right. Each time a row sync request is made an entry goes into the log. When the server next syncs with the client the sync log is cleared out... unless you uncheck that property "Clear Sync Log Tabe...". Then, all entries in the sync log are kept and it's up to you to delete them whenever you feel safe doing so... or when the table is getting too large, etc.

                In my tests for sync log entries, with the "Clear Sync Log Table" property turned off, I've made a change for a singe List row... and an entry goes into the Sync Log table. As I make changes to multiple rows in a List... and then sync... an entry for each row goes into the sync log table. They'll stay there until I delete them.

                This is just my understanding from what I read. If the client sends a JSON package with updates that are now duplicates because the client had gone offline, and the sync table is in place, Alpha checks the JSON package against the sync table. Matched entries means a duplicate and the sync is for that row is ignored.

                It's like the server is saying... first time around... ok... JSON package received... all updates done... entries made in the sync log. Let me know all is ok... hello? client? oh well... I guess we lost the connection.

                Then you continue making changes on the client side... you're now back online and send a JSON package to sync. The server gets the package... and says... ok... lets update... but... wait a second... I have a Sync Log to check... let's see now... I've got 4 updates to do in my JSON package... are you in the Sync Log update #1? Yup... you're there... so no update for you. The rest of you 3 three updates are cleared to go.

                Comment


                  #9
                  Re: Additional Documentation on Server Synchronization Log?

                  David: The information is not the same in your link as mine. Mine leads to a "Building Disconnected Applications" note, yours to the notes on the pre-release. There is no mention of a "Clear Sync Log" flag in the former (and, frankly, I don't even see that option in my installed pre-release, I may need to do an update which is something I didn't even think of).

                  Thus, in essence, you have given me a pointer I wanted: To documentation in addition to the link I have. I'll go study the pre-release notes.

                  Thanks very much.

                  Comment


                    #10
                    Re: Additional Documentation on Server Synchronization Log?

                    Charles: Yup, that occurred to me but given that this is still a prerelease feature, information about it probably won't be included in the formal documentation for some time.

                    Thanks.

                    Comment


                      #11
                      Re: Additional Documentation on Server Synchronization Log?

                      In the Pre-Release notes go to this sub-section of the Features section... Build 4608: List with Detail View - Synchronizing Data - Synchronization Log Table
                      You'll see the "Clear sync log" stuff. If you've got that pre-release build the "Clear sync log" property will be revealed when you turn on the property for using the log.

                      If something goes into the Pre-release notes, then it's pretty much documented for what we need to know to work with it. I don't think Alpha is going to tell us about a feature in the pre-release notes... but not tell us how to use it... if there's something we need to know about using it. If a feature has been added that we can just turn on or off, and then not have to do anything else, like the Sync Log, then that's all we really have to know. If there are options, methods, properties, etc. of a feature that we can and should take advantage of... that stuff is really well documented.

                      Comment


                        #12
                        Re: Additional Documentation on Server Synchronization Log?

                        Originally posted by Davidk View Post
                        It's the same info here... http://downloads.alphasoftware.com/A...easenotes.html

                        Again, I was para-phrasing what I read. You write... "entries are made only when needed" but that's not quite right. Each time a row sync request is made an entry goes into the log. When the server next syncs with the client the sync log is cleared out... unless you uncheck that property "Clear Sync Log Tabe...". Then, all entries in the sync log are kept and it's up to you to delete them whenever you feel safe doing so... or when the table is getting too large, etc.

                        In my tests for sync log entries, with the "Clear Sync Log Table" property turned off, I've made a change for a singe List row... and an entry goes into the Sync Log table. As I make changes to multiple rows in a List... and then sync... an entry for each row goes into the sync log table. They'll stay there until I delete them.

                        This is just my understanding from what I read. If the client sends a JSON package with updates that are now duplicates because the client had gone offline, and the sync table is in place, Alpha checks the JSON package against the sync table. Matched entries means a duplicate and the sync is for that row is ignored.

                        It's like the server is saying... first time around... ok... JSON package received... all updates done... entries made in the sync log. Let me know all is ok... hello? client? oh well... I guess we lost the connection.

                        Then you continue making changes on the client side... you're now back online and send a JSON package to sync. The server gets the package... and says... ok... lets update... but... wait a second... I have a Sync Log to check... let's see now... I've got 4 updates to do in my JSON package... are you in the Sync Log update #1? Yup... you're there... so no update for you. The rest of you 3 three updates are cleared to go.
                        OK, but when does Alpha clear the log out? If it's using that log to check for duplicates but clears out existing entries, how does it know that a JSON package received later is a duplicate? What is left to check against?

                        Frankly, I'm sure I just haven't thought the process out fully, but from my reading of (now both) documents, it is sort of left open-ended whether the process is automatic or not. I still haven't seen anywhere it is said that the process IS automatic, my inference from the statement that a second callback is fired was that somehow Alpha expected US to use that to check the log.

                        Hey, I can't blame Alpha. This is a prerelease and they don't want any responsibility for problems encountered should it be used in production. That's fine, but I'm just going to have to reverse-engineer (i.e. think through) this whole process to see if I can figure it out.

                        Edit: Naturally, right after hitting "Submit", I realized that if there's going to be a duplicate synch then it will come in next. So once a package is received and Alpha checks to see if it's a duplicate, if it isn't, then it can clear the log table of previous entries and store the new one. Of course if the new one IS a duplicate then Alpha can ignore it but it can't clear the log table until the next non-duplicate package is received.

                        I think.
                        Last edited by nlk10010; 02-06-2016, 02:07 PM.

                        Comment


                          #13
                          Re: Additional Documentation on Server Synchronization Log?

                          Originally posted by Davidk View Post
                          In the Pre-Release notes go to this sub-section of the Features section... Build 4608: List with Detail View - Synchronizing Data - Synchronization Log Table
                          You'll see the "Clear sync log" stuff. If you've got that pre-release build the "Clear sync log" property will be revealed when you turn on the property for using the log.
                          No I see now, being an Alpha "newbie" I didn't realize there are nightly (or let's say frequent) prerelease builds. I haven't downloaded the prerelease in some time so it makes sense I wouldn't have all the latest features.

                          For reasons that I prefer not to reveal (:)) I will not be downloading the newer prereleases, at least just yet. Thank You.

                          Comment


                            #14
                            Re: Additional Documentation on Server Synchronization Log?

                            OK, but when does Alpha clear the log out? If it's using that log to check for duplicates but clears out existing entries, how does it know that a JSON package received later is a duplicate? What is left to check against?
                            If you're set up to Clear the log entries then, when the server completes the updates and tells the client... the server gets back a response... and clears the table. If there is no response, then it's possible the "I'm finished with my updates" package was never received by the client and the server leaves the Sync Log alone. The client rows are left in kind of a "dirty" sync state. When the client sends the next JSON package of updates, including the "dirty" ones, Alpha checks the package against the Sync Log.

                            If you've set the Sync Log to never clear... then you'll see all entries... until you get into the table and clear them out... or at least clear out the ones you feel are good to go. E.g. not today's.

                            Comment


                              #15
                              Re: Additional Documentation on Server Synchronization Log?

                              Right, that's the function of the second callback: If it's received by the server then the log can be cleared. Otherwise, the next package should contain the rows from the prior sync. Those won't be updated (the remaining ones will) but the server STILL has to wait for the callback from the second attempt before it clears the log.

                              Thanks, talking this stuff out sure helps me understand stuff I can't take advantage of yet. :)

                              Comment

                              Working...
                              X