• Tracking document life and version

  • We tried to make OpenKM as intuitive as possible, but an advice is always welcome.
We tried to make OpenKM as intuitive as possible, but an advice is always welcome.
Forum rules: Please, before asking something see the documentation wiki or use the search feature of the forum. And remember we don't have a crystal ball or mental readers, so if you post about an issue tell us which OpenKM are you using and also the browser and operating system version. For more info read How to Report Bugs Effectively.
 #1788  by alloydog
 
In the Properties tab for a document, there is the Status. Currently it seems it only shows \"Available\" and \"Locked by ...\"

I know theses come from where the document is unlocked or locked, but is it possible to have more statuses? Such as \"Draft\", \"Peer reviewed\" \"Approved\" and so on?

Also, how do you increase a document version number but the major number, that is, say, from 1.3 to 2.0?
 #1790  by jllort
 
For extends document properties you must use metadata ( we call as property groups ) where you can define closed list, input box etc... ( OpenKM comes with a example called my_group.cnd on %jboss_home% -> please try it on a developement environment not production, because you can not delete metadata structure when after defining ).

About number version you can not pass from 1.0 to 2.0 it\'s a tree structure naming nodes and always start with 1. if you forget this starting \"1.\" probably you\'ll view as normal naming versioning :

1.1 1
1.2 2
1.3 3
1.4 4
1.3.1 3.1 ( return to version 3 and increasing version )
1.3.2 3.2
 #1791  by alloydog
 
Is this the file:
Code: Select all
~$ cat /opt/OpenKM-3.0/my_groups.cnd
<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:tecnologia] mixin
- okp:tecnologia.tipo (string) = \'\' multiple autocreated
- okp:tecnologia.lenguaje (string) = \'\' autocreated
- okp:tecnologia.descripcion (string) = \'\' autocreated
- okp:tecnologia.comentario (string) = \'\' autocreated

[okg:consultoria] mixin
- okp:consultoria.tipo (string) = \'\' autocreated
- okp:consultoria.comentario (string) = \'\' autocreated
 #1809  by jllort
 
Exactly this is one of the needed files.

my_groups.cnd -> properties declaration
PropertyGroupValues.properties -> avaliable values for properties
PropertyGroupBundle.properties -> the property key values translation

For example:

1-On my_groups.cnd you can find okp:tecnologia.tipo -> this defines the property \"tipo\".
2-On PropertyGroupValues.properties you can see okp\\:tecnologia.tipo=4,uno,dos,tres

First number indicates representation
1- Input
2- TextArea
3- List
4- List select multiple

and
\"uno,dos,tres \" indicates avaliable values for this property.

3- Now only need to translate property and values on some languages ( at least one ) on PropertyGroupBundle.properties file:

okp\\:tecnologia.tipo.uno=Tipo Uno
okp\\:tecnologia.tipo.dos=Tipo Dos
okp\\:tecnologia.tipo.tres=Tipo Tres

Only one suggestion -> if you change properties file, probably you\'ll need to restart jboss server ( I\'m not sure about it, at least you need to restart OpenKM because property group ( metadata ) is only loaded at startup OpenKM login.

A final suggestion, because property group can not be removed after registering, consider to try on a testing environment not on a production. You can always overload metadata with more values and properties but you can not delete it. ( it\'s for historic repository reason ).

Hope it\'ll help you.
 #1945  by alloydog
 
OK, I have now registered the my_groups.cnd file, and can see the different properties values under Administration | Properties. Clicking View, shows the different properties.

But... how do I assign these to a document?

For example, if I created a property called Status, with the values \"Draft, Reviewed, Approved\". How would I add it to the list of document properties.

Currently, all I still is:
UUID
Name
Folder
Size
... and so on.

I don\'t see any of the new properties in the Properties section for the document.
 #1948  by pavila
 
There is a pair of buttons in the toolbar that can add or remove property groups. Once a property group has been assigned to the document, a new tab will appear in the document properties.
 #1952  by alloydog
 
Thanks, I see it now.

However, I added the new details to the files, but must have done something wrong, as I don\'t get my new option.

Here are the files, with my additions in red: *I have added a space between colons (: ) and s to stop the smilies...

my_groups.cnd:
<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:tecnologia] mixin
- okp:tecnologia.tipo (string) = \'\' multiple autocreated
- okp:tecnologia.lenguaje (string) = \'\' autocreated
- okp:tecnologia.descripcion (string) = \'\' autocreated
- okp:tecnologia.comentario (string) = \'\' autocreated
- okp:tecnologia.versioning (string) = \'\' multiple autocreated

[okg:consultoria] mixin
- okp:consultoria.tipo (string) = \'\' autocreated
- okp:consultoria.comentario (string) = \'\' autocreated

[okg: status] mixin
- okp: status.tipo (string) = \'\' autocreated
- okp: status.comentario (string) = \'\' autocreated


PropertyGroupBundle.properties:
okg\\:tecnologia=Tecnología
okp\\:tecnologia.tipo=Tipo
okp\\:tecnologia.tipo.uno=Tipo Uno
okp\\:tecnologia.tipo.dos=Tipo Dos
okp\\:tecnologia.tipo.tres=Tipo Tres
okp\\:tecnologia.lenguaje=Lenguaje
okp\\:tecnologia.lenguaje.java=Java
okp\\:tecnologia.lenguaje.c=C
okp\\:tecnologia.lenguaje.c++=C++
okp\\:tecnologia.lenguaje.python=Python
okp\\:tecnologia.descripcion=Descripción
okp\\:tecnologia.comentario=Comentario
okg\\:consultoria=Consultoría
okp\\:consultoria.tipo=Tipo
okp\\:consultoria.tipo.uno=Tipo Uno
okp\\:consultoria.tipo.dos=Tipo Dos
okp\\:consultoria.tipo.tres=Tipo Tres
okp\\:consultoria.comentario=Comentario
okg\\: status=Status
okp\\: status.tipo=Status
okp\\: status.tipo.draft=Status Draft
okp\\: status.tipo.peerreviewed=Status Peer reviewed
okp\\: status.tipo.approved=Status Approved
okp\\: status.comentario=Comments


PropertyGroupValues.properties:
okp\\:tecnologia.tipo=4,uno,dos,tres
okp\\:tecnologia.lenguaje=3,java,c,c#,c++,python
okp\\:tecnologia.descripcion=1
okp\\:tecnologia.comentario=2
okp\\:consultoria.tipo=3,uno,dos,tres
okp\\:consultoria.comentario=2
okp\\: status.tipo=4,draft,peerreviewed,apporved
okp\\: status.comentario=2


When I click New property, I still only get the options tecnologia and consultoria. I do shutdown and restart OpenKM between changes.
 #1954  by pavila
 
There are spaces between the okp\\: and the rest of each line. The same thing with okg\\:, okg: and okp:
 #1955  by pavila
 
By the way, you have to re-register the properties from the administrator backoffice.
 #1956  by alloydog
 
pavila wrote:By the way, you have to re-register the properties from the administrator backoffice.
ooops, forgot that bit...
:blush:

It works now. Thanks!
:)
 #1961  by alloydog
 
Works a treat!

Here\'s a recap for anyone like me who easily forgets things...

1. Add the new property details to the following files:

my_groups.cnd
PropertyGroupBundle.properties
PropertyGroupValues.properties

Here are my examples:
my_groups.cnd:
<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: status] mixin
okp: status.tipo (string) = \'\' autocreated
okp: status.comentario (string) = \'\' autocreated


This file creates the entries for type (tipo) and a comments (comentario) box.

PropertyGroupValues.properties:
okp\\: status.tipo=3,draft,peerreviewed,approved
okp\\: status.comentario=2


This file set the type to be a list of options (3) and defines the list items.
The comment box is defined as a text area (2)

1 = Input
2 = Text area
3 = List
4 = List, multiple select

PropertyGroupBundle.properties:
okg\\: status=Document Status
okp\\: status.tipo=Document Status
okp\\: status.tipo.draft=Draft
okp\\: status.tipo.peerreviewed=Peer reviewed
okp\\: status.tipo.approved=Approved
okp\\: status.comentario=Comments


This file defined what is actually displayed on the user interface.
status is the name shown on the property tab
status.tipo is the name shown in the dropdown list when you add the property.
status.tipo.draft and so on are the displayed names of the list options.

2. Register the property from the Administration | Utilities panel.
Use the full path and file name, in my case is it:
[drive]:\\user\\projects\\dms\\openkm-3.0\\my_groups.cnd

3. Restart OpenKM.

4. Use Add property on tool bar to add the new property to a file.
 #1962  by alloydog
 
One more question...

Is it possible to have the new property show automatically? That is as soon as a new file is added to the repository, the new property tab is there?

It\'s not such a big issue when adding files one by one, but in most cases, we\'ll get a folder of files, often 50+ which will need the custom property tab.
 #1966  by pavila
 
First you have to upload the file and after it, you can assign a Property Group. Currently there is way to both tasks in the same action.

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.