All the small things (thoughts about constraints in EpiServer development)

The small things, the ones that take really not much time when implemented right at first opportunity (not delaying until … never). And how they will save a lot of project time down the road, for you developer and for other team members.

List of things I would like to have on every page/block/property

  • Make not shared blocks not visible in edit mode. AvailableInEditMode = false.
  • Add LimitPageType for every PageReference property.
  • AvailablePageTypes for every page. I like shaping the structure (and thus making it obvious to everybody) from the whole beginning.
  • Validate what can be dragged on ContentArea – not always good. You have to be sensitive here, as sometimes Editors will be confused and disapointed that they cannot save and forget what they did at this editing session.

Episerver 7 saving page error

Be explicit to everybody

Does it sound like self describing code to you? It sounds like this at least for me. Imagine that time you saved not doing it, have to be now spend on writing documentation/manual or comments in Jira. Or you are distracted by you colleagues questions, because they actually started using (testing is more appropriate here) the application. They of course report some things as bugs to you. And later exact the same things come like boomerang from the customer Editors.

I bet everybody wants to avoid this kind of additional work.

Don’t do it later

Some people have approach to do it near the end of development, when all more important core features are done and we finally ‚have time’. I have been doing software for years and this sweat moment almost never happens 🙂

Sum up about context changing

What I want to remember from this post is that context changing is very costly and its quite cheap to implement this constraints right when you are working at particular feature.

Do you have some other important things to add or consider some mentioned here concept not worth bothering?