Difference between revisions of "Csharp utils dll"

From OpenKM Documentation
Jump to: navigation, search
(ConfigXML)
(ConfigXML)
Line 12: Line 12:
 
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.
 
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.
  
{{Note|We suggest to '''store language''' follow the '''format enGB''' ( english , Great Britain ), '''esES''' ( spanish, Spain ), etc... }}
+
{{Note|We suggest to '''store language''' follow the '''format enGB''' (english, Great Britain), '''esES''' (spanish, Spain), etc... }}
  
 
'''Example openkm.xml file:'''
 
'''Example openkm.xml file:'''

Revision as of 16:58, 23 September 2013


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.

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