
![]() |
Show Changes |
![]() |
|
![]() |
Recent Changes |
![]() |
Subscriptions |
![]() |
Lost and Found |
![]() |
Find References |
![]() |
Rename |
![]() |
Administration Page |
| Search |
History
| 9/24/2008 9:24:01 AM |
| FLWCOM-jwdavidson |
| 8/5/2008 3:41:13 AM |
| 193.53.87.89 |
| 8/5/2008 2:10:50 AM |
| 193.53.87.89 |
| 8/5/2008 12:41:47 AM |
| 193.53.87.89 |
| 8/4/2008 11:09:01 PM |
| 193.53.87.89 |
![]() |
List all versions |
Related Topics
Monday, September 22, 2008 - 7:46 AM
The PluginLib.PluginLibraryContents allows the insertion of a section of XHTML code consisting of javascript and html client-side code into a topic. The code can be set to run automatically by providing an initialization routine and it can be personalized by providing users with details to set up their own versions of variables. This plugin will support anything you may wish, with the exception of updating topic contents, much like a widget in MAC OS X or Yahoo, or an iGoogle gadget. The sample provided is for an implementation of a Traffic Camera insert.
@@OdsWiki3.FleXhtml(namespace.GetTopicInfo("TrafficCamImplementation"),
namespace.GetTopicInfo(GetPersonalization.ToString), "TrafficCamDefault",
"TrafficCamScript", "TrafficCamHTML", "TrafficCamPersonalization",
"specialFirstLoad()")@@
:With: PersonalizationSupportLibrary
The WikiTalk call to FleXhtml has 7 parts to it:
The topic TrafficCamImplementation shows how items 3, 4, 5 and 7 are implemented. PluginLib.TestUser shows the implementation of item 6. It is important when creating the properties that the '[' (opening square bracket) is immediately after the ':' (full colon) of the property name with no spaces, e.g. ":[" the data should start on a new line and the closing square bracket for the property should be on a line by itself. It is possible to use indents in the properties, but it will display as sample code where indented (I do not recommend using spaces or tabs at the start of a line in these properties).
An actual working sample is found at PluginLib.TestTrafficCam
The binary plugin is integrated into FlexWiki by putting an entry into the flexwiki.config file as shown below. The administration section of the wiki has a verification section that provides a message if the plugin loads correctly.
<Plugins>
<Plugin>FleXhtml</Plugin>
</Plugins>
The reference to OdsWiki3 is just the namespace used in the source code for the plugin.
Permalink, TalkbackMonday, September 22, 2008 - 7:33 AM
This build includes a new administration page, TopicLocks.aspx, that will show the status of all file locks in a Namespace. If the user has the permission HasManageNamespacePermission then the page will also display a button for each topic that will allow the topic to be locked or unlocked as appropriate. See the screenshot below for a sample
The implementation ensures, by additional software validations, that locks cannot be set unless the user has successfully authenticated as a user with the appropriate authorizations. this allows a regular user to view the TopicLocks.aspx without the ability to make any changes (but the user would have to manually enter the link in the browser address bar).
The default _NormalBorders now includes links to the default administration page and to the new Topic Locks page. These links are only available if the user is authorized with HasManageNamespacePermission. T
The code for the new default right border is included below. This is so that users can upgrade their existing border definitions to take advantage of the new features. The new portion of code starts with namespace.HasManageNamespacePermission.IfTrueIfFalse and continues until ending with the line }, { "" }), just before the section for Recent Topics.
RightBorder:{
aTopic|
[
request.IsAuthenticated.IfTrue
{[
"||{C2+}",
"Welcome '''",
request.AuthenticatedUserName,
"'''",
"||",
Newline,
request.CanLogInAndOut.IfTrue
{[
"||",
with (Presentations)
{
Link(federation.LinkMaker.LinkToLogoff(aTopic.Fullname), "Log off", "Log off.")
},
"||",
Newline
]}
IfFalse{""},
]}
IfFalse
{
[
"||{C2+}Not logged in.||",
Presentations.Link(federation.LinkMaker.LinkToLogin(aTopic.Fullname), "Log in", "Log in."),
"||"
]
},
namespace.Description.IfNull
{
""
}
Else
{
[ Newline, namespace.Description ]
},
Newline, "----", Newline,
federation.About,
Newline, "----", Newline,
federation.Application("AlternateStyles").IfNull
{
""
}
Else
{
[
"||{T-}'''Change Style'''||",
Newline,
"||",
Presentations.FormStart("", "get","onsubmit='SetActiveStylesheet(this.styles.options[this.styles.selectedIndex].value);return false;'"),
Presentations.ComboSelectField("styles", ["Choose here."].Append(federation.Application("AlternateStyles")),null,[""].Append(federation.Application("AlternateStyles"))),
Presentations.ImageButton("goButton", federation.LinkMaker.LinkToImage("images/go-dark.gif"), "Select alternate stylesheet"),
Presentations.FormEnd(),
"||"
]
},
Newline, "----", Newline,
namespace.HasManageNamespacePermission.IfTrueIfFalse
({
[
"*\"\"FlexWiki\"\" Administration*", Newline,
MenuItem("Show Main FlexWiki Administration Page", "Administration Page", federation.LinkMaker.SimpleLinkTo("admin/default.aspx")),
MenuItem("Show Topic Lock Management Page", "Topic Locks", federation.LinkMaker.SimpleLinkTo("admin/TopicLocks.aspx")),
Newline, "----", Newline,
]
}, { "" }),
"*Recent Topics*",
Newline,
request.UniqueVisitorEvents.Snip(15).Collect
{ each |
[
Tab,
"*",
Presentations.Link(federation.LinkMaker.LinkToTopic(each.Fullname), each.Name),
Newline
]
}
]
}
Builtin topics such as NormalBorders or ContentBaseDefinition are lockable, if they have been modified from there default values and exist in the file system store.
Topics stored in Sql Server are not lockable at this time. The Sql Server store would require considerable to modification to allow locking, and will not be tackled at this time. Sql Server topic locks are functional as of build 2.0.0.200
It would be possible to add functionality to the topic locks page so that a Delete Topic button could be implemented as well as potentially a Delete Namespace button.
Permalink, Create Talkback Topic