Home
Support Forums

How can I have my website show notifications based on the build process?

Hi there!

I imagine that, for larger websites with many static pages, when the user create some change (Like creating a new blog post) there will be a rebuild of the whole site. So, if I have a e-commerce and my client changes some price in the Netlify CMS, he might not see the change immediately, right? The build process needs to finish first after all.

What I want is to have my website knowing when a new building started and when it successfully ended, so I can create some notifications for my client that the website is being updated with the new changes in the admin area or something like that.

Or, if you guys would know better ways of handling that, I would love to learn about it!

Thanks!

Hi @rafael-lua,

You can turn on notifications for deploy failed/succeeded and receive those notifications on a web hook or Slack for example.

However, I’d recommend taking a different approach for this thing - that is, use some external data store (like Firebase) to store thr product information and only use Netlify for frontend. This would help you see real-time updates and also not burn your build minutes for something as trivial as a price change.

@hrishikesh

Thanks for the answer!

Does Netlify CMS work with external data instead of the github repo though? Or will I need a different CMS? Kind sad to give up this one.

No Netlify CMS would work only with Git-based workflows. What I was suggesting was completely different. Yes, CMS is probably easier for you to setup and your client to use, but as I said it will add this unnecessary wait time for even a simple preview.

If you think about going down the way I suggested, it would be something like:

  1. You’d setup frontend for the users of the website of your client
  2. You’d setup a backend for your client from where they can make changes to the products, add new stuff, etc. Note that, backend I this case also means a frontend in technical terms, but it’s more like an admin UI for the client.
  3. Both the frontend and the backend is linked to external storage like Firebase, FaunaDB, etc. where you’re storing the information of the products.

So you’d actually decouple your frontend from the data - the data and the UI can update independently. It would act like a template - you’d load a page of the website - fetch the data from the database and use JavaScript to update the contents of the page dynamically. So your client could update the data, it would update in the external database or solution that you choose and it changes in real-time or upon a refresh for the users. This is a lot more complicated setup, but if the project is worth the efforts, I’d go this way.

1 Like