Csharp utils dll

From OpenKM Documentation
Jump to: navigation, search

Nota clasica.png 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.

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.


Nota clasica.png 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.


Nota clasica.png 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");