Wiki properties are created simply by typing a property name and a colon at the start of a line. The value is everything else on the line. Look, for example, at the top of this page. There's a property called Summary and it's got a value of A WikiPageProperty is an easy way...
For properties with multiple values (e.g., Keyword), the convention is to use commas to separate the values. For example:
Keywords: Wiki, Properties
Property names must start with an uppercase letter or an underscore. After that, they can contain upper and lowercase letters and underscores.
Note that a property name written in PascalCase is itself be a link to a TopicName and can be clicked, however the formatting is a little unclear, e.g.
""Escape:"" Just double double-quotes
Escape: Just double double-quotes
[Hidden properties were added in build 1567]
Sometimes you want a page to have a property, but don't want to "clutter" the page with the property. To do this, prefix the property name with a colon (:). This will still set the value of the property for the topic, but the topic will not be displayed in the page.
For example,
Summary: this page is about DogFood
is a conventional use of a WikiPageProperty. However, using that form always causes the property to show up formatted in the topic page. To hide the property, add the colon prefix:
:Summary: this page is about DogFood
This will cause the property to not be displayed. Other than being hidden when the topic is displayed, the ':' has no other effect.
Note that you must have at least one space after the trailing colon for FlexWiki to recognize the property and actaully hide it. -- XtopherBrandt, 2007-02-19
You can create multi-line page properties like this:
PropertyName:[ This is a very long property definition. It is useful to be able to do this for multiple paragraph properties ]
which produces:
The end of a multi-line property is marked by a single right-bracket on a line by itself.
Due to formatting limitations it is recommended that the content for a muti-line property starts on the second line:
FormattedProperty:[ !!!Formatted heading Normal text, '''bold''', ''italic'' ]
Which produces:
Instead of:
FormattedProperty:[ !!!Formatted heading Normal text, '''bold''', ''italic'' ]
Which produces:
Sometimes (as in a WikiSpec) you may want to include only a WikiPageProperty rather than the entire page (as you get with WikiIncludes). How do you do this? Use the format
wiki://PageName#PropertyName
For example:
AbstractContentBase - A ContentBase is the things that holds a bunch of topics. Currently a ContentBase is backed by a set of files in a folder in the file system. An AbstractContentBase would be a generalization of this concept to allow for various kinds of storage "behind" the content base (e.g., SOAP, database).
---
(See how this compares to when the AbstractContentBase topic appears in a more conventional form as in this sentence.)
---
The following WikiTalk displays a list of pages that use the "Keywords" WikiPageProperties:
@@
[
"||{!}'''Page'''||{!}'''Keywords'''||{!}'''Summary'''||",
Newline,
namespace.Topics.Select
{
each |
each.HasProperty("Keywords")
}.Collect
{
e |
[ "||", e.Name, " ||",e.GetProperty("Keywords")," ||",e.GetProperty("Summary"),"||", Newline ]
}
]
@@
Here is the actual list generated by that WikiTalk code:
| Page | Keywords | Summary |
| AttachmentPage | Administrator | This explains the process of creating an attachment for a page. The basics steps are to upload a file to the server and then define the attributes for the attachment and then include those attributes in the topic page. |
| BlogSupportLibrary | Developer, Examples | a sample blog for JohnDavidson |
| BooleanDemo | Examples | |
| CreateCustomErrorPage | Installation | details how to create and configure a custom error page |
| CreatingDynamicTopics | Indexing | How to create dynamically sorted topics. |
| DailyTip01 | Array Integer Math Random Tip | This is a Wiki Tip Of The Day |
| DailyTip02 | Array Integer Math Random Tip | This is a Wiki Tip Of The Day |
| DailyTip03 | Array Integer Math Random Tip | This is a Wiki Tip Of The Day |
| DailyTipPage | Array Integer Math Random Tip | This is a page trying to display tips of the day |
| DebuggingFlexWiki | Developer | a few tips on ASP.NET debugging of FlexWiki |
| DiscussionSupportLibrary | Developer, Examples | this is a library of WikiTalk functions to support discussion pages with FlexWiki |
| ExamplePropertyPage | Used for meta-tag information for the HTML page header, helps with search engines. | A summary property will be displayed in the tooltips of any page in this wiki linking to this page. For example ExamplePropertyPage. Also used as HTML meta-tag in the header. |
| FileLockingImplementation | JohnDavidson, Blog | describes the implementation of File Locking in TopicLocks.aspx |
| FileLockingImplementationTback | FileLockingImplementationTback | |
| FileLockingImplementationTback#_T15205239564 | FileLockingImplementationTback | |
| FileLockingImplementationTback#_T15205252377 | FileLockingImplementationTback | |
| FileLockingImplementationTback#_T15205956377 | FileLockingImplementationTback | |
| FleXhtmlImplementationTback | FleXhtmlImplementationTback | |
| FlexWiki2Upgrade | Installation, Administration | instructions for upgrading FlexWiki from version 1.8 to version 2.0 |
| FlexWikiAsThreadedMessageBoard | JohnDavidson Blog | proposal to add threaded message board features to FlexWiki |
| FlexWikiAuthentication | Security | describes authentication options for FlexWiki |
| FlexWikiAuthorization | Security | Description of the new authorization features in FlexWiki 2.0. |
| FlexWikiBinaries | Installation | How to install and configure FlexWiki on your own server |
| FlexWikiBlogging | JohnDavidson, Blog | a sample blog for JohnDavidson |
| FlexWikiCSS | Developer | describes the standard CSS files and structures used by FlexWiki |
| FlexWikiFaq | Help | This page provides answers to Frequently-Asked Questions about FlexWiki |
| FlexWikiPictureGallery | JohnDavidson, Blog | a blog page about using FlexWiki for running a Picture Gallery |
| FlexWikiSecurity | Homepage | a listing of the security related pages for FlexWiki |
| FlexWikiSources | Administrator, Developer, Glossary | Latest builds: http://builds.flexwiki.com/download/ |
| IndexingWikiContent | Wiki, Indexing | Wiki content is easy to have appear in a search engine. |
| InstallingFlexWiki | Installation | Information about how to install the wiki |
| IntegerDemo | Examples | |
| KyleMacarthur | Array Integer Math Random Tip | Contact details for Wikinaut |
| LPtest | Peter | TestPage |
| NewTestCSS | JohnDavidson, Blog | steps necessary to create a new css for FlexWiki in under 30 minutes |
| OdsWikiPluginRelease1 | JohnDavidson, Blog | provides links to details of plugins available at OdsWiki.PluginLibrary.PluginLibraryContents |
| OdsWikiPluginRelease1Tback | OdsWikiPluginRelease1Tback | |
| OneMinuteWiki | Help | This is an quick introduction to what a wiki is. |
| PaoloMasetti | Key1, Key2, Key3 | Paolo Masetti, who is testing FlexWiki. |
| PictureGalleryLibrary | Library, Developer, Examples | a library for picture gallery suport functions |
| PlayPageForMe | playpage, playboy, tiger | aaa. |
| PossibleFutureDevelopment | JohnDavidson, Blog | describes possible future development of FlexWiki and discusses options available |
| PossibleFutureDevelopmentTback | PossibleFutureDevelopmentTback | |
| SearchContactInterests | Properties Search Boolean | Testing parse of page properties and boolean search |
| SettingUpFlexWikiInAnExistingVirtualServer | Administrator, Installation | installation instructions for FlexWiki in an existing virtual Server |
| TableOfContentsImplementation | JohnDavidson, Blog | describes the implementation of a TableOfContents method for TopicInfo in WikiTalk |
| TableOfContentsImplementationTback | TableOfContentsImplementationTback | |
| TestPageABC | test, wiki, talk, key, list | This is a KeywordsList test |
| ThreadedMessageForumDevelopementUpdate | JohnDavidson Blog | update on progress for proposal to add threaded message board features to FlexWiki |
| ThreadedMessageImplementation | JohnDavidson, Blog, Developers | describes the implementation of threaded messages in FlexWiki for Forums, Blogs and Discussion pages |
| TipOfTheDay01 | Array Integer Math Random Tip | This is a Wiki Tip Of The Day |
| ToDoListManagementFeature | JohnDavidson, Blog | describes the possible implementation of a To Do List Management feature in FlexWiki |
| TopicInfoDemo | red, yellow, hot pink, isuzu, melodrama, Developer, Example | This topic discusses how, using WikiTalk, you can access information about topics. |
| TopicInformationDemo | red, yellow, hot pink, isuzu, melodrama | This topic discusses how, using WikiTalk, you can access information about topics. |
| WikiNature | Glossary | How wikis behave. WikiNature is, that it changes with the mind and goals of the users. That means, that if they want to blog, the wiki should start blogging. |
| XhtmlSkins | JohnDavidson, Blog | describes a proposed implementation of XHTML Skins and updates recent development efforts |
| XhtmlSkinsTback | XhtmlSkinsTback |
This code snippet displays the same information, but includes all namespaces:
@@
[
"||{!}'''Page'''||{!}'''Keywords'''||{!}'''Summary'''||",
Newline,
federation.Namespaces.Collect{ns |
ns.Topics.Select{each | each.HasProperty("Keywords")}.Collect{e |
[ "||", e.Name, " ||",e.GetProperty("Keywords")," ||",e.GetProperty("Summary"),"||", Newline ]
}
}
]
@@
All topics have a set of ImplicitProperties that FlexWiki assigns to them without them appearing explictly on the page. These include:
| _TopicName | The name of the topic |
| _TopicFullName | The full name of the topic (with version) |
| _LastModifiedBy | The identity of the person who last modified the topic |
| _CreationTime | The time when the topic was last created |
| _ModificationTime | The time when the topic was last changed |
| _Body | The unformatted text content of the topic |
All of these properties are strings.