Csharp utils dll

From OpenKM Documentation
Revision as of 15:59, 23 September 2013 by Jllort (talk | contribs) (DictionaryHelper)

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 );

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:

DictionaryHelper dictionary = new DictionaryHelper();
String resource = "OKMExample.resources.translations-enGB.properties";
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resource);
dictionary.loadDictionary(stream);