principles.design icon indicating copy to clipboard operation
principles.design copied to clipboard

Versioning of examples

Open benbrignell opened this issue 6 years ago • 3 comments

Design principles are designed to iterate and change over time. It would be good to factor in how to display changes over time. I can't quite think about how to do that in a simple way for contributors. Needs some thought.

benbrignell avatar Dec 01 '17 00:12 benbrignell

The only thing I can think of is having a footer link to the Git Commit history or Git Blame, seeing as it's automatically versioned here and it would be an easily maintainable (no maintenance required) way of doing it.

https://github.com/benbrignell/principles.design/commits/master/_examples/principles_of_design_with_watson.md

https://github.com/benbrignell/principles.design/blame/master/_examples/principles_of_design_with_watson.md

All you would have to do is put something like this in the template: https://github.com/benbrignell/principles.design/blame/master/_examples/{{ page.name }}.md

https://github.com/benbrignell/principles.design/commits/master/_examples/{{ page.name }}.md

MattGreyDesign avatar Dec 21 '17 11:12 MattGreyDesign

Thanks for the suggestion @MattGreyDesign.

This method would create quite a granular version history of the examples even if small changes (such as typos or more additions) are added. I'm wondering how we'd version a significant change.

Maybe the solution as simple as submitting a new set of principles if an organisation updates them and reevaluates things. Perhaps having a publish date field to identify the change between the new page and the old page.

I think for the time being it's probably too early to think about how to do this since there are few examples that have changed and few sources that show this change.

benbrignell avatar Dec 21 '17 12:12 benbrignell

I love this idea for versioning major changes to any design principles that might communicate something critical was learned which changed someone's approach / philosophy. At a personal level I like to document that type of change and see that being useful here too. Would also be cool to note why the change happened (if that is known information).

Suggestion - a way to demote a page so it doesn't show up as a full page. An expandable section that displays the previous versions on the new principles page. Of course a git like highlighting of the difference would be nice but it's not a lot of text so just having the text there for manual comparison could be ok. Implementation - I haven't explored the codebase yet but would be ideal to handle it with minimal changes needed from the contributors.

I'm working on my design principles and this resource was shared by my school and I really appreciate this project!

mishasaggi avatar Aug 02 '23 16:08 mishasaggi