New chapter of Weweb Academy: maintain/change your webapp (when in production/use)

Hi,

IMO Weweb’s Academy series may be improved with tips on how to best maintain your project. I’m sure this information already exists, but spread out over many places (probably mostly in the community - and partially in the existing Weweb Academy on Scaling your app).

Background for this idea is that I’m maintaining my webapp for some months now - and making various (smaller and larger) improvements while its in use. As it’s in (paid) use, I can’t afford much bugs. So I’m looking to scale my webapp, but I noticed that I can’t find a comprehensive guidance on (1) how to best setup my project to minimize future errors and (2) how to best change the project. This I’d like to know from an operational perspective using the Weweb editor.

Can Weweb - or anyone else - please help with this?

Topics like:

1. Design for easy maintaintenance:
- Use of variables: combine them as much as possible in objects, correct?
- Use as many global workflows as possible
- Use instances where possible (for example a central modal for warning messages)
- Use of ready-to-go elements: they help creating fast, but what might be disadvantages that may make them less beneficial in the long term? (e.g.: they can become outdated, but how to know which ones are most/least likely?)
- what else?

Note that this is partially covered by Weweb’s Academy on ‘Scale your webapp’

2. What does a sound DTAP process look like when applied to Weweb? (Develop, Test, Approve, Production)
My current thinking:
- First: develop the changes in a test environment. When tested/approved move (deploy) to production. Leave all the existing pages/functions targetted to be replaced.
- Second: Let users to acceptance testing - while having the opportunity to fall back on the existing/old design/function
- Third: Then copy production to test environment - and start to clean up whatever old design/function became obsolete.
- Fourth: ONLY after prior steps are successful, place the third step into production?
- Or is there another/better way?

3. Automatic testing of webapp
What are best practices for periodic testing and testing of changes? Does an automatic testing tool like cypress.io work well with Weweb? If not, what other tool(s) or testing strategies are recommended for Weweb projects?

4. How to clean up using the Weweb editor:

  • how to work in the editor with hidden elements (due to ‘display’ or ‘conditional rendering’ setup) → it looks like the option ‘force display in editor’ is only possible on the element level, what’s Weweb’s idea on how to effectively find hidden elements?
  • changing collections:
    • If the structure of a collection changes (in the backend, due to rationalisation/performance improvements) → it seems better to create a new collection and manually replace each binding (that way ensures a manual check on each binding).
    • If Weweb can ‘unhide’ elements and show their exact location, that would be a massive time-saver! Such as: is it bound to a state, action within a workflow, conditional rendering, somewhere else?
  • Replacing duplicate workflows for global workflows: how?

Thanks!
Any additions/comments are welcome.

1 Like

@thijs Thank you for the feedback! Adding to the academy is definitely on the education to-dos, and elaborating on the scaling and maintenance of an app will need to be a topic.

You didn’t mention components being in your current workflow. If you haven’t explored them yet, I would highly recommend doing so. They will enable any logic/design updates to be much more manageable.

Docs: Intro to components | WeWeb Documentation

1 Like