Difference between revisions of "Property Groups"

From OpenKM Documentation
Jump to: navigation, search
Line 10: Line 10:
 
To try this test login as okmAdmin and go to Administration → Utilities → Register property groups. Set full path with the location of the local file ''PropertyGroup.cnd'' and push the register button. The properties will be registered.
 
To try this test login as okmAdmin and go to Administration → Utilities → Register property groups. Set full path with the location of the local file ''PropertyGroup.cnd'' and push the register button. The properties will be registered.
  
[[File:Okm_001.jpeg]]
+
 
 +
<center>[[File:Okm_001.jpeg]]</center>
 +
 
  
 
'''WARNING: REGISTERED GROUPS CANNOT NOT BE UNREGISTERED. They can always be updated but they cannot be deleted after registration !!! Try it out on a test installation first.'''
 
'''WARNING: REGISTERED GROUPS CANNOT NOT BE UNREGISTERED. They can always be updated but they cannot be deleted after registration !!! Try it out on a test installation first.'''
  
 
== About files ==
 
== About files ==
* PropertyGroupBundle.cnd: There are general definitions on each parameter ( for example the parameter okp:technology.type )
+
* '''PropertyGroupBundle.cnd''': There are general definitions on each parameter ( for example the parameter okp:technology.type )
 
+
<source lang="xml">
 
 
 
On '''PropertyGroupValues.properties''' are the values, for example for parameter (okp\:tecnologia.tipo=0,4,uno,dos,tres ) has 3 values (uno,dos,tres) the first number indicates the ordering - starting with 0 - the second number indicates the type ( 1=input, 2=Text area, 3=list, 4= select multiple,  )
 
 
 
 
On '''PropertyGroupBundle.properties''' are general translations for each value you can have more files for each language like PropertyGroupBundle_ES.properties etc...
 
 
 
For example here are some translations:
 
 
 
<source lang="text">
 
okp\:tecnologia.tipo=Tipo
 
okp\:tecnologia.tipo.uno=Tipo Uno
 
okp\:tecnologia.tipo.dos=Tipo Dos
 
okp\:tecnologia.tipo.tres=Tipo Tres
 
</source>
 
 
 
OpenKM tries to find the correct language in your property files. If it does not exist uses it uses PropertyBundle.properties.
 
 
 
 
This is easy and powerfull for building custom properties.
 
 
 
 
 
== Full metadata example ==
 
'''File my_groups.cnd'''
 
<source lang="text">
 
 
<okm = 'http://www.openkm.org/1.0'>
 
<okm = 'http://www.openkm.org/1.0'>
 
<okg = 'http://www.openkm.org/group/1.0'>
 
<okg = 'http://www.openkm.org/group/1.0'>
 
<okp = 'http://www.openkm.org/group/property/1.0'>
 
<okp = 'http://www.openkm.org/group/property/1.0'>
  
[okg:tecnologia] mixin
+
[okg:technology] mixin
- okp:tecnologia.tipo (string) = '' multiple autocreated
+
- okp:technology.type (string) = '' multiple autocreated
- okp:tecnologia.lenguaje (string) = '' autocreated
+
- okp:technology.language (string) = '' autocreated
- okp:tecnologia.descripcion (string) = '' autocreated
+
- okp:technology.description (string) = '' autocreated
- okp:tecnologia.comentario (string) = '' autocreated
+
- okp:technology.comment (string) = '' autocreated
  
[okg:consultoria] mixin
+
[okg:consulting] mixin
- okp:consultoria.tipo (string) = '' autocreated
+
- okp:consulting.type (string) = '' autocreated
- okp:consultoria.comentario (string) = '' autocreated
+
- okp:consulting.comment (string) = '' autocreated
 
</source>
 
</source>
 +
 +
* '''PropertyGroupValues.properties''': In this file you can see the properties values, for example for parameter (okp\:technology.type=4,one,two,three ) has 3 values (one, two, three) the first number indicates the type ( 1 = list, 2 = input, 3 = select multiple, 4 = Text area )
  
'''File PropertyGroupValues.properties'''
+
<source lang="java">
<source lang="text">
+
okp\:technology.type=4,one,two,three
okp\:tecnologia.tipo=0,4,uno,dos,tres
+
okp\:technology.language=3,java,c,c#,c++,python
okp\:tecnologia.lenguaje=1,3,java,c,c#,c++,python
+
okp\:technology.description=1
okp\:tecnologia.descripcion=2,1
+
okp\:technology.comment=2
okp\:tecnologia.comentario=3,2
+
okp\:consulting.type=3,one,two,three
okp\:consultoria.tipo=0,3,uno,dos,tres
+
okp\:consulting.comment=2
okp\:consultoria.comentario=1,2
 
 
</source>
 
</source>
  
'''File PropertyGroupBundle.properties'''
+
* '''PropertyGroupBundle.properties''': This file contains general translations for each value you can have more files for each language like PropertyGroupBundle_ES.properties etc.
<source lang="text">
+
 
okg\:tecnologia=Tecnología
+
<source lang="java">
okp\:tecnologia.tipo=Tipo
+
okg\:technology=Tecnology
okp\:tecnologia.tipo.uno=Tipo Uno
+
okp\:technology.type=Type
okp\:tecnologia.tipo.dos=Tipo Dos
+
okp\:technology.type.one=Type One
okp\:tecnologia.tipo.tres=Tipo Tres
+
okp\:technology.type.two=Type Two
okp\:tecnologia.lenguaje=Lenguaje
+
okp\:technology.type.three=Type Three
okp\:tecnologia.lenguaje.java=Java
+
okp\:technology.language=Language
okp\:tecnologia.lenguaje.c=C
+
okp\:technology.language.java=Java
okp\:tecnologia.lenguaje.c++=C++
+
okp\:technology.language.c=C
okp\:tecnologia.lenguaje.python=Python
+
okp\:technology.language.c++=C++
okp\:tecnologia.descripcion=Descripción
+
okp\:technology.language.python=Python
okp\:tecnologia.comentario=Comentario
+
okp\:tecnology.description=Description
okg\:consultoria=Consultoría
+
okp\:technology.comment=Comment
okp\:consultoria.tipo=Tipo
+
okg\:consulting=Consulting
okp\:consultoria.tipo.uno=Tipo Uno
+
okp\:consulting.type=Type
okp\:consultoria.tipo.dos=Tipo Dos
+
okp\:consulting.type.one=Type One
okp\:consultoria.tipo.tres=Tipo Tres
+
okp\:consulting.type.two=Type Two
okp\:consultoria.comentario=Comentario
+
okp\:consulting.type.three=Type Three
 +
okp\:consulting.comment=Comment
 
</source>
 
</source>
 +
 +
OpenKM tries to find the correct language in your property files. If it does not exist uses it uses
 +
''PropertyBundle.properties''.
  
 
[[Category: Configuration]]
 
[[Category: Configuration]]
 
[[Category: OpenKM 4.0]]  
 
[[Category: OpenKM 4.0]]  
 
[[Category: OpenKM 5.0]]
 
[[Category: OpenKM 5.0]]

Revision as of 19:09, 21 January 2010

Metadata

This is easy and powerful for building custom properties. You can user this feature to add information to documents. For example, if you store the invoices in a folder you can add a property group to set the client name and the quantity. You will see this important data without opening the documents. Also you can search by these custom properties later.

You need to create some file, for example my_groups.cnd and insert some values in other two files PropertyGroupBundle.properties and PropertyGroupValues.properties.

  • $JBOSS_HOME/PropertyGroup.cnd
  • $JBOSS_HOME/PropertyGroupBundle.properties
  • $JBOSS_HOME/PropertyGroupValues.properties

To try this test login as okmAdmin and go to Administration → Utilities → Register property groups. Set full path with the location of the local file PropertyGroup.cnd and push the register button. The properties will be registered.


Okm 001.jpeg


WARNING: REGISTERED GROUPS CANNOT NOT BE UNREGISTERED. They can always be updated but they cannot be deleted after registration !!! Try it out on a test installation first.

About files

  • PropertyGroupBundle.cnd: There are general definitions on each parameter ( for example the parameter okp:technology.type )
<okm = 'http://www.openkm.org/1.0'>
<okg = 'http://www.openkm.org/group/1.0'>
<okp = 'http://www.openkm.org/group/property/1.0'>

[okg:technology] mixin
- okp:technology.type (string) = '' multiple autocreated
- okp:technology.language (string) = '' autocreated
- okp:technology.description (string) = '' autocreated
- okp:technology.comment (string) = '' autocreated

[okg:consulting] mixin
- okp:consulting.type (string) = '' autocreated
- okp:consulting.comment (string) = '' autocreated
  • PropertyGroupValues.properties: In this file you can see the properties values, for example for parameter (okp\:technology.type=4,one,two,three ) has 3 values (one, two, three) the first number indicates the type ( 1 = list, 2 = input, 3 = select multiple, 4 = Text area )
okp\:technology.type=4,one,two,three
okp\:technology.language=3,java,c,c#,c++,python
okp\:technology.description=1
okp\:technology.comment=2
okp\:consulting.type=3,one,two,three
okp\:consulting.comment=2
  • PropertyGroupBundle.properties: This file contains general translations for each value you can have more files for each language like PropertyGroupBundle_ES.properties etc.
okg\:technology=Tecnology
okp\:technology.type=Type
okp\:technology.type.one=Type One
okp\:technology.type.two=Type Two
okp\:technology.type.three=Type Three
okp\:technology.language=Language
okp\:technology.language.java=Java
okp\:technology.language.c=C
okp\:technology.language.c++=C++
okp\:technology.language.python=Python
okp\:tecnology.description=Description
okp\:technology.comment=Comment
okg\:consulting=Consulting
okp\:consulting.type=Type
okp\:consulting.type.one=Type One
okp\:consulting.type.two=Type Two
okp\:consulting.type.three=Type Three
okp\:consulting.comment=Comment

OpenKM tries to find the correct language in your property files. If it does not exist uses it uses PropertyBundle.properties.