Csharp utils dll
From OpenKM Documentation
DLL have been compiled for net 2.0 that should ensure go with any upper .net version |
OKMUtils DLL library has general purpose classes to help work with OpenKM.
- Download File:OKMUtils 2.0.zip
- Doxygen OKMUtils ( Packages & classes & files documentation )
Understanding the basics
- ConfigXML ( manage openkm.xml at MyDocuments/OpenKM user folder to store configuration )
- DictionaryHelper ( load .properties resource project file into dictionary )
- Logger ( manage log file into MyDocuments/OpenKM );
- FileUtil ( file utilies )
ConfigXML
ConfigXML helps on manage openkm.xml file stored at MyDocuments/OpenKM to keep application configuration parameters. First time is called ConfigXML if MyDocuments/OpenKM/openkm.xml configuration file not exists create one with default values.
We suggest to store language follow the format enGB (english, Great Britain), esES (spanish, Spain), etc... |
Example openkm.xml file:
<?xml version="1.0"?>
<openkm>
<host>http://192.168.1.34:8180/OpenKM/</host>
<user>okmAdmin</user>
<password>1HpkvlY72ks=</password>
<version>2</version>
<idioma>enGB</idioma>
</openkm>
Example:
// Read actual configuration
ConfigXML configXML = new ConfigXML();
// Read webservice based on OpenKM version
OKMWebservice webservice = null;
if (configXML.getVersion().Equals("") || int.Parse(configXML.getVersion())== OKMWebServiceFactory.PROFESSIONAL_6_4)
{
webservice = OKMWebServiceFactory.getInstance(configXML.getHost(), configXML.getUser(), configXML.getPassword(), OKMWebServiceFactory.PROFESSIONAL_6_4);
}
else
{
webservice = OKMWebServiceFactory.getInstance(configXML.getHost(), configXML.getUser(), configXML.getPassword(), OKMWebServiceFactory.PROFESSIONAL_6_2);
}
// Here for example store new configuration
configXML.setHost("http://localhost:8080/OpenKM");
configXML.setUser("okmADmin");
configXML.setPassword("admin");
configXML.setVersion(OKMWebServiceFactory.PROFESSIONAL_6_4.toString());
configXML.setLanguage("esES");
configXML.CreateConfigurationFile();
Program.configXML.ReadConfig(); // After created configuration file is good practice read again
DictionaryHelper
DictionaryHelper load source properties files into Dictionary. That is used to set translations to OKMForms objects.
Character # indicates is a comment line and the line will be skipped. |
File resource/translation-enGB.properties:
# Form configuration
form.configuration.name=Configuration
form.configuration.language=Language
form.configuration.version=OpenKM Version
form.configuration.userName=User
form.configuration.password=Password
form.configuration.host=Host
form.configuration.error.msg=Field {0} can not be empty
Example:
// We've assumed the namespace of the project is OKMExample
// and file transations-enGB.properties is stored under folder resources
// then the resource should be called OKMExample.resources.translations-enGB.properties
DictionaryHelper dictionary = new DictionaryHelper();
String resource = "OKMExample.resources.translations-enGB.properties";
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resource);
dictionary.loadDictionary(stream);
String nameLabel = dictionary.getTranslation(form.configuration.name);
Logger
Logger helps on manage log file into MyDocuments/OpenKM
Example:
// Initial declaration
// Will be created a file called DigitalSignature.log into MyDocuments/OpenKM folder
Logger.Instance.changeLogName("DigitalSignature");
Logger.Instance.changeLogLevel(Logger.DEBUG);
Logger.Instance.enableMessageBox(true);
// Application start
Logger.Instance.info("Application started");
// Error will display error MessageBox
// enableMessageBox should only be enabled in Forms projects
Logger.Instance.error("Some error");