####.NET RPC-XML DokuWiki Connector API & Auth manager
this part of stCoCServer, see stCoCServer
####Features:
-
API .NET library allows to XML-RPC connect to remote DokuWiki.
-
Support all DokuWiki API operations.
-
Local DokuWiki file credential authenticate managements.
-
DokuWikiConnector source
-
DokuWikiConnector Test suite
-
DokuWikiConnector Method Documentation
-
Plugins publish dokuwiki.org
####Example use stDokuWiki.Connector:
using stDokuWiki.Connector;
using stDokuWiki.Data;
RpcXml xml = new RpcXml("http://you-dokuwiki-url.org/", "userquest", "userquest");
XMLMethodPageList dokuList = xml.DokuPageList("wiki:") as XMLMethodPageList;
foreach (var items in dokuList.Params.Param.Value.Array.Data.Value)
{
foreach (var item in items.Struct.Member)
{
Console.WriteLine(
item.Name +
((string.IsNullOrWhiteSpace(item.Value.Int)) ? " " : " [" + item.Value.Int + "] ") +
((string.IsNullOrWhiteSpace(item.Value.String)) ? "" : item.Value.String)
);
}
}
####Example use stDokuWiki.AuthManager:
using stDokuWiki.AuthManager
using stDokuWiki.Data;
DokuAuthManager dam;
try
{
dam = new DokuAuthManager("/path/to/dokuwiki/root/dir","mygroup");
List<DokuAuthUser> uadd = new List<DokuAuthUser>()
{
new DokuAuthUser() { Login = "userLogin1", Password = "pwd1234", Name = "Nikolas", Email = "[email protected]", Group = "personalGroup"},
new DokuAuthUser() { ... },
};
List<DokuAuthUser> udel = new List<DokuAuthUser>()
{
new DokuAuthUser() { Login = "userLogin2" },
new DokuAuthUser() { ... },
};
dam.UserAdd(uadd);
dam.UserDelete(udel);
dam.AuthSave();
DokuAuthUser dau = dam.UserGet("Nikolas");
if (dau != null)
{
Console.WriteLine(
dau.Name + " : " + dau.Email
);
}
}
catch (RpcXmlException e)
{
Console.WriteLine("[" + e.errcode + "] " +e.Message); return;
}
catch (Exception e)
{
Console.WriteLine(e.Message); return;
}