This would produce a bullteted list of the title of all pages in the FlexWiki namespace that had a Category property whose value was equal to "WikiBehvior". Note that I've introduced a syntax for emitting the title. I can see this extending to being able to emit whatever captures the regex performs. For example:
to emit a table that would list all pages along with the value of their Category property.
I think this would be incredibly powerful, and particularly useful combined with FwDocGen, where I might want to emit a Status property into each class, method, etc. page, and then have a way to have a table summarizing the status of my development effort.
Questions, Thoughts, and Notes
I haven't quite figured out all the details around the template syntax.
I haven't quite figured out all the details around the substitution syntax.
Would it be feasible to use behaviors in the template value? It would require recursion in the processing engine.
It seems like there are some real chances of perf penalties. I've been thinking a bit about the idea of special "pages" that don't show up in normal queries, or as links, for hosting "data." I suppose we could just use the XML inclusion behavior, and have another process that spits out an XML file by querying the site on a schedule, but that feels hackish and wrong. -- TommyWilliams
How would we handle sorting and grouping?
What are the scenarios people can see using this in?
How do we do escaping in the template for things like quotes and newlines?
Since you're suggesting RegEx, use the backslash escapes (\t, \n, \", etc.) -- TommyWilliams
Is a behavior even the right way to handle this?
Is there some way to leverage SQL? The DataSet's query and sort capabilities?
Are there any other pseudo-properties besides Title that we'd want to introduce?
How do we introduce multiple constraints, so I can query on pages with a Category of WikiBehavior and a Status of "In Development"?
Discussion
I like this idea a lot. I have already run into this situation where I want to include a page (a list of machines, say) in another page as a list with bullets. I create the page, and it works. But then I realize that people might find that page all on its own, so it needs a Summary: and perhaps a SeeAlso: property. Whoops. Now those show up. There's no facility for just selecting the "body" (whatever that is) of a page for inclusion and not the properties.
What if I put the servers in the page as a property? That sort of works, but I lose formatting, or else the formatting is inconsistent.
The key thing about this for me is the ability to apply WikiText formatting when including values from other pages.
This will be a powerful capability. I expect that somewhere between 80-100% of this will be possible with the new BehaviorExpressionLanguage I expect to checkin this week. If it's not 100%, adding it will be very easy. I suggest giving me a week to get this in and see how close we are. I think you'll be excited -- DavidOrnstein
Cool! I'll definitely wait and see. Almost no way I could get it done by next week in any event - it's not like I don't have other FlexWiki bits that need looking after. :p -- CraigAndera
A WikiBehavior is a dynamically-generated piece of content on a wiki page.
9/25/2008 4:18:35 PM - FLWCOM-jwdavidson
A WikiBehavior is a dynamically-generated piece of content on a wiki page.
9/25/2008 4:18:35 PM - FLWCOM-jwdavidson
The software running this site. -> jump to HomePage
10/22/2006 7:52:17 AM - -81.182.199.248
a command-line tool for generating FlexWiki pages from C# compiler-generated XML documentation files.
9/28/2004 12:42:39 PM - author unknown
Tommy Williams is a lead program manager in MSDN.
9/25/2008 2:10:01 PM - FLWCOM-jwdavidson
Tommy Williams is a lead program manager in MSDN.
9/25/2008 2:10:01 PM - FLWCOM-jwdavidson
A WikiPageProperty is an easy way to give Wiki pages properties like Keywords, Summary, Definition, etc.
9/25/2008 5:27:30 PM - FLWCOM-jwdavidson
Tommy Williams is a lead program manager in MSDN.
9/25/2008 2:10:01 PM - FLWCOM-jwdavidson
A WikiBehavior is a dynamically-generated piece of content on a wiki page.
9/25/2008 4:18:35 PM - FLWCOM-jwdavidson
Click to read this topic
9/24/2008 5:23:33 PM - FLWCOM-jwdavidson
Click to read this topic
8/14/2008 2:03:27 AM - Evgeny Nedelko-194.110.202.240
Tommy Williams is a lead program manager in MSDN.
9/25/2008 2:10:01 PM - FLWCOM-jwdavidson
BehaviorExpressions are a mini-language for Wiki content. They are particularly useful for producing dynamic content and content linked to the state of the wiki engine (or context).
9/18/2008 7:17:16 AM - FLWCOM-jwdavidson
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
The software running this site. -> jump to HomePage
10/22/2006 7:52:17 AM - -81.182.199.248
Craig Andera is a consultant for Wangdera Corporation (his company). He blogs at "Pluralsight":http://pluralsight.com"","" and used to teach for DevelopMentor.