Summit-Events-App
Summit-Events-App copied to clipboard
Enhancement: Lightning Web Components instead of Visualforce
Summit Events is built with well-written Visualforce pages that work well. However we know the UI future for Salesforce is in Lightning Web Components, so creating this issue to capture this future need (which could happen sooner if we have any LWC developers who want to build them for us:)
I looked at the code at this link and saw there are 17 Visualforce pages in Summit Events. Glancing through some of these pages, the fact that a lot of the page is Javascript or CSS styling makes things easier to migrate since that likely can be copy-pasted into the Lightning Web Component. I estimate this will take 3-5 hours to convert each page to LWC, so about 50-80 hours total work.
https://github.com/SFDO-Community-Sprints/Summit-Events-App/tree/master/force-app/main/default/pages
I’ve done a little coding not sure if you are looking for help with migrating to LWC but if you provide instruction on how to move them to LWC I’m happy to help.
Hello all,
Thanks for getting this started. Before anyone dives in I would like to jump in with a few suggestions.
The Visualforce pages that are currently in the app don't all need to be converted. 4 of those pages are visualforce site templates which should remain Visualforce pages (CastorTemplate2017, crowncollege2020, GeneralSLDS, and OPUSTempate2018). That, at least brings the number of pages down to 13. But in the end we will have many more than 13 LWC if we do this right.
I would like to approach LWC more modularly. With parent LWC and sibling LWC with data bubbling up and down between them. Dropping one Summit Events App LWC on a page should give you the full SEA experience in seemingly on LWC. The initial SEA LWC should take in an instance ID, and some LWC configuration parameters. If and Instance Id is not provided the LWC should be configured to show lists of events. Here is a diagram of what I am thinking:
Another approach: prototype an anonymous screen flow. I've never built one, but I read that they are possible and recommended for "multi-screen" registration scenarios. See how far you can get with standard components and identify where custom LWC would be required, or if the whole approach is infeasible or possibly more difficult to maintain.