Update: This feature is in the process of being implemented Due to the complexities of this implementation compared to the perceived benefits, this feature will not be implemented at this stage
The topic of minor edits has come up several times primarily for reducing clutter in RecentChanges. My reason for continuing the discussion and wanting to follow up is related to my bliki
The way that BLiki runs at the moment is to order topics one the home page according to when they were last modified and it also features a calendar that shows the dates on which topics were last changed (like a blog). So, when I change a topic and update it then that topic comes back to top of the list and the calendar updates accordingly.
This is all well and good and behaves as expected. However, the other day I noticed a problem with some WikiTalk in a bunch of topics that needed changing, but didn't change the actual content or meaning of the topic and so it was what I would call a minor edit. If such a feature existed then my date-based processing could handle just the date of the last major edit and ignore minor edits, thus preserving the chronological flow of my topics.
What does this mean for everyone else? Well, adding a minor edits feature would certainly allow the RecentChanges for a topic to be shorter (by default), but by and large the overall impact to a FlexWiki user would be fairly minimal. From a WikiTalk developer perspective you would gain access to these dates allowing the kind of processing I described above to be implemented.
Affected Areas
The key area affected by the implementation of a minor edits feature will be the ContentBase and the actual editing of a topic. Essentially, this would need to be extended to allow an edit to marked as a minor edit. In more detail the FileSystemNamespaceProvider would need to cope with creating topic files, named appropriately to deal with minor edits. I'm not aware of any database NamespaceProviders, but I suspect that the implementation of minor edits for these if/when they do exist would be easier than for the FileSystemNamespaceProvider.
The WikiEdit.aspx is the area most visually affected as this would require some kind of check box to indicate whether this is a minor edit or not. Additionally, Versions.aspx would be enhanced visually to allow a user to show minor edits (working on the assumption that minor edits are hidden by default).
The FlexWikiWebService would also need to be updated to allow clients to submit and retrieve minor edits as well as including, if required, minor edits when retrieving the list of versions.
Issues
What's the risk? On a public wiki like FlexWiki I guess the risk is that no-one ever makes a minor edit, so perhaps you make the minor edit feature enabled by default, meaning that you specifically have to tick a box to say it's a major edit (except for topic creation which would always be a major edit), but then you run the risk of no-one ever making a major edit. To be honest I don't see this as a problem. People who are already wiki aware through experience with a different engine will most likely expect to see some kind of minor edit feature and use it accordingly; those who are new to wikis and starting with FlexWiki will 'grow up' with the feature and use it accordingly. The only problem section of users are the established FlexWiki users who are used to absence of a minor edit feature, so all we need to do there is educate them to its presence and how to use it.
Another area of worthy of discussion of that of backwards compatibility via the FlexWikiWebService. How do we cope with old clients connecting to new servers with minor edits and ''new clients connecting to old servers that don't have the minor edits feature? This issue has already been raised on FlexWikiWebService and is a general issue for the web service, rather than being specific to minor edits.
Questions Requiring Answers Before Implementation
Comments
Derek Lakin is a C# .NET developer primarily focusing on Windows Forms development and a CoreDeveloper for FlexWiki. Currently employed by "Content Master":http://www.contentmaster.co.uk producing learning material, white papers, and presentations, primarily for "Microsoft":http://www.microsoft.com.
11/20/2007 3:40:12 AM - -90.206.52.15
Which are the related Feature Requests
1/24/2008 2:03:32 PM - FLWCOM-jwdavidson
Click to read this topic
10/5/2007 10:27:38 AM - -64.34.180.180
FlexWiki FAQ on editing and formatting
4/14/2008 12:18:49 PM - FLWCOM-jwdavidson
Click to read this topic
4/7/2008 5:18:01 PM - FLWCOM-jwdavidson
Flexwiki should ignore someone saving a document without making any changes to it
WikiTalk is a language for including dynamic content in FlexWiki topics.
7/7/2008 3:55:27 AM - 81.80.239.162
Click to read this topic
4/10/2008 2:11:26 PM - -66.78.127.196
The software running this site. -> jump to HomePage
10/22/2006 7:52:17 AM - -81.182.199.248
WikiTalk is a language for including dynamic content in FlexWiki topics.
7/7/2008 3:55:27 AM - 81.80.239.162
David Ornstein works at Microsoft. He is the primary original author and a key contributor to the software (FlexWiki) that makes this wiki run.
12/30/2005 5:33:26 PM - -208.54.15.129
Click to read this topic
9/29/2004 10:24:37 AM - SirLogical-209.125.147.162
An extension mechanism provided by Flexwiki to let namespaces be backed by any kind of store.
12/20/2005 10:36:46 AM - -131.107.0.105
FlexWikiWebService is a WebService that exposes APIs for retrieving and modifying content on a FlexWiki instance.
8/31/2007 9:28:07 AM - -76.30.20.161
The software running this site. -> jump to HomePage
10/22/2006 7:52:17 AM - -81.182.199.248
The software running this site. -> jump to HomePage
10/22/2006 7:52:17 AM - -81.182.199.248
The software running this site. -> jump to HomePage
10/22/2006 7:52:17 AM - -81.182.199.248
FlexWikiWebService is a WebService that exposes APIs for retrieving and modifying content on a FlexWiki instance.
8/31/2007 9:28:07 AM - -76.30.20.161
FlexWikiWebService is a WebService that exposes APIs for retrieving and modifying content on a FlexWiki instance.
8/31/2007 9:28:07 AM - -76.30.20.161
Derek Lakin is a C# .NET developer primarily focusing on Windows Forms development and a CoreDeveloper for FlexWiki. Currently employed by "Content Master":http://www.contentmaster.co.uk producing learning material, white papers, and presentations, primarily for "Microsoft":http://www.microsoft.com.
11/20/2007 3:40:12 AM - -90.206.52.15
Derek Lakin is a C# .NET developer primarily focusing on Windows Forms development and a CoreDeveloper for FlexWiki. Currently employed by "Content Master":http://www.contentmaster.co.uk producing learning material, white papers, and presentations, primarily for "Microsoft":http://www.microsoft.com.
11/20/2007 3:40:12 AM - -90.206.52.15
Click to read this topic
1/18/2005 1:41:13 AM - DerekLakin-62.189.22.124
Derek Lakin is a C# .NET developer primarily focusing on Windows Forms development and a CoreDeveloper for FlexWiki. Currently employed by "Content Master":http://www.contentmaster.co.uk producing learning material, white papers, and presentations, primarily for "Microsoft":http://www.microsoft.com.
11/20/2007 3:40:12 AM - -90.206.52.15
defines and describes what a topic is.
1/24/2008 9:02:34 AM - FLWCOM-jwdavidson
Korby Parnell is Senior Product Manager, Web Services, at Yahoo!, in Bellevue, Washington. Prior to his arrival at Yahoo! in 2007, he worked at Microsoft for 8 years in the Developer Tools Division, where he contributed to multiple v1 products and sites for professional software developers including: VisualStudio 7.0, 7.1, and 8.0, Visual SourceSafe, Team Server (canceled), VisualStudioTeamSystem blogs.msdn.com, gotdotnet.com, CodePlex.com, MSDN Wiki, MSDN Tagspace, and Claimspace (canceled).
7/30/2008 1:12:39 PM - -209.131.50.146
Click to read this topic
8/5/2008 3:42:49 AM - 193.53.87.89
Craig Andera is a consultant for Wangdera Corporation (his company). He blogs at "Pluralsight":http://pluralsight.com"","" and used to teach for DevelopMentor.