🆙Changelog
Reminder: Changes here will affect only new apps created with the template. If you have already started your app using the template, you will not receive these updates in your existing apps.
If you have already started your app using the template, you will not automatically receive these updates into your existing app. You will need to manually bring them over into your existing apps if you deem them necessary. I have tried to provide enough explanation below to make this simple but please let me know if you need help.
4th August 2024
Fixed Kanban 2D UI bug I noticed that once a column is empty, you could not drag an item onto that column, so I added a dropzone which allows you to drag into an empty column.
Disabled activity logs and deleted the existing logs Someone mentioned that the template was coming with over 1500 activity log entries in the database, which is not what I intended! I think every time I tested features it was creating the logs. I have deleted them all AND disabled the activity log feature, which was run off a database trigger. Any user who wishes to use the activity logs feature can simply remove this permanently false conditional in the backend workflows.
Fixed a login bug A user pointed out that if you try to login with an incorrect email, the login fails but the button remains in its "loading" state. I made a small change to fix this. If you want to implement the fix in your own app, you just need to go to the ⚙️ Ftn: Group - Signup/Login reusable element, select the main login/signup button, and add the text shown in red to the conditional tab. The text is:
[hi]no-icon[/hi]
3rd August 2024
Added two drag-and-drop Kanban board UIs If you want to create a user experience similar to a Trello board, a Kanban board is what you need.
I created two different Kanban UIs, one-dimensional (1D) and two-dimensional (2D). The one-dimensional version is simpler and just allows the moving of items between columns but not up and down within the column. The columns will always be sorted in the order you specify, for example if it's sorted by name and you drop an item with a name starting with Z, the item will automatically show at the bottom no matter where you drop it. The two-dimensional version is slightly more complicated because it allows the reordering of items within each column as well as moving between the columns. This means whatever data type you are displaying must have a numeric field storing the order in which items should be displayed in the list. For example, if your Kanban is showing tasks in different statuses, the tasks should all have an order field of type number and at the point of task creation you will have to assign a unique number to each task. Any questions - let me know in the Slack! Thanks.
4th July 2024
Added Replicate API call for generating music Replicate is an excellent service that lets you run all kinds of open source AI models, including your own, via an API. I added in a simple API call to one of the open source models which generates music from a prompt. You will need to add your own Replicate private key in the appropriate place. There are two API calls, one to create a prediction and one to get a prediction. Creating a prediction starts the model running based on the prompt you give it. You then need to check back periodically to see if your prediction has finished running, this is when you use get a prediction. You can replace the model ID with any of the open source Replicate models, but you will also need to update the JSON body so you are sending through the right parameters e.g. if you're creating an image, it won't need a duration.
In the example I've created, I first run a backend workflow replicate - generate music which runs the Create a prediction API call.
The workflow then schedules another backend workflow replicate - check prediction to run in 10 seconds time. This workflow uses the Get a prediction API call to check if the AI generation is complete. If not, it schedules itself to run again in 10 seconds time. This will continue until it returns a response from Replicate.
7th June 2024
Fixed signup issue where the "require email confirmation" functionality was not working correctly. I was made aware that switching on "require email confirmation" on specific roles in the OS - User Roles option set was not working correctly. Users who signed up were receiving the confirmation email but somehow their email address was being automatically confirmed without them doing anything. After investigating I discovered this was likely a timing issue with the way the initial signup workflow was running, and I eventually ended up refactoring the entire signup workflow to make it more robust. If you are running into this issue please watch this video to see how to update your signup/login workflows.
Simplified the menu option sets by consolidating the OS admin dashboard tabs into the main OS dashboard tabs option set. This should make it simpler to create multiple dashboards. All the sidebar menus now run off one option set and subtabs run off a second option set. There is a new option set called OS - App Locations which is a list of the menu locations within the app, this is used to decide which tabs to show where. For existing apps I wouldn't recommend trying to bring this change into your app, it's not necessary.
3rd May 2024
26th April 2024
11th April 2024
Fixed a bug which was redirecting logged out users to the email confirmation page There was a workflow in the 🖼️ Layout: Dashboard header reusable which would redirect users to the confirmation page if their email address had not been confirmed (i.e. they had not clicked the link in the confirmation email). This was incorrectly redirecting logged out users to the confirmation page. There was also no workflow generally redirecting logged out users away from the dashboard. To fix this I updated the redirect workflow to only occur when the user is logged in, and added another workflow to redirect the user to auth if they are logged out. For older versions of the boilerplate you will need to do the same: 1) In the Layout: Dashboard Header reusable on you will need to add "and the current user is logged in" to this workflow trigger's conditional. This will prevent it redirecting to that page. 2) You should also add another workflow "When user is logged out" with an action "Go to page... auth", which will then correctly redirect logged out users to the auth page.
2nd April 2024
Simplified the demo mode to make it less work to remove!
Unfortunately to provide a Bubble template it must offer a demo preview mode. Obviously I don't want random people creating things in the database or making changes to test credentials. So there is now one user in the database - test@test.com - and a "demo login" button on the landing page which logs the tester in as test@test.com. There are a load of conditionals on various buttons which make them not clickable if the current user's email is test@test.com. You can remove these conditionals if you want but the point is you don't need to if you don't want to, it shouldn't affect your app (unless you have a user with the email test@test.com). See the updated READ ME FIRST for more information.
23rd March 2024
Moved the right sidebar into the table reusable elements rather than a shared one on the dashboard In the Table reusable elements (Classic rows, Image grid, Coloured grid, Calendar) I have moved the right sidebar to be within the reusable element itself. This makes it much less fiddly to customise the sidebar to show the information you need for each table. Previously the right sidebar was hidden on the dashboard and triggered with a URL parameter. This added extra complexity but at the time I thought it was the only way to do a full height sidebar. Thanks to some custom CSS it is now within the reusable itself.
Last updated