Not sure if I’ve got this right, 3 weeks in and going great guns to recreate my firm’s old (complex CRM)… But I have 2 pages for every major datatype. 1 to display the data and edit via autobinding and 1 to create a new Thing. This is getting cumbersome.
Isn’t it possible to just have the one page for each datatype, for create, view and edit? Whenever I try to use the existing page to create a new Thing, it wants to pass the current data (understandably).
I do have abbreviated popups for quick create a Thing. Is that as slimlined as I’m going to get?
I would add that what I am also looking to create is a sort of global sub header with the option to open/create any datatype from and page the user happens to be on. Possible?
No requirement or need to have 2 pages. Agreeing with @ben4 – figure out how you want it to work and there’s probably a way to do it.
For this instance I’d try having all the entry/edit fields in a group. The group’s data source will be set to hold an item. The fields display the current item’s info. Users can change the info and hit a submit button, and then it writes the edited entry into the database. You can use that same group to create an item by having a “create” button which creates a new item and sets the group as that item. The fields will be blank and the user can fill them out and hit submit. On the same page you can also build a table to show data and when a user clicks a record, that record appears in your form for editing.
You can get even fancier by using conditions in the form so that it shows information as text fields, but when you hit an “edit” button it flips them all to input/edit fields. Or have the table of searchable data as the page and put the editing/create form in a popup. Or some other approach you think up!
I do have 1 page for each datatype which can be edited by autobinding. Happy with that. But what if my users were on the page of another datatype and they wanted to quick create a different datatype i.e. in my Real Estate use case, if they were on a Property page and they wanted to create a new Contact. When I set a button (or link) on the Property (datatype) page (Create New Contact) it won’t let me go to the Contact page - it wants to pass property data.
So my question more broadly is how to create a ‘global quick create’ panel so that users can, for example, hit a + button and a drop down appears (group focus) with icons for all my main datatypes, that the user clicks on and starts with a fresh, empty set of inputs to create that new Thing. All without having to create popups for every single page…?
Am I missing a trick in setting the page content type? Or a way to navigate to a page without having to pass data?
For whatever reason you set a content type at the page level, so yes if you go to the page Bubble will ask what item from the database you want displayed there. I would use that setup for something like a product catalogue, where a user navigates to a product page and you want to display all sorts of stuff, and you want that page to have a distinct URL related to that product. Otherwise I prefer the way I explained (no content type at the page level, just at the group level, which is more or less how I set my app up), since it gives me a lot more flexibility.
Regarding how to make this work under your setup, if you are on a page for one datatype and you want the user to hit a button that lets them create a new entry under another datatype, I see 2 options:
Popup as you know – but you could build a reusable element popup so that you can use the same popup across the pages
In the button to navigate to the page of another datatype and create one, set that up as a workflow where the first step is to create a new entry for that other datatype, and then the next step in the workflow is to navigate to the page for that datatype and the entry for that page is the result of the previous step (the new item)
PS: re: autobinding, I’ve stayed away from it because it’s less tolerant of accidents in editing data. If you have to hit “submit” to save the editing changes it provides a safeguard for when you make some changes or accidentally clear a field you didn’t mean to change. Also it felt a lot more efficient to have Bubble write the changes all at once vs. piecemeal.
If I don’t set the content type at page level, will I be able to use the one popup from all over the app, or will I have to have a bunch of RE popups? I guess I’ll play around and answer my own question
Yes, autobinding couuld lead to bad data, but I will run with it until it’s a problem.
Oh, I tried removing the Content type to one of my pages and got 63 errors. Could someone point me in the right direction? I’ve got my page with no content typre and all the groups and subgroups set to ‘Contacts’ (in this example), only option for data source field is Parent Groups Contacts, but that doesn’t seem to solve. my errors.,
You’re likely getting errors because all your fields are looking to the page’s Contact, and if you decide to take that away then you need to replace the reference with something else. For my app I put all inputs into a group and everything looks to the group for the item I’m displaying or editing.
If you want to stick with your existing structure (having the item at the parent level) you should probably be able to do that with approach #2 I listed.