Best practice for running a back office

I have a large site where I need one output for the clients (regular web site) and one for our staff (back office) with data entry and modification using javascript modules. Thus far I have been using the json output for the latter but the difficulty starts in redirecting pages as our content is up to 7 or 8 levels deep. I realise that is then becomes a nginx issue which I hope to avoid.

When you click on an item on a list page, clients and staff see the same single page while I want our staff to be directed to a different location to be able to see and edit the same data (i.e. a different layout type).

Using two themes, I can create different layouts for different sections which is not what I am after I think.

Just wondering what is best practice in this case. Thanks for thinking along.

hugo v0.83.1-5AFE0A57+extended linux/amd64
git@github.com:ourmaninindia/odyssey-tours.git

Best practice and what you are after is a CMS. Hugo has no influence on the site after it’s built. Probably via an API into your CMS. You could export that as data files and built from that the website for those without edit access.

I am trying to use Hugo as a CMS as I just love the flexibility of the software

Hugo is not a CMS. It lacks a GUI frontend.

You need to use a third party content management platform like Strapi (Open Source), Contentful (proprietary with a free plan), Ghost (Open Source) etc and publish the content files contributed by your project’s various users as JSON files (or CSV) through an API (either through a CI, a server, or local network) that will in turn be consumed by Hugo for website compiling and publishing.

Thanks for your input. I had already heard a lot about Strapi on the JamStack conference.

I actually solved part of my issue with a dual configuration and two themes (website user and back office) following this great article https://hitthecloudrunning.com/blog/2020/04/17/use-a-single-hugo-codebase-to-generate-content-for-different-audiences/.

However, your suggestion of Strapi may save me a ton of work writing front end layouts. Would you be able to forward a link of a good Hugo-Strapi implementation video or article? Google appears not very generous here, as a matter of fact I cannot find a single one. In the meantime I will play around with Strapi.

Sorry. I’m not aware of such an article.