New action: App update/Force sync

There are sometimes where the change the users are making through an action is so important that we need to make sure it gets updated to the database, similar to how changing usersettings force update upon save.
Todays actions are really good:

I just would like to see a new action called:

App: force update this app

โ€ฆor something like that.
This way we could have this after a Save Form or on a grouped action.
Obviously, we donโ€™t need to point to any table to this action, but thatโ€™s part of the implementation process

Edit: Marked as solved because there is a workaround but I still think there should be a more user-friendly option
Edit2: This was a feature request but you know how the majority of them end up so I followed @Bellave_Jayaramโ€™s advice and changed it to Tips & Tricks, eventhough the tip came from @Aleksi and @MultiTech_Visions

CONCATENATE(
  LINKTOROW(
    [_THISROW],
    CONTEXT(VIEW)
  ),
  "&at=",
  (NOW()+1)
)
Solved Solved
7 18 1,247
18 REPLIES 18

If you create a DeepLink formula to take you to a view, you can add a little bit of code to the end that ensures that the data on said view is updated as per a timestamp.

&"&at="&(NOW()+1)

3X_2_7_2782d14fad7e50a94b15904e3a58290e8c8fcfb2.png

3X_c_3_c34fed476cec2a9e6a2e381c0de66af1d18f0231.png

@Aleksi came up with this years ago, and it works wonders

Thanks!
i hope this will be more user-friendly in the future.
Maybe an action thatโ€™s system created and that we can call from any part of our app, similar to the Add, Edit, and others

Hey! Using CONTEXT() I donโ€™t need to hard code any view

CONCATENATE(
  LINKTOROW(
    [_THISROW],
    CONTEXT(VIEW)
  ),
  "&at=",
  (NOW()+1)
)

I just need to clone/copy the action to every table I need it

Thatโ€™s pretty sweet! @SkrOYC nice one!

Cool. This should be reassigned to Tips and Tricks.

Quick update.


The Deeplink to accomplish this โ€œForce Syncโ€ action is basically better used on a grouped action to make sure the app updates after other actions have been made, if you use it as a โ€œnormalโ€ action, itโ€™s basically another way to click on the top right corner button to sync.
Now, here the update, if you want to use it on a grouped action, it should be used at the end of it since the sync will stop any other action after it

Anyone found out yet how to do this force sync in Desktop view?

Hi @JPAlpano what are you trying to do?

The workaround mentioned in the OP is not working on the new Desktop mode

Thanks for asking.  Never mind, as SkrOYC already mentioned below that it won't work.


@SkrOYC wrote:

The workaround mentioned in the OP is not working on the new Desktop mode



@lizlynch wrote:

For desktop UI (preview), fixed bug where force sync using LINKTO actions with "&at="&(NOW()+1) added to the expression was not working.


Yeah!

Can't seem to get this working.  I've got a grouped action that triggers off saving a record.  The last grouped action dictates the next view and I've updated it to include the bit of code

IF(
AND([Complete]=1,ISBLANK(ANY(Select(StrengthsandChallenges[Complete],Useremail()=[StrengthsandChallengesUser])))),
LINKTOVIEW("StrengthsandChallenges")&"&at="&(NOW()+1),
LINKTOVIEW("Dashboard")&"&at="&(NOW()+1),
)

Both deeplinks work fine, but it doesn't force a sync.  Not using the new UI.  Any ideas @MultiTech @SkrOYC 


@1minManager wrote:

IF(
AND([Complete]=1,ISBLANK(ANY(Select(StrengthsandChallenges[Complete],Useremail()=[StrengthsandChallengesUser])))),
LINKTOVIEW("StrengthsandChallenges")&"&at="&(NOW()+1),
LINKTOVIEW("Dashboard")&"&at="&(NOW()+1),
)


ANY(Select(StrengthsandChallenges[Complete],Useremail()=[StrengthsandChallengesUser]))

Houston we have a problem.gif

 

 

 

๐Ÿคฃ๐Ÿคฃ๐Ÿคฃ

You might create a slice of the StrengthsandChallenges table holding only those for the current user - this would relieve a lot of computational stress on your system.

-------------------------------------------------------------------------------------------------------------

OK ok.... to answer your question, it looks fine to me.

  • *scratching head....* ๐Ÿค”
  • Not sure why it wouldn't work....
  • Some.... esoteric, off in the weeds, reason why it's not working most likely.

EDITED:  I just read @1minManager 's post just before mine.  This post can be ignored but it might good information to have going forward. 

Have we ever been able to force a Sync to an internal view in this way?  I don't recall.

Could this be related to what I recently mentioned/learned (in another post) about URL parameters?

The ampersand in "&at=" is actually a Query Parameter.  It is a server side directive.  But when we create the LINKTOVIEW() function, as you have, they do not need to go to the server.  They can be handled on the client side.  My thought is that the server-side directives are being ignored in this use case.

On the other hand "#" are client-side anchors/parameters.  Losely, they provide a starting point in the set of web pages returned by the server.  But I wonder if they can execute functions - if available - on the client side as well?

I would first try replacing the "&" with "#".  I have no clue if that will work. 

If it doesn't then I believe server side execution needs to occur. Try adding the optional App Parameter inside the LINKTOVIEW() function.  If that doesn't work then it may be that you have to construct the full URL to force that server-side execution.

AND([Complete]=1,ISBLANK(ANY(Select(StrengthsandChallenges[Complete],Useremail()=[StrengthsandChallengesUser])))) - Everyone's a critic  ๐Ÿคฃ  What this does is check if this table is complete and the next table in line hasn't been started.

So tried to simplify it a bit:

  1. Changed action to just LINKTOVIEW("Dashboard")&"&at="&(NOW()+1) - nope
  2. Reduced grouped action so its only doing the above action - nope
  3. Changed view so its calling the LINKTOVIEW action and not grouped action - Works!
  4. Did the inverse of 2 above - Still Works ๐Ÿค”
  5. Did the inverse of 1 above - Still Works ๐Ÿค”

So I'm exactly where I started, but now its working...  

4b8e583e3a1b04c96e8f7347e8adeeb1--nerd-funny-source-code.jpg

 


@1minManager wrote:

So I'm exactly where I started, but now its working...


I think this may be the nature of a no-code platform. Since most things are behind a wall (the code) sometimes what is shown to use (the no-code part) is not the thing that has the problem in it.

Doing it again from scratch fixes it. Same with templates (GDocs/MSWord), Bots, Actions, etc


@1minManager wrote:

IF(
AND([Complete]=1,ISBLANK(ANY(Select(StrengthsandChallenges[Complete],Useremail()=[StrengthsandChallengesUser])))),
LINKTOVIEW("StrengthsandChallenges")&"&at="&(NOW()+1),
LINKTOVIEW("Dashboard")&"&at="&(NOW()+1),
)


Hi @1minManager you should remove the last comma. But I don't think this was the reason.
Maybe add an ENCODEURL() ? 
&"&at="&ENCODEURL(NOW()+1)

 


@Fabian_Weller wrote:

you should remove the last comma


๐Ÿ’ฏ

Top Labels in this Space