Jump to content
William Slim

Data entry via popover could be more versatile, should it?

Recommended Posts

Hello peeps,

I'm just getting to grips with Filemaker 14, skipped 13 so this is the first time I've had the opportunity to play with the popovers which I've been much looking forward to.  I have to admit that I'm a little surprised that data entry hasn't been made much easier with the advent of popovers.  Creating a data entry interface is certainly easier and looks good too, but the process of entering new record criteria and confirming or cancelling the process is much the same. Currently I use global fields to place on a popover and when data entry is confirmed scripts will:

  1. Copy the entered data to a new record, field by field
  2. Clear all global fields used for entry

or 

  1. Cancel and clear global fields

However this takes more script writing the more fields you have and can be approached in many different ways from a control perspective.  Before I was doing this, I instinctively wanted to do away with the global 'Entry' fields mirroring actual data fields and instead; create a new record when launching a data entry popover, the fields are probably the same as those already on the layout but only the new blank record has focus, and the new procedure be:

  1. Commit record

or 

  1. Cancel and delete record

This would, at least in some scenarios be suitable and requires less development overhead because cancelling requires only that the record is deleted and the committing is already done by the user (as long as the record isn't cancelled or validation fails...).  

    ...Yet you can't do this using popovers.  Creating a record cancels a popover, end of.  The button that launches a popover can't be set to create a record either so I'm stuck with my old methods.  

Does this actually bother many people?  I thought this would be a common functional desire but haven't found much to read on data entry approaches in Filemaker   ...what alternative approaches do other people use?

Lee

Edited by Leelike

Share this post


Link to post
Share on other sites
BruceR    152

Wherever did you get that idea? There are in fact, examples of new record creation, in popovers, without using globals. Time to look over the example files more carefully. 

Look in particular at the Invoice example file and the various ways new records (contacts, invoices, products) are created in that file. Also do a web search for FileMaker transactions. Transaction-based editing allows you to create a new record; optionally, create related "child" records; and then save or cancel. If you cancel before committing the new record(s) you do NOT need to delete them because they were never actually stored and saved. The technique does not depend on dummy global data entry fields.

Edited by BruceR

Share this post


Link to post
Share on other sites

Thanks for the research tips BruceR, I did just that and found the 'Invoices' example an interesting learning curve.  I also re-read some Filemaker transactions info, which actually made more sense than it did the first time around so I have plenty to consider and will continue to reference these things as I build.  I'm certainly no guru so readily admit that I have much to learn, but am excited by the prospect!

However I think my initial point still stands, the project I'm working on has perhaps the simplest initial data entry requirement possible, creating records requires several pieces of information with minimal pull/push from/to related tables. Once data is entered correctly the new record will appear in a list view, what happens from there gets more tricky but that's another matter.  Now perhaps I should take the related table route and create a transaction/data entry table solely for creating new records, well I did do this already but then decided it seemed superfluous to have a table and set of fields simply to create a record in another table.  So I switched to the global fields, same table method.  List function values offer an interesting alternative that I haven't tried, but, whats wrong with the idea that hitting a button both creates a new record in the current table and launches a popup listing only the required fields, either quit or commit, quit deletes the record but 'Save' closes the popup with your new record on screen?  The only thing I can see currently wrong with such a simple solution is that Filemaker script triggers don't work on a popup button, so I can't create a record before the popup launches.

I understand that there would be potential integrity problems with this approach yet I should stress this project is limited to one user, no network requirements  ...yet.  So I'm forced to use a relatively creative solution for very basic data entry.

Thanks Mike, will take a look...

Share this post


Link to post
Share on other sites
BruceR    152

You keep doing things the same way and then complaining that you are doing things the same way, and claiming that there is no other way.

You do not need to do that. You do not need to use dummy global fields.

Your popover can create the new record when it opens.

I suggest you attach your file or simplified example file which demonstrates what you are trying to accomplish.

Edited by BruceR

Share this post


Link to post
Share on other sites
BruceR    152

You may also want to look at "Anatomy of a good post"

Share this post


Link to post
Share on other sites
eos    225

The only thing I can see currently wrong with such a simple solution is that Filemaker script triggers don't work on a popup button, so I can't create a record before the popup launches.

You are missing the fact that you aren't restricted to the popover button itself to open that popover; you could e.g. use a regular button that launches a script which performs any numbers of actions, then opens the popover …

  • Like 1

Share this post


Link to post
Share on other sites

Ok maybe I'm missing something, when I try and create a record using a script via a popup or popup button in the same table (not via a relationship or portal) the popup cancels before any data can be entered.  If I use a script to make the popup persistent, the 'create new record' script step can't run because it requires moving away from the popup.  But point taken, you guys have given me plenty to read and think about and I don't wish to sound ignorant so I'm cracking on with my build to get some more experience in the new version.  I'll upload a file if I hit a wall later on.

Cheers guys

Ps - I'm not doing things the same way, I'm rebuilding my project in the new version 14 so wanted to explore new data entry methods, hence the post!

You are missing the fact that you aren't restricted to the popover button itself to open that popover; you could e.g. use a regular button that launches a script which performs any numbers of actions, then opens the popover …

Bingo!  I think I came across a create popup script step in the Invoices solution Bruce mentioned. Will give that a go...

Edit, there is no script step to open a popover but it can be done like this:

https://filemakermisc.wordpress.com/2015/03/11/layout-tip-opening-a-popover-with-a-script/

Edited by Leelike

Share this post


Link to post
Share on other sites
eos    225

Bingo!  I think I came across a create popup script step in the Invoices solution Bruce mentioned. Will give that a go...

There is no such script step; what I meant was to give your popover panel an object name and use Go to Object [ name ], which will open the popover (navigating to a named object on the popover panel will have the same effect).

Share this post


Link to post
Share on other sites
BruceR    152

So let's see. For a popup we may want independent control of the button; and the popup panel.

How about a buttonbar with two buttons, one to run the script, one which has the popover. The second button is set to always hide.

See attached example file. Be sure to look at the variations on each of the layouts.

buttonbar popup.png

NewRecordPop.zip

  • Like 2

Share this post


Link to post
Share on other sites
BruceR    152

Updated version, new features like more popups on the last layout.

 

 

NewRecordPopv2.zip

Edited by BruceR
Update features; return goes to next field etc.
  • Like 1

Share this post


Link to post
Share on other sites

Many thanks Bruce this is slick, I really like the button bar with hidden buttons solution so that's what I'm currently using in mine.  Thanks to all who contributed here.  I looked further into everything mentioned and for anyone on my level reading this here's some interesting links I ended up reading:

Transaction based data entry:

http://www.modularfilemaker.org/module/transactions/

https://www.geistinteractive.com/filemaker-transactions/

 

Edit dialogs with rollback:

http://www.soliantconsulting.com/blog/2012/08/easy-filemaker-modal-edit-dialogs-full-rollback-support

 

Advanced Filemaker data modelling:

http://www.seedcode.com/filemaker-data-modeling-with-selector-connector/

https://www.geistinteractive.com/2014/11/21/filemaker-selector-connector-video/

http://www.modularfilemaker.org/module/master-detail/

http://www.modularfilemaker.org/module/masterdetail-2-0/

Share this post


Link to post
Share on other sites
BruceR    152

There is some interesting behavior of hidden buttonbar buttons that I have not seen mentioned.

Just because a button is hidden does NOT mean that it is not active!

If buttons are in the tab order you can use the space bar to trigger them.

Try this: use the buttons to create or edit a record.

Immediately afterwards, use the space bar. The "Edit" popup will be triggered, because the Edit button is still active.

On the last layout, there is a "Hide" button that lets you show or hide the Edit button. When the button is visible, it is easy to see when the button is active.

 

 

NewRecordPopv3.fmp12.zip

Edited by BruceR

Share this post


Link to post
Share on other sites
nicon    0
On 23 Αυγούστου 2015 at 7:32 PM, BruceR said:

There is some interesting behavior of hidden buttonbar buttons that I have not seen mentioned.

Just because a button is hidden does NOT mean that it is not active!

If buttons are in the tab order you can use the space bar to trigger them.

Try this: use the buttons to create or edit a record.

Immediately afterwards, use the space bar. The "Edit" popup will be triggered, because the Edit button is still active.

On the last layout, there is a "Hide" button that lets you show or hide the Edit button. When the button is visible, it is easy to see when the button is active.

 

 

NewRecordPopv3.fmp12.zip

Hi Bruce!

Al things you mention are quite elegant and works nicely, but, is there a way to keep the popover open and keep adding records until your hand gets tired? Or am i asking a lot :-)

Share this post


Link to post
Share on other sites
BruceR    152

Popovers close when navigating between records. There ways to create new records through a global field and auto-create relationship that would not require you to navigate to the new record. Yes, it can be done; and it would be simple enough.

"Or am i asking a lot :-)"

What exactly are you asking? But it's the kind of thing you should puzzle out for yourself.

Share this post


Link to post
Share on other sites
nicon    0
10 hours ago, BruceR said:

Popovers close when navigating between records. There ways to create new records through a global field and auto-create relationship that would not require you to navigate to the new record. Yes, it can be done; and it would be simple enough.

"Or am i asking a lot :-)"

What exactly are you asking? But it's the kind of thing you should puzzle out for yourself.

Thanx Bruce.

I finally did it with the popover and a couple of globals. "New Record/Request" (popover closes) "Go to Object [popover name]" and the popover opens again. And because it doing so fast (and of course without the animation effect) it seems like it never closes.

 

Have a nice day! 

Share this post


Link to post
Share on other sites
BruceR    152

Where is your example file?

No need for the pop up to close.

Share this post


Link to post
Share on other sites
nicon    0

It's part of a larger solution. I'll prepare one today and i'll post it here. The thing goes like this:

1. The popover operates with globals of the same layout/table. No portals/self joins or other

2. Click on a button (on the pop) performs script which writes new record with the values of globals ('cause it has to; not to mess with existent records)

3. When "New Record..." executes, the pop closes by default. You can't avoid this.

4. But if you open it again (with go to obj) and NOT perform the "Set Layout Object Animation", it simply not doing any effect and looks like it never close at all.

 

I'll post a sample today.

 

Thanx

icon

Share this post


Link to post
Share on other sites
BruceR    152

Sample?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Similar Content

    • By bcooney
      Sanity check here...I want to use a popover with a portal to help a user select from a long list of choices in Find Mode. Apparently, I cannot do that. I've tried to populate a global in the parent table and use a relationship with the global on the left to display related children in the portal. Nothing shows. I then switched to a virtual list of choices where the $$vlist is populated by SQL. $$vlist has data..portal shows nothing.
      Is Find Mode unable to use such a technique?
      I did follow Kevin Frank's tutorial on conditional value lists in Find Mode. That works wonderfully, except my first popup is too long -- really need that picker! 
    • By William Slim
      Hello all,
      I'm having an issue with my Macbook air seeing 'Connection Failed' for only one dev server, despite other devices being able to see it. Setup as follows:
      Macbook Air: FM 14 & 15 - able to see 2 AWS dev servers + 1 client server (via vpn) - Personal AWS Dev server = CONNECTION FAILED
      Windows 7: FM 14 & 15 - able to see all of the above, no issues
      Ipad 3: FM Go 14 & 15 - able to see all of the above, no issues
      ---------------------------------------------------
      The Mac OS is Sierra and the Dev server it won't connect to is now running FMS 15 (upgrade from 14 though this didn't fix the issue). I've spent hours looking through forums etc and have tried deleting the PEM files in the 14 install but to no avail.
      I'm stumped! Does anyone have any ideas on this?
      Thanks,
      Lee
       
    • By Marcwa19197
      Hi,

      we are using a little sync script via php, which allows us to store all data from a FileMaker DB into our internal MySQL-Database. 
      The only problem iam unable to solve is how to download images from container fields and store them local on our web server. 

      I tried something like:
       
      foreach($recordsPersons as $recordPersonsData) { //saving images to /srv/www/htdocs/ $url_orig = urlencode($recordPersonsData->getField('FotoDatei')); // Search for the extension of the file $url = substr($url_orig, 0, strpos($url_orig, "?")); $url = substr($url_orig, strrpos($url_orig, ".") + 1); // Send the correct Content-Type header if($url == "jpg"){ header('Content-type: image/jpeg'); } else if($url == "gif"){ header('Content-type: image/gif'); } else{ header('Content-type: application/octet-stream'); } // save file local. file_put_contents('/srv/www/htdocs/testfilepicture.jpg', $fm->getContainerData($url_orig)); } I was using this reference: http://blog.myfmbutler.com/?p=104

      This Code-Snipped works well, but only writes "getContainerData() does not support remote containers" into testfilepicture.jpg..

      We are using FileMaker Server 14.

      Any Ideas?

      Thanks in advance and Cheers
    • By KassK
      Hi, Is there a way to have popover button within a popover button?  when I have tried this and double click to open it in layout mode the tool options open but not the button itself.  Can anyone help or advice me what I am doing wrong?
       
    • By fyanesv
      Hi, I’m really Stuck , any suggestions would be most appreciated.
       
      Problem :
      I need to replicate a particular behavior of the PopOver that is inside a Portal.
       
      Behavior:
      When inserting or editing portal Rows via popOvers, the data updates in the portal before “committing”. 
       
      Solution:
      Trying to replicate this behavior according to this rules: 
      -. Using Transactions and Data modeling.
      .- Data not updated at the portal before committing (refreshing portal by trigger or exiting a field doesn't work).
      .- Data not updated at the portal as inserts or edits are been made (same as above). 
      .- Inserts or Edits are made outside the portal in the same layout (no modals, Using SlideControl).
      .- Not using PopOvers inside portal.
      .- Portal is not accesible by user it only shows the list of items been inserted or updated.
       
      I have tried different approaches but no solution yet, trying to replicate behavior has been very frustrating.
       
      Tried:
      Filtered Single Line portals and Magic Key with different Techniques and different relationship approaches, I have not tried Globals via Scripts which I presume could be a solution but don’t have much to start with!!!.
       
      For the record:
      A few months ago I started implementing “Selector Conector and Transactions”,  I´m not so sure I have correctly implemented this.
       
      I have prepared a Sample file (is not the actual solution) with very simple use of Transactions and Data Modeling, it shows different approaches I have tried. Used some technics learned here at this forum which have been very helpful.
       
      Approaches number 1 and number 2 from the Sample file are not the preferred, but merely show the behavior I´m trying to replicate.
      A script at start creates small window that shows records are been created in child's table even tough it won’t update the portal before commiting when using technics 3 and 4 from the Sample file.
       
      Hope my explanation makes any sense. 
       
      Thanks in advance, and cheers to all 
       
      PS.: Check the green Framed Portal at the right hand side of the layout´s Sample file for a cool technique that I designed, it uses  “Hide Object when”, and a combination of formatting the Button and portal row (Padding), which makes the illusion of an X circle appearing on the right side when Hovering portal rows, mostly used for deleting. Hope any one has a use for it.
      Sample.zip
×

Important Information

By using this site, you agree to our Terms of Use.