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



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

Synchronising data - Who's using it and why?

  • Filter
  • Time
  • Show
Clear All
new posts

  • Synchronising data - Who's using it and why?

    From what I can see its history was firstly to enable embedded, then local storage and then disconnected apps - i'm interested if anyone uses it.

    I'm not convinced on this with today's technology. Syncing a users multiple devices with a push yes, like email etc, but a central database, I don't think so. Embedding components should be old news to developers by now, off-line may have one been a big deal but today probably by exception, so who uses it in 2020 and why? I'm building a suite of apps, they run blazingly fast and a small in kb's as I write the SQL for the CRUD, so unless there is a compelling reason, I don't plan to Sync anything, I was trying to think of what other applications in 2020 have to sync stored local data to the database, I don't think I've ever seen the button ever. But I can be convinced otherwise, just thought I'd ask.
    Insanity: doing the same thing over and over again and expecting different results.
    Albert Einstein, (attributed)
    US (German-born) physicist (1879 - 1955)

  • #2
    Offline functionality was one of the main reasons we chose Alpha. We have salesman all over the country that use our app, sometimes in remote locations with poor cell service. Also, sometimes the metal roofs of hardware and other big box stores can cause you to lose cell service. We always want our user to be able to work while offline and then be able to sync when in a better coverage area. Just my two cents.


    • #3
      Same here,
      synchronizing is used to reduce the need of internet, mainly in mobile offline / disconnected app.
      it might also be needed in connected web applications as an example, if you have a data entry form where lot of data needs to be entered, instead on saving back to the table each time, thus making a callback which can be slow and frustrating to the user. an alternative will be to save the info to list and add a "save/synchronize" button that will save the entire list in one shot.


      • #4
        Rusty and Paul, so the need to have fallback when off-line for whatever reason, so the data is currently persisted to local storage in the device or say SQL Lite on the device without the user having any knowledge of really goin on right? So Rusty, I take it you are preloading the necessary data for the agent to make the order, then (if there was no network) you push it to the server database by synchronizing, are your using SQL Lite?. Paul, your a little different from Rusty, it's the volume of data (and maybe from time to time no connection) as saving back to the server is can be slow and frustrating. So you are (or want to) push the CRUD data to the server on a as needed basis to speed thing up, is the correct? - What if it wasn't slow and frustrating, you could just enter it in an instant, just like on Facebook,click and done in an instant, how important would synchronising be to then? To both of you, if you had 3 wishes to maximize your mobile database on the client-side, what would they be? - Now I'm being very serious here, what would the brief be to your developer? I ask this as I'm addressing many things right now that have been a hassle for many people for a long time, and I have decided to address them, in the next few days I will share with you both you some ViewBox tools that radically alter things moving forward, I appreciate your feedback, I know these are weird and difficult times with what's going on in the World right now, but one things has surfaced, the World has had a taste of everyday ecommerce,and they are going to want to keep it that way in the main for for a long time. We need to be ready. - Pete.
        Insanity: doing the same thing over and over again and expecting different results.
        Albert Einstein, (attributed)
        US (German-born) physicist (1879 - 1955)


        • #5
          When we began using Alpha a few years ago, there was no option to persist to the file system, only local storage, which of course is limited to 5 MB. So we did use SQLite in the beginning. If I remember correctly, our developers always had trouble with SQLite and the async nature of the calls. We would frequently run into “The database is already open” errors and transaction queue errors. Every time we wanted to sync, we would dump all the data from SQLite into a list to take advantage of Alpha’s syncing capabilities. This became not the easiest way to develop. After Alpha added functionality to persist to the FileSystem, we have gotten rid of all SQLite in our apps and now just use Lists and Data Cache.

          So to answer your question, when a user logs in he must have network connectivity. All lists and data caches are refreshed. After login, you are correct, a user could hypothetically work all day offline with no knowledge of really what is going on. All data is persisting to the FileSystem. After he finishes a sales call, a sync is performed to the server if network functionality is available. I do alert the user if a sync fails so that he could possibly find a better coverage area and attempt the sync again manually.

          We did have problems when a sales call would become too big (several hundred rows of data for an order and inventory of items). Our app runs on Android, which times out after 50 seconds. Setting the batch size to 1 didn’t help as it was only one parent record with many children. Luckily, Alpha was able to help us out and introduced chunked responses when running a saveListEdits command. Now, when we sync a lot of data at one time, the server responds before every CRUD operation which prevents the client from timing out.

          Not sure about the 3 wishes question. The idea of instant syncing with the server is intriguing, but it absolutely must work when offline. This is something my company absolutely will allow any wiggle room on. Salesman must be able to work when they do not have network connectivity. Selwyn did recommend view boxes to us in the past as lighter options as opposed to lists (especially when we are just trying to display data on the screen and not sync it back with the server). My experience with them is limited but I would like to start using them more. So with all that being said, I suppose my primary wish would be some weird javascript errors when syncing I have been getting, such as “Unexpected end of input” or “Invalid or unexpected token.” They don’t appear to affect the sync so I do not pay them any mind, and I have been unable to reproduce them on a consistent basis to report to Alpha. Besides that, I am not too sure, but am always willing to try new methods and ways of doing things.

          Hope this info is helpful to you Pete.