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

Questions on Mobile App with persistent login/disconnected AND parent child tables

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

    Questions on Mobile App with persistent login/disconnected AND parent child tables

    I have a mobile app that is working fine as an internet based app; that is, it works fine on a browser on a mobile device that has a live internet connection.

    We want to convert the app to a true mobile device app for both iOS and Android and set it up as either a disconnected app or persistent login type app.

    My question has to do with one portion of the app where we have both parent and child tables. Basically it is a section where a user can go into the field to do construction type bids. They first create a new record in the parent table for the site, location and other demographics. Once that is created, then they can add or edit a list of items that need to be done, which are separate records in the child table. The child tables of course need to have the unique ID in it to properly link the records to the parent table. So the question is, how is this accomplished in a disconnected app where the next available ID is not available for the parent record until they are connected to the internet and a synchronization takes place? How do those child records get the linking ID inserted to their respective records?

    Thanks,

    Mike
    Mike Reed
    Phoenix, AZ

    #2
    Re: Questions on Mobile App with persistent login/disconnected AND parent child tables

    I believe this depends on how you've set up your Parent table. If it's an auto generated key... then I think you're out of luck. That key only gets generated by the database.

    Have a look at Video DIS_V12--17. As with many videos... this takes you almost all the way... and then falls short. And... there is an error in the setup of the accompanying component.

    The example UX uses the Northwind database... the Customers table... which has an varchar key... therefore not auto-increment. However, the Parent List setup is wrong in the example.

    The LISTCUSTOMERS List (the Parent) has it's Detail View, Table Properties, Primary key is auto-increment or auto-generated property... turned on. This is wrong... and causes issues.

    If you turn this property off, then... while you're offline... you can Create a new Customer (giving it a CustomerID), save it, create a new Order, save it, create a new Order Detail, save it... and then sync. Because you've given the Parent a key, all is good.

    Overall, you'll need a Parent Table with a Key that you can provide while offline.

    EDIT:

    I've confirmed what Jeff has reported. My Tables keys were out of sync so I thought it wasn't working. During Sync, Alpha gets the auto keys it needs and fills in everything properly.
    Last edited by Davidk; 04-30-2018, 04:38 PM.

    Comment


      #3
      Re: Questions on Mobile App with persistent login/disconnected AND parent child tables

      I have the type of configuration setup. In fact, it even works with a parent/child/grandchild situation. The three tables in the backend database are all configured with their primary keys being auto-increment.
      In the UX, for the 3 corresponding lists, I configure the table properties with the "Primary key is auto-increment or auto-generated" checkbox checked (table properties in the Detail View tab). And I of course set up the children lists and tables with the necessary linking fields.
      Something like this:

      List1
      --------
      ParentPK

      List2
      --------
      ChildPK
      ParentPK

      List3
      --------
      GrandchildPK
      ChildPK

      So when I add a new parent record, I don't explicitly add any primary key value. AlphaAnyway assigns a temporary value property to the data (looks something like this: "*value": "_temporaryValue_5A187586-1400-4E13-8D5B-78A3C77B39F3"). Then I start adding child records while having the parent selected in the parent list. When you add a new child record, you don't have to explicitly assign a primary key for the child nor reference the parent primary key (which of course doesn't exist yet). The newly added child record data is immediately added to the parent list data under the selected parent record. You can see if you take a look at the underlying JSON data for the parent list.

      You can add as many parent records and child records as you want while being disconnected. The JSON data will continue to store which children belong to which parent.

      Then when you finally have a connection, you synch the parent list. AlphaAnywhere prepares the necessary SQL statements; correctly inserting the parent records, getting the database's auto-incremented parent PK and then inserting it while inserting the child records. When you refresh the list data on the mobile device, you'll see that the previously unassigned "primary key" fields are all updated with the values from the database. All the children of a particular parent will now show their parentPK in that child's ParentPK field.

      Again, I have this setup in one of my larger applications. I have tested it and it works.

      EDIT: I did have an issue at one time as I had the parent list being built with a query that was joining 2 back-end tables. The parent PK was not propagating to the linking fields in the child tables in this case. Selwyn fixed it sometime in the beginning of Jan. 2018 in one of the pre-releases.
      Last edited by jgrannis; 04-30-2018, 04:22 PM.

      Comment


        #4
        Re: Questions on Mobile App with persistent login/disconnected AND parent child tables

        Thank you both for responding. I think that answers my questions, so we will continue and test it in a couple of weeks.
        Will also check the videos.

        Mike
        Mike Reed
        Phoenix, AZ

        Comment

        Working...
        X