- Just for Scot and I. Doesn’t need to be great.
Processes
- adding new samples to the Design Media automated proposal demo system- This is supplanted by the new sample duplication UI
- moving new demos from the Design Media automated proposal demo system to the production demo system
Links
Current Progress
2022-04-27
Added created and modified dates to every demo record.
2021-08-30
We are in the process of adapting the system so that users can access individual demos with a demo-specific password.
I’ve started by duplicating the Login.vue file as DemoPassword.Vue to allow for demo password entry. To keep things simple, I think we will only allow for the password when loading the demo chromless (from a /demo/ url instead of a /demos url which also displays the admin chrome).
That view will store the password in the store as currentDemoPassword. We may need a way to persist these to local storage or cookies, but I worry about storing them on the machine in plain text. May want to run that by Scot.
I added a property to the chromeless demo route to indicate it requires a demo password and started writing a guard to see if a password is saved in memory in the store. (May also want to check in local storage if we end up storing there or just load the store from local storage with the app is initialized.)
I need to write a server-side function to check the password and return the demo JSON if the password matches. I’ll then need to pass that into the DemoChromeless component in the route. I’m not sure I need to set activeThing in the store to the demo, but it’s probably good to do it just in case the templates need it.
I haven’t quite worked out exactly how to display an error on the demo password view if the stored password doesn’t work. Will need to figure out that system.
2021-08-13
I got the sample duplication UI added. Discovered a bug in the new user modal that prevented the alerts from being displayed. I fixed it and decided to write a test to keep it from happening again. I can’t get the test to work. It seems like nothing is being rendered for the component. I suspect this is because the top-level nested component is a Vue Bootstrap modal. Tried a local Vue instance passing in the necessary Bootstrap components, and the rendered component’s HTML was still empty.
Post-Mortem
Reflections on the project