Wiki Page Property
Last changed: -216.145.252.145

.
Summary
A WikiPageProperty is an easy way to give Wiki pages properties like Keywords, Summary, Definition, etc.

Creating WikiPageProperties

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

PlayPage

What is WikiPageProperty used for?

What might properties be useful for someday?

Rules for property names

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.

Single
DoubleWord
PascalCase
Question
Answer
 ""Escape:"" Just double double-quotes

Escape: Just double double-quotes

Question
Question

How do I escape a property that a word in PascalCase does not become a link?

        PrimaryKey: ENTITYID

Becomes a link. I've tried

        ""PrimaryKey"": ENTITYID

with no luck -- JihoHan, 2005-12-01

Hidden Properties

[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

Multiline property values

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:

PropertyName

The end of a multi-line property is marked by a single right-bracket on a line by itself.

Question

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:

FormattedProperty

Formatted heading

Normal text, bold, italic

Instead of:

 FormattedProperty:[ !!!Formatted heading
 Normal text, '''bold''', ''italic''
 ]

Which produces:

FormattedProperty

Including properties in another page

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.)

---

ExamplePropertyPage

Using WikiTalk to list Pages containing specific WikiPageProperties:

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 ]
                }
        }
 ] 
 @@


Question
How to get all the instances of the same property on one page? E.g. I can have a couple of ToDo properties on the same page and I want to display all of them. GetProperty returns just the last one. Thanks! - Adrian Vinca
Answer

Try TopicInfo.GetListProperty(propertyName). It returns an array of the values of this property. See TopicInfoType. - Dan Vanderkam

This only returns the list of values (e.g. values separated by comma) of the last "instance" of property "propertyName" and not the list/array of all specified properties. - Peter Mueller

Question

Implicit Properties

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.