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

Forced Connection - Disconnected application

  • Filter
  • Time
  • Show
Clear All
new posts

  • Forced Connection - Disconnected application

    I was thinking that I would like to build a disconnected application that remains disconnected UNLESS I choose to sync. How would you set this up?
    My thoughts are that I would build a "local storage" sqlLite db matching the one on the server, THEN have a sync button, but I am not sure of all of the options associated with the sync button itself.

    I want the application to work as fast as possible, so I want to use the local storage for that - then lets play the waiting game when we choose to sync edits.

    So, again, how would you structure this? I am planning of course on using a list control. What are the caveats?
    Can I build the sql lite db based off of the existing db I already have in place?
    can I force it to stay offline until - the user WANTS to sync? Can I warn of a slow sync possible due to large edits?

    I have been reading, but would like some thoughts from people who have built similar!

    ~Thanks in advance!
    NWCOPRO: Nuisance Wildlife Control Software My Application: "Without forgetting, we would have no memory at what was I saying?"

  • #2
    Re: Forced Connection - Disconnected application

    To learn with, I would do offline with traditional ux lists and make the save to "local storage". Do this because it's the simplist method and you can change it later. It's good to learn the basics first. Depending on the application and dataset, you may want to use "File Storage" or sqlLite later.

    By default, in disconnected mode, your lists do not automatically update with the server (for example, when someone save a new record). You have to add a button with a command, and you can select from the premade buttons. In Defined Controls in the builder, you will see "List Detail View Buttons", then you will see "Sychronize current row ...." or "Syncronize - push all....". Choose the current row method.

    Syncronization of regular lists is pretty straightforward. BUT....once you know that it works, then the hard part starts and you have to customize it for your application. Images are a whole different deal and you really need to consider the ramifications of how you impliment your image solution....and then do a bunch of field testing.

    If you want help, we can do some training on it. Let me know.


    • #3
      Re: Forced Connection - Disconnected application

      I was thinking I would start with the persistent login - then load a ux and create a sqllite db on the device based on the existing Mysql db.
      What I want to do is is have it work entirely OFFLINE then sync the sqllite db on the device with the mysql backend only when the user "syncs" manually - and a connection is present

      I am going to build a small test db build the application and do a PGB to test it, I wonder if I could I test it with the mobile shell?
      NWCOPRO: Nuisance Wildlife Control Software My Application: "Without forgetting, we would have no memory at what was I saying?"


      • #4
        Re: Forced Connection - Disconnected application

        I would start more simply to understand how it all works. Then build from there. Persistant login and the sqlLite way of doing things is great, but I would cover the basics first. Then, you can add in features as needed. But if you want to jump right in to the deep end of the pool go for it! :)

        Don't test with any kind of shell. Build it from scratch so you understand it. If they had a prebuilt system to just hand you that would be great, but they don't. We have talked about that actually - creeating a base mobile offline app as a freebie to hand out. Might do that at the in-person IADN devcon that is coming later this year. Did you hear about that?


        • #5
          Re: Forced Connection - Disconnected application

          no i did not hear about IADN - also, as much as I am asking about I do have a basic understanding of how it all works and have played with all of the components to building a disconnected app over the last few years. I kind of wanted to hear some do's and don't which is what your supplying so don't take that wrong.
          I am of course jumping into the deep end, lol - I seem to learn faster that way! I will take your advice on the shell though as I don't see that reproducing a real world scenario as well as an actual PGB
          I was thinking of trying to control the connection, in other words to be as lean as possible - data is present - state is local - and the html is pre-rendered and cached, everything would be on the device rather than waiting for the data in an ajax callback - then let the user say OK - i'll now wait to sync it up knowing that this could take a minute, and give them a progress bar, etc.
          I was thinking it would be cool to give them the option to sync anytime there is a connection - but in my head it might be better to manually perform the sync.

          My goal is to provide as much as possible a native instant feel to the application
          NWCOPRO: Nuisance Wildlife Control Software My Application: "Without forgetting, we would have no memory at what was I saying?"


          • #6
            Re: Forced Connection - Disconnected application

            The sync process totally depends on the individual app and the environment it's being used in. For example, here in WV, we have terrible connectivity when you get out the cities and data can be 1x, 2x, 3g, etc. Doesn't matter what the phone says. So, we force users to sync individual primary records (and sub records) and then we force them to sync images separately from the data. Works way better than having the system do anything automatically. The user must also explicitly call the data refresh functions to refresh the data cache. If that is automated it performs poorly here.


            • #7
              Re: Forced Connection - Disconnected application

              Have you built a web app or a PGB?
              When you say FORCE do you mean save/sync manually as opposed to auto-commit & refresh row on select?
              NWCOPRO: Nuisance Wildlife Control Software My Application: "Without forgetting, we would have no memory at what was I saying?"


              • #8
                Re: Forced Connection - Disconnected application

                Also, does auto-commit mean it is still NOT synced/saved yet?
                NWCOPRO: Nuisance Wildlife Control Software My Application: "Without forgetting, we would have no memory at what was I saying?"


                • #9
                  Re: Forced Connection - Disconnected application

                  Yes, we have built for web and phonegap. Yes, Force means they must manually perform the function. Autocommit simply saves to the doesn't mean that it's synced. ALTHOUGH you can set it up to automatically sync upon commit if you want.