Apologies for blogging something that's only of interest to NetReach employees. But if I put it here I might actually get around to writing it - possibly even updating it - and at least some NetReach people will read it. Do's and Don'ts for writing cmScribe code:
- Don't put anything end-user visible into an aspx page. Put it into a panel instead so that a template and styling can be added. If it needs to be on a separate page just add a configuration option in the admin control for the page ID.
- Don't hardcode any user-visible text; always make it configurable in the admin control.
- Don't put anything into Core without being very sure it belongs there; especially don't put anything into Core that has any dependencies outside of Core.
- Put plenty of classes on user-visible elements to provide hooks for styling.
- Don't put style into CSS files in the project if there's any chance a designer might want to override it. Create a Style in the database that the designer can edit instead.
- Follow the conventions for administrative styling, like using class="nr-edit-table" and <th> tags.
In the past few weeks I've encountered and fixed all of these. So I thought writing them down might be a good idea... (Updated to add: Clearly I'm not immune to forgetting these rules - I just noticed that the text 'Show All' in the Categories panel over on the left there when a category is selected is not configurable anywhere, and I wrote that panel myself...)