Difference between revisions of "Csharp utils dll"

From OpenKM Documentation
Jump to: navigation, search
(DictionaryHelper)
(DictionaryHelper)
Line 69: Line 69:
 
'''Example:'''
 
'''Example:'''
 
<source lang="csharp">
 
<source lang="csharp">
 +
// We've assumed the namespace of the project is OKMExample
 +
// and file transations-enGB.properties is stored under folder resources
 
DictionaryHelper dictionary = new DictionaryHelper();
 
DictionaryHelper dictionary = new DictionaryHelper();
 
String resource = "OKMExample.resources.translations-enGB.properties";
 
String resource = "OKMExample.resources.translations-enGB.properties";

Revision as of 16:00, 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.


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
DictionaryHelper dictionary = new DictionaryHelper();
String resource = "OKMExample.resources.translations-enGB.properties";
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resource);
dictionary.loadDictionary(stream);