Process List cannot access actions like Create / Make Changes. Plugins cannot directly modify the database. Only you can do that via the Make/Change actions.
(There is no free lunch, as they say.)
Process List cannot access actions like Create / Make Changes. Plugins cannot directly modify the database. Only you can do that via the Make/Change actions.
(There is no free lunch, as they say.)
@keith
Ah ok - well let me do some more testing and see what works.
Great plugin though, appreciate all your hard work!
Thanks for the kind words, @hero! Yeah, thereâs zillions of applications for List Shifter, but it can only do things that are actually possible. The main focus is really on manipulating lists, creating lists of primitive data types, constructing new lists by âprocessingâ existing ones, and doing iterative calculations.
Iterating with the âIterateâ action (running a workflow sequentially over n items) is still subject to any limitations of Bubble workflows. While we can create new items or modify objects in the database, these operations take time and Bubble has some clever optimizations that (in essence) make it seem â inside the page â that the action is complete, when in fact, it hasnât truly happened in the backend. (Basically, a local copy of the modified object exists in the page and we can proceed with on-page actions without waiting for the database to be synchronized.)
This isnât an issue in most vanilla Bubble cases (as you canât really iterate anyway). So List Shifterâs Iterate action represents a departure from whatâs expected.
If you stick to reading data values, etc. everything works as expected. But thereâs no magic bullet for increasing the speed at which backend modifications can be made.
Hi @keith,
Why are you hiding your plugins code with minify, when free plugins are supposed to conform to the open source MIT license?
Because it must be manually minified: Bubble uses a version of closure compiler that canât compile part of the source of List Shifter. So I have to manually minify it using Uglify.
Same thing with LOADERR, BTW (and same issue: async/await).
But also: Open Source !== Easy to Read
That is the source code. Because JavaScript. That being said, I could point you to a more easily understood repo sometime.
Thanks for explaining the good reasons for minifying on the Bubble source page Yes a link to the source is a good idea!
More cool live bubbling videos with @keith: #lockdownandlearnwithkeith
list shifter is darn powerfulâŚand for a âknows enough to be dangerous and not one jot moreâ type, very helpful and daunting. However, I really canât figure out how to save the list as you have suggested and have the outcome as described. (FWIW, although drag-and-drop is the ideal UX here, Iâve abandoned it for now and am using simple buttons for moving things around)
here are my data types (things) that matter in this case:
user
(and relevant fields)task lists
(a list of type task list
)tasks
(a list of type task
)task list
(and relevant fields)tasks
(a list of type task
)owner
(the user that created/owns this list)tasks
(and relevant fields)task list
(which task list does this task belong to)owner
(who created the task)So, trying to follow your advice here (and in your tutorials)âŚ
task list
and source is Current Userâs task lists
task lists
from the list shifterâs shifted listtasks
and feeds a vertical rg for displaying that listâs taskstask lists
list with the shifterâs shifted list (this is what I think you are describing above)Hereâs a screenshot of the app preview if it helps to understand thingsâŚ
However, even though the userâs task lists
field is updated successfully (pretty sure), this does not save the current view. In other words, if the page is refreshed, the task list order goes back to the original, unshifted view.*
I suspect this is because replacing the userâs task lists
field data with the shifterâs shifted list does not update the related/underlying task list
thing (thereâs no change to the modified date on the task list things) but I could be wrong.
Now, having watch your list popper screencast, I suspect I could do it that way but Iâm not ready to move up to a paid account just yet. I would really like to solve this challenge w/o upgrading too early and w/o using a list order field (thatâs problematic, as you have said).
Any help is much appreciated! And KUDOS on an excellent pluginâŚ
First, wow. This is the most useful plugin Iâve found on Bubble to-date. Solves a whole, heaping bucket-load of problems and fulfills a dozen items on my Bubble wish list. And the time (and personality) youâve put into the documentation and education resources is just so generous. Thank you, Keith. Still learning my way around List Shifter, but will definitely contribute something to the cause once I get a better handle on things. Quick question: Is there a central place where I can find all of the tutorial videos youâve assembled? Thanks again! Hope youâre faring well in quarantine.
Anything that concerns List Shifter SHOULD be found in the thread above. My other âbest ofâ videos can be found by searching #lockdownandlearnwithkeith
And sorry Iâve been scarce here â I have cool new things to share, but also have a client thatâs keeping me super busy with non-Bubble work. (This is a blessing given the alternative of course, but itâs slowed progress on things like ReanimatorâŚ)
Thanks so much!
Keith, I know youâre swamped and might not see this for a bit, but I wanted to request a bit of help. Iâve been trying to build a simple filtered search page using List Shifter. The idea is to allow users to search posts by geolocation and then filter by tags, search range (distance) and sort method.
My filters are in a reusable, so Iâm passing the filter inputs via URL parameter to the main search page and then using those values to trigger a List Shifter that iterates through and then merges a series of searches by tag. The idea was that LS provided a tidy way to clean up the otherwise messy business of filtering based on an unknown number of tag inputs. That said, the search is still buggy and Iâm struggling to diagnose the problem.
You can see my setup in the screenshots below (as well as demo here). Iâd be very grateful for any insights youâre willing to toss my way.
Thank you!
Hi @keith,
Iâm trying to use List Shifter to make some accounting for me.
But Iâm getting stuck how to create custom lists based on stuff, create nested objects from this lists and maybe edit them on the browser before send to database.
Tried to follow some videos but didnât found anything similar
When I set the Rent, I need to schedule its rent, for example,
And after that, save them into my database linked (e.g. the expenses should have its bill uniqueid linked)
For example, I sold a contract of R$ 3.000 with 3 invoices and a 5% transaction fee.
(I split original value in 3 and discounted its transaction fee)
Any thoughts on this?
Thanks for everything!
Sorry for the slow response @ts11, if youâre doing a bunch of search constraints (or working out how best to do them) you might find this interesting:
Additionally, have you noticed that List Shifter has a Sort action? (That can sort using criteria that would otherwise be impossible to construct in Bubble.) The best description of this is here (you kinda need to read the whole thread as my response is in several parts):
Thank you thank you thank you! Iâll digest these ASAP. They look like theyâll be very instructive for me.
Hi @keith, extremely powerful plugin, thank you so much!
Running into a weird issue, I must be doing something silly. Iâm trying to swap two items in a list and save that updated list into the database. Seems to work fine but doesnât survive page refresh, for some reason.
I have my RG displaying the list as ordered in the database.
The ListShift element is taking the same list, also from the database:
My workflow is swapping the current cellâs item and the one below it.
And then I save the shifted list into the database.
I wasnât sure the second step of the workflow would wait for the first one to finish, but it all seems to work well. When I execute the workflow, the list displayed in the RG (read from the database) changes accordingly.
But if I refresh the page, I see the original list, not the updated one.
Any idea what is going wrong?
Here is quick video that shows the issue on a test page:
Hi @keith ,
Thanks for the awesome plugin, Iâm trying to use it to do something similar to your âinterleaving two listsâ example but am having a bit of an issue.
In my app I have have a a âthingâ called Meal that contains a list of Food (another "thing).
I have a text box where I want to show the list Food Names and whether or not that Food is a Favorite.
I setup one List Shifter to pull the list of Food Names, and another List Shifter to pull whether or not a Food is a Favorite formatted as text with a âheartâ icon if the value is âyesâ, and null if the value is ânoâ. I now want to interweave these two so that it will look like this: Food Name 1 (âheartâ), Food Name 2, Food Name 3 (âheartâ).
The error Iâm getting is that the text box wonât accept the value of the List Shifter Processed ListâŚitâs giving me an error of âDynamic Data in text boxes must be printable as text, but instead this is a non text expressionâ but all 3 lists to shift are set as âtextâ.
Here is a link to my editor: Plan My Meals Editor
Appreciate any help you can provide!
@keith hi keith, the issue with the customlist clearing and being set to empty isnt working properly again. WF 1- I set a custom list to hold 2 items. (this list is inside of a reuseable element. WF 2 i hide the Reuseable element in step 1 and show then next reuseable element. I then go to reset the list of item (set in wf1) to empty, using a custom wf. I first show the initial reusable element then use a custom wf to clear the list. in the workflow the customlist shows a empty value list⌠but when i inspect the same list. it shows the 2 items in the list instead of a clear empty list. is this because the list is within a reuseable element??