db4o Developer Community

db4o open source object database, native to Java and .NET
Welcome to db4o Developer Community Sign in | Join

User's Manual

CS-Wiki Concepts

First let's go over some of the core concepts that make up CS-Wiki

Content Organization

Content is organized into topics (pages) and topic sets (page groups or folders). The use of topic sets are completely optional and may be turned off by your site administrator. All topic sets use a topic with the same name as their default topic. For example: a topic set (or folder) named "Business Processes" will display a topic with the same name if no other topic name is specified.

Content Markup Language

Editing content in CS-Wiki requires that you know only a single special markup tag. The double-bracket block ([[...]]) which will be discussed further down. All other content formatting is done through a WYSIWYG HTML editor, the same type of editing featureset that most word processor applications use. Most other wiki systems require the user to learn a rudimentary markup language.

Navigation in the Default Skin

When looking at a topic, there will be a bar on the right hand of the page which will contain information about the page you are looking at and a list of actions you can perform from your current location. The list of "common tasks" may be shorter according to the level of permissions that your administrator has granted to you.

Editing

Editing a topic

If you have permission to edit the page you are looking at, a link titled "Edit this topic" will be visible in the "Common Tasks" panel in the right-hand sidebar. Clicking it will take you to the edit page. Once on the edit page, make your changes and click the save button.

Linking topics

While editing a topic, if you wish to create a link to another topic, you use double square brackets to enclose the title of the desired topic. For example, to link to a topic called "Business Processes", you would type [[Business Processes]] which would look like this: Business Processescreate it.

You can use double-square-brackets to create a link to another topic. Like this examplecreate it. The topic that you link to does not have to exist; when clicked, it will instruct the visitor that they may create the content of that topic (if allowed).

By default, the previous link will create a child page. If you'd like to link to a topic elsewhere, you can use the topic path within the brackets like in these example:

  • Link to a topic in the default location (according to the Topic Link Base, below): [[Topic]]
  • Link to a topic under the parent of the current topic (Sibling): [[../Sibling]]
  • Link to a topic under the current topic: [[./Child]]
  • Link to a child of a child: [[ChildA/ChildB]]
  • Link to the root topic: [[/RootTopic]]

If needed, you can override the text shown for your links by using the pipe character '|' within the brackets: [[Sample Link|Click Here]].

CS-Wiki is fully integrated into Community Server. You can also link to a wiki topic from a forum or blog post. When you do this, you must include the full path to the desired wiki topic, including the root. For example, to link to a topic in the sandbox from the forums or blogs, use the following: [[/Sandbox/]]

Starting a new topic

New topics can be started either by following a link to a non-existant topic, or by navigating directly to a non-existant topic by typing in the desired URL into your browser's address bar. If you do not have permission to create a new topic in the desired topic set, an error message will be displayed.

Before starting a new topic: (copied from the MediaWiki editing help)

  • Look arround to see if a similar topic already exists.
  • Be aware of naming conventions in the topic set you are working in.
  • Is a seperate topic justified? Perhaps it would be better to add your content to an existing topc? It can always be split up later.

To create a new topic by linking, edit any topic, and create a new wiki link to a non-existant topic within the body of the topic you are editing. Save your changes and click on the link. You will see a message indicating that the topic does not exist and a invitation to create it if the topic set administrator has allowed new topics to be created.

Sometimes the topic you wish to create is not associated with any existing topics. In this case, it's better to directly create the new topic by typing the desired topic name into your browser's address bar. CS-Wiki URLs will always follow the following naming scheme:

http://<sitename>/<wiki-root>/view.aspx/<path to desired topic>

Feel free to experiment in the sandbox.

Attachments

Attachments can be uploaded via the Topic Set Management screen. After uploading, attachments are topics with the same name as the uploaded file and can be viewed and edited the same as any other topic except that they do not appear in the topic index.

http://<sitename>/<wiki-root>/view.aspx/<attached file.ext>

Attachment files are downloaded via a different URL (also shown on the attachment topic page):

http://<sitename>/<wiki-root>/download.ashx/<attached file.ext>

You can return to the Manage Topic Set page at any time to update your uploaded file by simply re-uploading a file with the same name. Any changes you have made to the topic will remain the same.

You can also enter links to attached files by using the standard link notation: [[FileName.Ext]] or by using the special attachment tag: [attachment=FileName.Ext] (notice only 1 square braket is used), or image attachments can use [image=FileName.Ext].

Sample Attachment Link: [[Success.gif]]
Success.gif

Sample Attachment Tag: [attachment=Success.gif]

Success.gif (Details)
Download (1.4kB)

Sample Image Attachment: [image=Success.gif]

Code Snippets

You can include code snippets into your topics by uploading a source code file (via attachments, above) and using the [code=FileName.Ext] syntax.

Sample Code Snippet: [code=DemoCode.cs]

Download DemoCode.cs
01 using System; 02 using System.Collections.Generic; 03 using System.Text; 04 05 namespace PartsAssembly { 06 //TODO: add System.ComponentModel.INotifyPropertyChanged 07 public class Part { 08 09 #region public constructors 10 public Part() { } 11 public Part(string name) { 12 this.name = name; 13 } 14 15 //constructor for data loading. 16 public Part(string category, string name, string manufacturer, string manufacturerPartNumber) { 17 this.category = category; 18 this.name = name; 19 this.manufacturer = manufacturer; 20 this.manufacturerPartNumber = manufacturerPartNumber; 21 } 22 #endregion 23 24 private string category; 25 public string Category { 26 get { return this.category; } 27 set { this.category = value; } 28 } 29 30 private string name; 31 public string Name { 32 get { return this.name; } 33 set { this.name = value; } 34 } 35 36 private string manufacturer; 37 public string Manufacturer { 38 get { return this.manufacturer; } 39 set { this.manufacturer = value; } 40 } 41 42 private string manufacturerPartNumber; 43 public string ManufacturerPartNumber { 44 get{ return this.manufacturerPartNumber; } 45 set{ this.manufacturerPartNumber = value; } 46 } 47 48 public override string ToString() { 49 return String.Format("{0} {1}", this.Manufacturer, this.Name); 50 } 51 52 public bool IsComponentOf(PartAssembly assembly) { 53 return assembly.HasChildComponent(this); 54 } 55 } 56 }

You can also reference source code files stored within ZIP files using the following Sytax:

[code=CompressedFile.zip#SourceC