Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Tagging records on a hosted solution

Featured Replies

Hi,

I'm trying to find the most elegant way to give to users the option of tagging (select) a bunch of records.

For instance, let's say we have a list of several contacts and we want to isolate a few that need to be printed.

The most obvious way is to include a check box on every record, have the user checking the box on the desired contacts and then do a find for checked contacts. This works great on a standalone solution, but if the solution is hosted on a server there's now a problem: User A marks his selected 4 contacts, a few seconds later User B selects a set of 5 different contacts. When user A issues the find command , he's going to find his 4 contacts + the 5 contacts of user B...

Has anyone seen a good way to solve this type of problems on hosted solutions?

Thanks on advance for your suggestions!

Federico

Put the unique IDs of selected records in a global text field, as a return-separated list. You can still use a checkbox, but only as a visual indicator. The checkbox itself would be a defined as a button, attached to a script that adds/removes the record's unique ID to/from the list.

To quickly isolate the selected records, define a relationship to a new occurrence of the table, matching the global field to the unique ID. Then use Go to Related Record[] to create a found set.

Alternatively, you could use a 'real' (i.e. not global) field in a user table, where each user has a record. This takes more work to set up, but it enables keeping the user's selection between sessions.

  • Author

Wow!

brilliant!!

Thanks so much.

federico

attached to a script that adds/removes the record's unique ID to/from the list

Since you're on 9 Adv. could the attached script be boiled down to one single Set Field[ using this:

http://www.briandunning.com/cf/39

I use this approach each time I have a situation like this, because it trims off double pilcrows, while if I were to make a script to behave similar, could I easily spend 10 minutes circumvent their likeliness to creep into the global.

Well I might be able to find a script in another solution I could copy/paste over, but then must some editing happen afterwards. Here is it just thrown into the buttons def. no need to call a dedicated script - just tie a single command to it.

--sd

I manage without a custom function:

Case (

IsEmpty ( FilterValues ( item ; list ) ) ;

list & item & ¶ ;

Let (

listXcl = Substitute ( ¶ & list & ¶ ; ¶ & item & ¶ ; ¶ )

;

MiddleValues ( listXcl ; 2 ; ValueCount ( listXcl ) - 2 )

)

)

Definitely better, why indeed overlay a custom function even recursive, which deals with list against list, when the context requires list against item ... you way of getting rid of outer pilcrows make me smile.

I'm likely to change my behaviours - cheers!

--sd

Keep in mind that this version only works with lists that always have a trailing ¶.

Keep in mind that this version only works with lists that always have a trailing ¶.

Which means, as long as the invisible buttons in the portal are solely responsible for the setting of the field won't there be problems, but if other scripts are likely to do something in the vicinity of the single line task ... should we be carefull, perhaps even seek shelter under Ray's recursive CF instead?

--sd

I believe this modification should work when a list may or may not have a trailing ¶;)

...

listXcl = Substitute ( ¶ & list & ¶ ; [ ¶ & item & ¶ ; ¶ ] ; [ "¶¶" ; ¶ ] ) ;

] ;

MiddleValues ( listXcl ; 2 ;ValueCount ( listXcl ) - 1 )

)

Create an account or sign in to comment

Important Information

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

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.