Task Description:
Previously, we built the ? New car showroom list page overhaul. Now we need to build a tool that generates individual showroom pages (i.e. the details page that loads when you click on an individual vehicle).
Rather than having these pages have static layouts (as you can see here: https://www.vernontoyota.com/showroom/2024-Toyota-4Runner) we are going to have them actually generate real pages in our system that can then be edited/modified.
And here is Colin's latest design: https://flexdealertoyotacom.liftkit.io/showroom-model-page
OK, so how is this all going to work?
1) We will add a new page inside LiftKit under "Website" → "Content" called "Model Landing Pages" (MLPs). This page will only be accessible to "dccadmin" users and will show a table (datatable) of all years and makes for which we have generated MLPs. Table headings will be: Year, Make, Model, URL, Created, Modified, Actions.
2) On this page will be a button that when clicked will open a form to create new MLPs. The fields will be year, make, and URL structure. Upon entering the information and submitting, new MLPs will be created using the data they provided. Note: MLPs will not be created for ones (by year and make) that already exist, so if you tell it to create new pages for 2024s then it will only create pages for the Makes that are missing for that year.
URL STRUCTURE: Will be a combination of string + replacement text. Some examples:
new-inventory/YEAR-MAKE-MODEL → new-inventory/2024-honda-civic
MAKE-MODEL becomes honda-civic
3) An MLP is created as follows:
A new sitepage is created in our system (including associated siteboxes and siteboxes_sitepages_l entries)
Row widgets are placed on the page with regular text or image widgets inside of those. The same structure will be used for all MLPs.
Content will be obtained the same way we obtain content for the existing showroom detail pages (from ChromeData, and from the data in our "showrooms" table). Content includes what Colin shows, but also incentives, crash test ratings, color selector images, etc. There should also be CTAs in the hero (shop, claim offer)
We will pass that content to OpenAI to get human readable paragraphs of text, where applicable
4) Users can delete individual MLPs from the actions on this page. Deleting will ask the user if they want to set a 301 redirect to the same MLP for a newer year or not.
5) A user can also regenerate a page from scratch from the actions on this page (it will use the same page, but just regenerate all content on that page).
Once these are generated, LiftKit users can edit these pages, as usual (this lets the team change any content, images, etc. that they want). If they click "Edit" it takes them directly to the site builder for that page
If they click "Regenerate" it will ask for confirmation and then completely re-create the page from scratch.
If they click "Delete" it will ask for confirmation and then delete the page (same as if they went in and deleted the page from the site builder).
Miscellaneous/Questions/Issues:
The notes above have us generating full pages (including all row widgets and other widgets). However an alternative that I thought of is that we could actually just duplicate the demo page that Colin created and then just modify the content. Just something to consider.
How do we store that a page is a showroom detail page in the database?
How do we store which year, make and model that page serves?
How do we store the creation datetime and last modification datetime of a page?
Be sure to put lots of warnings when a user selects an action (e.g. if they want to delete a page or regenerate it, warn them that doing so will overwrite any and all customizations that have been made to the page since it was created).
The default existing showroom URL structure is https://www.WEBSITEDOMAIN.com/showroom/YEAR-MAKE-MODEL — these will still exist, but will always redirect to the new version of that page. So if I have created a page https://www.mysite.com/new-model-showroom/2024/Toyota/Camry then https://www.mysite.com/showroom/2024-Toyota-Camry will always redirect to that page.
There will need to be an option in the system for new showroom pages to be used (maybe we already built this for the list page?)
Video that can help (reviews showrooms in general, and talks about this new feature and how it relates): https://www.loom.com/share/4aa149b8d5c34c4cb7a4f53cf88fc55f
I am a text sub widget inside of a row widget



Hi this is a random text