Tap Forms app icon half
Tap Forms Forum text image
Blue gradient background

Exchange tips and ideas with the Tap Forms community

Search Results for 'script'

Viewing 15 results - 2,791 through 2,805 (of 2,874 total)
  • Author
    Search Results
  • #14366
    Germaine Oliver
    Participant

    Hi, I’m a new user… I don’t know if I’m doing something wrong, or changed something in a particular record somehow…

    I have a form with several fields, one of which is a text field called “description” with no pick lists. I have a record that doesn’t return when I think it should… the description says “Spiderwebs”, and no portion of that word returns that record. Other descriptions seem to work as expected, but I only have 30 or so records, so it’s hard to test well…

    Why would a particular record not return with a search?

    #14160
    jarrod b
    Participant

    Hello Tapformers,

    Ok so I just downloaded Tapforms for IPad and need some help getting set up.

    The main form I am using is an inventory with these fields

    1. Photo
    2. Description
    3. Product category
    4. Retail price
    5. Purchase location
    6. Purchase date
    7. Sold Y/N
    8. Cost price
    9. Profit (retail price minus cost price)

    I would like to use another form that refers to the inventory form to calculate things like

    1. Total profit of sold items
    2. Cost price of unsold inventory
    3. Average profit percentage
    4. Total unsold inventory

    How do I go about setting up a form to calculate this information?

    Perhaps in the advanced calculation field?

    #14139
    Rob Tn
    Participant

    Since I struggled with the similar sync problems I post my ‘solution’: I found out that on my Macbook (10.10.3) there is a difference between two folders that are being used by dropbox and tap forms. One folder is hidden in the Library (Bibliotheek), one is the regular DropBox folder. They seem not to be in sync on the local harddisk and therefore also not in sync online. So it might be that TapForms is using the wrong directory (and also missing the sync files of the other devices!) or DropBox is missing out the hidden folder. When manually (or with a script) merging these two folders everything is working fine.

    Hope this helps

    Attachments:
    You must be logged in to view attached files.
    #14123
    Brendan
    Keymaster

    It would be great to be able to keep iCloud Drive and Dropbox as options, and who knows, maybe I can swing that, but iCloud Drive and Dropbox are fundamentally just folders on the Internet that contain files. They know nothing about the logic behind syncing. With Couchbase, there is a syncing protocol built-in to it which requires both end points to understand that protocol. It’s like two people needing to know the same language in order to communicate effectively.

    99% of my email support requests are about people not being able to get Dropbox or iCloud communicating properly. Once it’s all working it’s generally fine, but there are also some things you have to be careful of when managing your syncing. That’s what I’m hoping to solve with the move to Couchbase. Since it’s a database engine that has built-in sync, it should effectively be a turn it on and forget it affair. I’ve done some experimenting with their sample apps and it’s great to be able to check a box on one device and see that box checked a few seconds later on the other device without me having to do anything more than that.

    That’s my goal for Tap Forms.

    I realize nobody wants to have to pay for anything more than the base cost of the app once and never again after that, but if a cloud based service ends up costing me money to operate, then I will have no choice but to pass that on to the customer. Imagine me having to pay more to keep the service running than what I earn from only new sales? I’d quickly go out of business and Tap Forms would cease to exist. I don’t want that and I know you don’t want that.

    I may eventually be able to allow you to connect to your own instance of the Couchbase sync gateway that’s connected to your own Couchbase server. This would be great for small businesses that want to sync the devices to their own server. A paid subscription would only be required if someone either didn’t want to sync via WiFi and couldn’t run their own sync gateway/server.

    Syncing via WiFi is great also because I know a bunch of customers use Tap Forms in the field (for example on archeological digs) and being able to sync over an ad-hoc WiFi network would be great for them. They don’t always have access to the Internet wherever they are. Couchbase is even flexible enough to allow some devices to sync via WiFi and some via WiFi and the cloud. So those devices syncing only on WiFi will eventually get the data in the cloud too when the device that’s syncing with both are updated. Now that’ll take a lot of time and testing to see if I can get that to work and probably wouldn’t be a feature right out of the gate. It’ll all take time.

    And here’s another issue I’ve been faced with. The moment I released the update to support Dropbox sync, I got a notice from Dropbox that said they’re discontinuing support for the Dropbox Sync API. Of all the things… I worked for months to add Dropbox sync, only to discover that they no longer support it the moment I release it to production. It won’t cease to function they said, but they won’t be bringing out any further updates to it anymore. So I’m kind of forced to move on from that.

    So that’s that for now :-)

    Thanks,

    Brendan

    #14115
    Brendan
    Keymaster

    I’m just working on the data migration code at the moment. Once I get that done, then I can see if I can get Tap Forms to read the data from the database and display it on screen. Converting all the Saved Searches to a new search mechanism is going to be a super hard challenge because Couchbase does searching totally different than SQLite. But the great thing about Couchbase Mobile is that the sync is just built-in, either via a cloud service or via peer-to-peer WiFi. I haven’t decided about the cloud service to use yet though. There are many options. But it won’t be Dropbox or iCloud. It’ll either be something like http://www.cloudant.com or me setting up a Couchbase Server service on Microsoft Azure or Amazon Web Services or something like that. And that’ll cost me money to run, so cloud sync may become a subscription service. Peer-to-peer WiFi sync would be free.

    If you think about what iCloud Drive and Dropbox are, they are just file servers in the cloud. They simply store the files that Tap Forms writes. All syncing is done via the client. But with Couchbase, there must be an actual database server and sync gateway in the cloud that manages the syncing process from all the devices. But that’s the great thing about it, since the database in the cloud becomes the “source of truth”. It will also mean less storage space is consumed by Tap Forms on your devices.

    It’s still in the development and proof of concept stages. I’ve got the code mostly written to migrate the database. Still a bit more work to do on that plus migrate all the saved searches. That’s the biggest challenge really.

    But the fun never ends developing Tap Forms! :)

    Thanks,

    Brendan

    #13853

    In reply to: Dropbox Sync

    Brendan
    Keymaster

    Thanks for the detailed description of your sync issues Thinking Cat.

    One thing to note is that if you have 3 devices, each with a full copy of the database file already, when you reset sync (or set sync up the first time), Tap Forms generates a sync file that contains all of your data. That’s the TFSyncDoc…[0].tfx file you would see. That file would get synced to your other devices and you would then see the notice in the status bar showing you the countdown. That happens only the one time. Other times the syncing would be much quicker because it has already done the big one at the beginning.

    Now, if you have 3 devices, each with a full copy of the database, Tap Forms will do that for each device you press the upload to cloud button on. That’s because Tap Forms must merge the data from all 3 copies of the database. It doesn’t know that it’s all the same, but it still needs to process it to find out. So when you’re standing in line at the store, yes, you might see that message, but that’s only the first time. Subsequent syncs should be much smaller and quicker, unless you’ve added a lot of data in between syncs.

    Since you have 4500 records, each with possibly a photo or two, it could take Tap Forms a long while to sync those records up to Dropbox. Syncing happens only while Tap Forms is actually running. If you put it in the background, the process stops.

    And with so many photos and/or other files in Tap Forms, those files may be getting uploaded to Dropbox before any of your TFSyncDevice or TFSyncDoc files. That may be why they’re coming in considerably later than expected.

    As for the 0 bytes thing on the Mac version, that’s just what Dropbox does. I’ve seen a 0 byte file sitting there for a while before and then finally Dropbox finishes syncing the file and then the file size gets updated. Tap Forms would then proceed to process that file once it has finished downloading from Dropbox.

    I hope that clears things up a little bit. I know this all isn’t ideal. Believe me, I wish that I had a much better sync system. I’m currently investigating various services to see which one would allow me to write a better sync system that used a central database rather than the TFSyncDoc and TFSyncFile syncing like I’m doing now. I chose that way because I can write all the code on the client side and not have to write any server side code. Plus Dropbox and iCloud are free for most users (depending on their storage size). Other services would charge money for syncing. I’ve been investigating Microsoft’s Azure product which seems pretty good. But there’s a fee for using it and I’d have to pass that cost on to the customer. Not only that, but I have to write a bunch of server side code to manage syncing and that could take a long time. I contacted the guys at DayOne to see how they’re doing their new DayOne sync service and they said they’re using Amazon AWS and it took them 7 months with 3 senior developers working on it full time. Here at Tap Zapp Software, it’s only me. I am Tap Zapp, and so if I were to attempt to replicate what they have, I can imagine it might take me more than a year.

    But nevertheless, I’m still investigating to see if there’s a better solution to all this. Believe me, I want a better sync system too. 99.9% of my support requests these days are that people are having trouble syncing. Eventually we usually manage to get it going. Although I wonder if ANY one is able to sync. It works every time for me, so I don’t know what I’m doing differently or how my Mac and iOS devices are setup differently than other people. It’s a very challenging problem to solve. I have had some people say Dropbox sync or iCloud sync is working perfectly for them, so I do know it can happen. It seems that everyone’s got their own unique situation with different database sizes, different numbers of external files (photos, file attachments, etc.) and different networking environments.

    I worked with one guy from Australia for a couple of weeks trying very hard to get Dropbox to work for his Macs in the office. It would never work with their main user accounts. But it did work with test user accounts he setup on the same Macs. So is that a Tap Forms problem or a Dropbox problem? It’s hard to say really.

    Anyway, I’ve gone on long enough now.

    Sorry for the rather lengthy, and probably not very helpful response.

    Brendan

    #13343
    Brendan
    Keymaster

    Not much to go on with your description. Do you mean that after you pressed the upload to iCloud button, that it stopped midway during an upload? Or syncs don’t come down from iCloud anymore to your other devices?

    Can you try the following command in the Terminal application on your Mac:

    brctl log -w

    Check to see if there’s any TFSyncDoc or TFSyncDevice file names being written to the log output.

    Try rebooting all your devices.

    Does iWork still sync on your devices? E.g. Pages, Numbers, or Keynote?

    Thanks,

    Brendan

    #12700
    M H
    Participant

    Hi Brendan,

    I understand the difficulty with implementing that kind of share option when the data isn’t in a format that can be easily shared. I appreciate that you have it on your big to-do list. There are only so many hours in the day, right?

    For my uses, sharing a PDF of the data wouldn’t be very helpful. I’m trying to use the app as an easy way to enter customer data when they call. Ideally, I’d be able to export the data straight to a spreadsheet or csv file so that I can use it elsewhere for creating invoices and store it for future reference/search ability.

    That’s why I’d also love to see the formatting layouts from the Mac version be usable/printable from the iOS app; after completing work for a customer, their info would already be in the app and I’d just add to that to complete their invoice and print a copy on site.

    With that setup, all the data would be in my hands instead of having to rely on some proprietary, subscription-based cloud invoicing software.

    There are probably a ton of higher priority features that would be easier to implement and more useful to the majority Tap Forms users, but I thought I’d throw my two cents in. Can’t a guy dream? :)

    Thanks again for all you do!

    #12663

    In reply to: data not syncing

    Patrice Hof
    Participant

    Hi Brendan,
    After having re-installed TF from scratch, as announced previously, I am testing iCloud sync with 2 Mac only.

    The fresh new restored DB size is 1 Go (TapForms_db.sqlite) on both macs. Bidirectional syncing seems to succeed.

    After 2 days of minor changes (modified 3-4 records and added 2-3 others), taken into account by both macs, the db.sqlite on Mac 1 has doubled its size: 2.16 Go, even after running maintenance scripts.

    On Mac 2, the db remained at 1 Go. And both TFsyncDoc…[0] are always 600 Mo.

    Do you think it is normal?

    #12589

    In reply to: Merging Forms

    David Butenhof
    Participant

    If you export the “small duplicate” forms as CSV and then import them back into the “large main” form, the large form should retain all characteristics, but the new records will be added to it. Yes, if you imported the CSV as a new form you’d lose any design/configuration — but that’s not what you’re doing. What you end up with should be exactly the same as using the form’s “+” button and typing in each of those records manually.

    Be careful, though, when checking for “duplicates”. It’s good that none of your names are duplicated, so you won’t end up with “duplicate records”. However it’s still possible (although unlikely) that the form_record_id column might have duplicate values. When you import the CVS files, that column is how TapForms determines whether the records are “the same”, and it’ll treat an identical form_record_id as an UPDATE to the existing record. (That’s how sync works.)

    In order to check this you’d need to either export the “large” form as CSV or access the TapForms sqlite database directly, and run a script comparing the form_record_id values between the two forms. It’s not something that would be easy to do visually since the values are long meaningless strings.

    #12481
    Frank Nichols
    Participant

    I think I may have been using conflicting (with you) terminology earlier, so first to clear that up. In the following description I call the SUMMARY the parent/master and the options (COLOR and SIZE) child/details, after seeing how your link to options work, I think you refer to them the other way around.

    Lets say I have three forms, the first form is SUMMARY which displays a list of selected options, each record in SUMMARY would allow the selection and display a different selection of options. I can’t use pick lists for this because the options have multiple related values – so, I use linked forms.

    Forms 2 and 3 contain rows of options that can be selected by the SUMMARY form. Lets call them COLOR and SIZE.

    To setup this relationship I go to the COLOR form and create a field of type Link to Form with a ONE-TO-MANY relationship and select SUMMARY in the Link to Form drop down menu. I also tick the Display Inverse relationship option.

    I then go to the SIZE form and create a field of type Link to form and set a ONE-TO-MANY relationship and select the SUMMARY form in the Link to Form drop down menu and then tick the Display Inverse Relationship option.

    Both option forms have multiple attributes (fields). I selected in List View Fields the 2 option to display the first two fields only.

    Now, I go to my SUMMARY form and create a new record and I can click/touch the COLOR field to bring up the selector and select one of the COLOR records. When I do that the color I selected is then displayed on the SUMMARY form in the COLOR field, as I would expect.

    Next I click/touch the SIZE field and I can select a SIZE record.

    When I select a SIZE record, the COLOR field (previously selected) is cleared and becomes blank. If I go back and reselect the COLOR record, it is displayed and the SIZE field is cleared.

    That is not what I would expect, I would expect the two to operate independently, and I need both to be displayed after being selected. In fact, on my real form I have about 30 of these option links displayed. It would not be very useful for the user to have to click each blank field to see what option had been selected.

    I have tested this on both Mac and iPad versions with the same results.

    As a side note, on the Mac display I would prefer to not display the controls under each of the LINKED FROM fields (SIZE and COLOR) or maybe to have the option to hide/show them, and then just click on the field to bring up the options – much as it is displayed on the iPad. With a lot of selections in my list (30 or so) having those controls on each row adds a LOT of screen space and clutter I don’t need. It isn’t a deal breaker, but just thought I would mention it. I haven’t created a custom layout with the Mac yet, so maybe that would fix this issue, but it still seems to be a lot of controls that really don’t need to be displayed – or at least could be optional for those that don’t want them.

    Thanks,

    Frank

    #12460

    In reply to: Many to One

    Frank Nichols
    Participant

    Thank you for your quick reply, it is very appreciated. That does work as a One-To-Many relationship.

    So, the remaining (at this time :) ) issue I need to resolve is to be able to display field(s) from the child form on the parent form when the child record is selected.

    The application I am working on is to allow users to create a product requirement by working through a series of forms and selecting predefined attributes and adding custom attributes. The predefined attributes are available in a series of child forms which are initially populated by me, and can be extended (records added to) by the user. This is a long complex process and it is required that the user be able to “see” their choices as they progress or review the forms that have been filled out.

    So, (If I explained that clearly?) what I would like to do is to have the parent form allow them to select from a list of child form values that are predefined (or extended by them, by editing the child form – not during the selection on the parent form). The child values/records would have various attributes associated with each – name, description, value1, value2, value3, etc… When a child record is selected on the parent form, I would like a specified (or by default the first field) field to be displayed on the parent form so that the user can see what choice they made.

    As it works currently, it seems, there is an indication that a choice has been made – the number of associated child records is set to 1 instead of 0 – but the choice is not displayed until you click/touch that field on the parent form.

    In the Mac OSX documentation it shows the child record(s) displayed on the parent form in a sub-table at that point in the parent form. That would work okay for my application but is not necessary if adding a sub-table field is difficult, all I really need is for the parent field to be filled in with the current contents of the child’s first field, similar to the way the parent field is populated by a Pick List item.

    Thank you again,

    Frank

    #12447
    David Butenhof
    Participant

    Bento started behaving unreliably on Yosemite. For some, it apparently doesn’t run at all. For me, it runs, albeit with some occasional odd dialog boxes or hangs. Clearly, it’s time to jump ship — even if it’s still not entirely clear there’s a safe place to land.

    Most of my Bento forms imported into TapForms flawlessly, so thanks for that! However, the two main forms where I made use of Bento Simple Lists remain problematic. They’re too big to re-enter manually. I can’t shut down Bento for good without moving them. And I’ve still got no handle on how to do it.

    I had written a Python script that would strip out the Simple Lists from a Bento CSV export into separate forms which, in theory, could be imported into TapForms. Having been unable to accomplish this, I’d resorted to round-trip TapForms export/import; and as recorded in this thread back in the Spring, I’d had trouble even getting that to work. But that was a demo version.

    Now I’ve gotten around to trying again with the released TapForms 3.0.2; and it’s not working any better than it did back then.

    I created a simple Movies form, with a linked Movie Viewings form. I entered two movies, more or less randomly, with one viewing each, and this seemed to be working just fine.

    So I exported the parent (Movies), and TapForms created a Movies folder containing Movies.csv and Movie Viewings.csv. Each shows two records, as expected, with all the UUID columns apparently intact. In the attached archive file, you can see the Movies folder and the contents.

    I then Deleted both forms from TapForms, and imported the Movies.csv parent.

    First oddity: it imported the form just fine, but with no records. I have to import a second time to get the data.

    Now I go on to import Movie Viewings. The form imports fine, with data. Now I go back to Movies, and edit the fields, selecting Movie Viewings form the Link to Form popup on the appropriate record. The embedded table appears; however, no matter what I try, I can’t seem to get it to actually find the data in in the child form. The table is empty. This obviously doesn’t do me any good; and if I can’t re-import exported TapForms data, it’s no surprise that I can’t make my converted Bento data work.

    Note that if I export the imported data, the Movie Viewings.csv file shows no data, only the headings. Clearly the linkage didn’t work correctly. This is the Movies1 folder in the archive file.

    So am I missing something, or does this just not work?

    Attachments:
    You must be logged in to view attached files.
    #12365
    cd13
    Participant

    Hello Brendan,

    Don’t know if you looked into this request any further but I have the same requirement as Franz. Only it has to do with my wine database; what I would like to do is link my wine purchases and notes to a second database that has descriptions of the wine/grape varieties.

    E.g. My Wine db would have an entry for Calamus Vinemount Ridge Riesling then if I would like to get the grape descriptions I could either lookup “Riesling” in the Wine Variety db or have the descriptive appear in a new data field called “Description” (the same Riesling description would appear for all Riesling wines).

    Many thanks,

    Chris

    #12110
    LeoC2
    Participant

    FYI I tried something else and it seems to work fine. Instead of making a new Section Heading for each field I simply name the filed with the description included. While this makes for a very long field name it seems TF handles it fine and it makes for a cleaner entry screen. One interesting thing I discovered is that when I changed the field names any calculation fields automatically updated with the proper field names.

    Also when I pasted the field names in they came across with carriage returns which made for an even cleaner form. Speaking of CRs, how can I enter one in a form title?

    The attached image shows the new field names in red.

    Attachments:
    You must be logged in to view attached files.
Viewing 15 results - 2,791 through 2,805 (of 2,874 total)