cancel
Showing results for 
Search instead for 
Did you mean: 

Viability Study - WORKDESK

dmralfing
Champ in-the-making
Champ in-the-making
I have installed workdesk in my machine and I´m trying to do a demo in order to evaluate if it can cover most of the requirements for a big project.
The problem is that I only have seen a document called "Alfresco_Workdesk_Configuration_Guide_4.1.1.pdf", but it´s far from complete. Can I find any other document, samples, demos.. that explains everything I can configurate with workdesk?. It´s very important the fact that I can show different elements in the user interface depending on the role user I choose in the combo. But I don´t see this combo in my workdesk I have installed!!
Thanks!
16 REPLIES 16

deko
Star Contributor
Star Contributor
Hi dmralfing,

Where have you found/downloaded the Workdesk Configuration guide? There should be at least also a Workdesk Installation Guide available, as well as other documents being ready to released. In general you can find related Alfresco products documentation at http://docs.alfresco.com

If you are interested in demos you can have a look at YouTube, where lots of Workdesk demo videos are available. If you are interested in an out of the box sample show case, it makes sense to download the Workdesk trial package, which connects against an online Alfresco repository and comes preconfigured with a full "Customer Management" show case and the required documents (e.g. scenario guide, etc.)

The combobox you are talking about is the Role Selector combo box being a feature of the so called DB Role manager in Workdesk. It enables the currently logged-in user to switch between his different roles and getting role dependent views of his work. Of course this combo box does not appear out of the box but the DB Role Manager (see corresponding section in Configuration Guide) must be configured for differnet user roles/groups.

When it comes to configuration help there are several places to find help, depending on which configuration file (e.g. owplugins.xml, owbootstrap.xml) you are editing. For owbootstrap.xml, where DB Role Manager is configured, you will find lot of inline documentation in addition to the official Workdesk documents. For configuring owplugins.xml, we recommend using the graphical user interface configurator, which comes with an online help displaying help pages for every plugin and every plugin configuration node.

I hope I could help you with this information and pointed you correctly to all the required locations to dive deeper into Workdesk and enjoying the Workdesk experience. Have a nice weekend!

Best regards,
Dennis

dmralfing
Champ in-the-making
Champ in-the-making
I already have seen demos in internet, what I want is to prove the things doing my own demo for my customer!,

I have Workdesk Trial 4.1.1.1.

I have changed it to appoint to my own local alfresco repository.
Is it the Community or Enterprise edition?
I would like to have any "out of the box sample show case", but connecting with my own Alfresco repository for a demo. Where can I get that samples?. I already knew the link you showed me http://docs.alfresco.com, but I don´t see around there more advanced documentation about workdesk.
I still have some questions:
1. I configure the owbootstrap.xml adding this:


   <RoleManager>

      <ClassName>com.wewebu.ow.server.roleimpl.dbrole.OwDBRoleManager</ClassName>
      
      <Version>4.1.1</Version>

      <DbTableName>OW_ROLE</DbTableName>

      <DesignName>default41</DesignName>
      
        <AvailableDesigns>
            <Design displayName="Alfresco Workdesk 4.1 Design">default41</Design>
        </AvailableDesigns>

        <SchemeVersion>3</SchemeVersion>
      
      <SecurityAdmin pluginid="com.wewebu.ow.Admin">
             <User>Administrator</User>
             <User>admin</User>
      </SecurityAdmin>

      <MasterRoles enable="true">
         <MasterRoleGroup name="Administrator">
            <Role>Administrator Role</Role>
         </MasterRoleGroup>
         <MasterRoleGroup name="Human Resources" memberOfAll="true">
            <Role>HR Manager</Role>
            <Role>HR User</Role>
         </MasterRoleGroup>
         <MasterRoleGroup name="Office User">
            <Role>Office User</Role>
         </MasterRoleGroup>

      </MasterRoles>
      
      <ConfigCategories>ROLE_CATEGORY_PLUGIN,
                        ROLE_CATEGORY_SEARCH_TEMPLATE,
                        ROLE_CATEGORY_STANDARD_FUNCTION
      </ConfigCategories>
      
   </RoleManager>



…but is still doesn´t appears the user roles combo, I don´t know if I have done something wrong in the code!. Moreover, I don´t know how you can associate every user role with different set of plugins/user interface elements, it´s not well explained in Alfresco_Workdesk_Configuration_Guide_4.1.1.pdf.
  When you say "inline documentation" for the owbootstrap.xml do you mean the same code I can see commented in the same file?. if not where can I get it?, And the graphical user interface for owplugins.xml?
I don´t want you to do my job, only to show me the path, I´m so lost!
Thank you very much deko

deko
Star Contributor
Star Contributor
Hi again,

First of all please let me note that I edited your last post and removed the hyperlink you added, as one has to register to download a Workdesk trial and to receive the download URL, so it should not be accessible by every forums user and even worse the trial is connected to your account only 🙂

1. As you have downloaded a trial of Workdesk, it is preconfigured to connect against an online Alfresco repository and against an online database persisting the DB Role Manager permissions for each user/role. You changed owbootstrap.xml now to point to your local Alfresco instance. Have you changed your data source to connect to a local DB instance also? I guess you are using Apache Tomcat for deployment, so the data source is configured under webapps/workdesk/META-INF in the context.xml file. You need to point that to a local DB instance (if installed you could use the PostgreSQL instance coming with Alfresco) and you need to run the DB scripts to create the database and the required tables (this is described in detail in the Installation guide), especially table OW_ROLE (see node <strong>DbTableName</strong> in your code snippet), which is holding DB Role Manager information.

2. Yes, when I say "inline documentation" for the owbootstrap.xml, I talk about the code you can see commented in the same file. The DB Role Manager node is described there also. Do you know and understand what you have enabled in your code snippet?

3. Where do your users/groups come from (see node <strong>authentication</strong> in owbootstrap.xml)? Workdesk does not come with any users at all, all users and groups are either pulled out of an external LDAP system or are defined in Alfresco.

4. In your snippet you have a node <strong>SecurityAdmin</strong>. You have to define an Administrator user there, who will be able then to access the "Administration" plugin (pluginid="com.wewebu.ow.Admin") in the Workdesk UI and to setup, which user/group should have access to which plugins.

5. In your code snipper you have configured the node <strong>ConfigCategories</strong> with an element ROLE_CATEGORY_PLUGIN, i.e. the security Admin then will be able to define access to all plugins for different user groups in the "Administration" plugin in Workdesk. There are more categories (see inline help), e.g. using category ROLE_CATEGORY_SEARCH_TEMPLATE enables the security admin to define which searches shall appear for which user groups in the Workdesk "Search" master plugin. If a category is not configured, the access to the category is set to DENIED by default in code of Workdesk.

6. Do you understand the concept of the Role Selector combobox? Different users might see different things in Workdesk without using the combo box at all. For example, you defined for users of group A a different set of plugins than for users of group B. So if user of group A logs in he/she will see different plugins than what user of group B sees after login. The dropdown is only useful, if there a users in different roles and they want to switch between their roles and change between different views.

7. If you want to configure the combo box, you need to configure the node <strong>MasterRoles</strong> in your snippet:



<MasterRoles enable="true">
         <MasterRoleGroup name="Administrator">
            <Role>Administrator Role</Role>
         </MasterRoleGroup>
         <MasterRoleGroup name="Human Resources" memberOfAll="true">
            <Role>HR Manager</Role>
            <Role>HR User</Role>
         </MasterRoleGroup>
         <MasterRoleGroup name="Office User">
            <Role>Office User</Role>
         </MasterRoleGroup>

      </MasterRoles>


The name attribute for a <strong>MasterRoleGroup</strong> is defining the name as it appears in the combobox later. The <strong>Role</strong> node then configures user groups (from LDAP or Alfresco) that shall be mapped to this combobox selection.

If your groups are pulled out of your Alfresco instance, the default format for the role definition should be GROUP_groupname.

Examples for your code snippet:

- If a user logs in to Workdesk, who is member of group/role "Office User" and "Administrator Role" in LDAP OR Alfresco, the combobox will appear for that user, showing the entries "Administrator" and "Office User". The startup role would be the role matching first in the definition order in owbootstrap.xml, means "Administrator" but this can later be changed in the "Settings" master plugin.

- If a user logs in to Workdesk, who is not a member of any of those groups/roles defined, he won´t see a combobox at all.

There are additional examples in the Configuration and Installation guide and I want you to refer there please.

With DB Role manager, you picked one of the most powerful Workdesk features 🙂 Hope that you now know how to solve your issues.

Best regards,
Dennis

dmralfing
Champ in-the-making
Champ in-the-making
Ok, I have installed the scripts according to the installation guide - I´m using MySQL -. The problem is that I 'm blind because I can't see any log about workdesk.  I have copied the log4j.properties from "WORKDESK/WEB-INF/conf/fncm5" to "WORKDESK\WEB-INF\classes". I have checked that I only have one log4j JAR in the WAR libs - log4j-1.2.16.jar -  and I don´t have more JARS related with log4j neither in the WAR nor the tomcat.
You can see here my log4j:

# Alfresco Workdesk
# Copyright © Alfresco Software, Inc. All Rights Reserved.

# If you are not familiar with log4j please consult http://logging.apache.org/log4j/1.2/manual.html

# Set root logger level
#log4j.rootLogger=DEBUG,workdesk_console
#log4j.rootLogger=DEBUG,workdesk_console_detailed
#log4j.rootLogger=DEBUG,workdesk_file,workdesk_file_rolling
#log4j.rootLogger=DEBUG,workdesk_file_rolling

# for productive environments use:
log4j.rootLogger=ERROR,workdesk_console

# workdesk_console is set to be a ConsoleAppender
log4j.appender.workdesk_console=org.apache.log4j.ConsoleAppender
# workdesk_console uses PatternLayout
log4j.appender.workdesk_console.layout=org.apache.log4j.PatternLayout
##define pattern: Date format(iso8601) [thread] LOG-Type AWD-Module [username] - messages|separator character
log4j.appender.workdesk_console.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c [%x] - %m%n
# log4j.appender.workdesk_console.layout.ConversionPattern=%-4r [%t] %-5p %c - %m%n

# workdesk_console_detailed is set to be a ConsoleAppender
# Warning: It's use should be avoided unless execution speed is not an issue!
log4j.appender.workdesk_console_detailed=org.apache.log4j.ConsoleAppender
# workdesk_console_detailed uses PatternLayout.
log4j.appender.workdesk_console_detailed.layout=org.apache.log4j.PatternLayout
##define pattern: Date format(iso8601) [thread] LOG-Type AWD-Module [username] {fully qualified class name of the caller.method name} - messages|separator character
# optional %l=Used to output location information of the caller which generated the logging event or %L=line number
log4j.appender.workdesk_console_detailed.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c [%x] {%C{2}.%M} - %m%n
# log4j.appender.workdesk_console_detailed.layout.ConversionPattern=%-4r [%t] %-5p %c - %m%n
# additional settings see: http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html


##Definition of simple FileAppender workdesk_file
#log4j.appender.workdesk_file=org.apache.log4j.FileAppender

## Configuration of simple FileAppender
## define file location tomcat-home specific
#log4j.appender.workdesk_file.File=${catalina.base}/logs/workdesk-fncm5.log
## define file location relative to root where server or server-profile was started
## ATTENTION: if you don't have permission to create folder and the folder not exist
## the logger will not work.
#log4j.appender.workdesk_file.File=./logs/workdesk-fncm5.log
## define absolute file location
#log4j.appender.workdesk_file.File=C:/temp/logs/workdesk-fncm5.log
log4j.appender.workdesk_file.File=D:/ALFRESCO-CORE/tomcat/logs/workdesk/workdesk-fncm5.log
log4j.appender.workdesk_file.layout=org.apache.log4j.PatternLayout
log4j.appender.workdesk_file.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c [%x] - %m%n


##Definition of rolling FileAppender workdesk_file_rolling
#log4j.appender.workdesk_file_rolling=org.apache.log4j.RollingFileAppender

##Configuration of rolling FileAppender
#log4j.appender.workdesk_file_rolling.File=${catalina.base}/logs/workdesk-fncm5-rolling.log
log4j.appender.workdesk_file_rolling.File=D:/ALFRESCO-CORE/tomcat/logs/workdesk/workdesk-fncm5-rolling.log
##Max size of the log files before backup
log4j.appender.workdesk_file_rolling.MaxFileSize=8KB
##Keep backup file, file name will be attached with .n (n is 1 to MaxBackupIndex)
log4j.appender.workdesk_file_rolling.MaxBackupIndex=4
log4j.appender.workdesk_file_rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.workdesk_file_rolling.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c [%x] - %m%n

# perf4j
## To turn off this logger, set the level to "OFF". To activate logger, use level "INFO".
log4j.category.org.perf4j.TimingLogger=OFF

# FileNet P8
log4j.category.com.filenet=WARN
log4j.category.com.filenet.wcm.api.impl.RemoteCommand=ERROR

# FileNet P8 PE
log4j.category.filenet.pe=WARN
log4j.category.filenet.pe.rpc=ERROR
log4j.category.filenet.vw.api=ERROR
log4j.category.filenet.vw.server=ERROR

# FileNet P8 5.x
log4j.category.filenet_tracing=WARN
#log4j.logger.filenet_tracing.api=DEBUG
#log4j.logger.filenet_tracing.api.timer=DEBUG
#log4j.logger.filenet_tracing.api.detail.moderate.summary=DEBUG
#log4j.logger.filenet_tracing.api.detail.moderate=DEBUG
#log4j.logger.filenet_tracing.api.detail=DEBUG
#log4j.logger.filenet_tracing.error=DEBUG

# Apache
log4j.category.org.apache=WARN

# Spring
log4j.category.org.springframework=WARN

Why I´m not seeing any log file in the path D:/ALFRESCO-CORE/tomcat/logs/workdesk?

deko
Star Contributor
Star Contributor
Hi again,

Why did you copy the properties file from "WORKDESK/WEB-INF/conf/fncm5" to "WORKDESK\WEB-INF\classes" at all? You don´t have to copy the properties file at all, as it is used straight from where it is currently located.

Why did you use the fncm5 configuration folder? This one is used for native IBM FileNet P8 5.x connections. I guess you are still using the opencmis_trial configuration folder or at least a copy of it, which also comes with it´s own log4j.properties file. Please use this one for loggin Workdesk.

You just need to change file pathes as you have it done in your snippet for the file appender, but you need to change the root logger level, so that the file appender is used at all:


log4j.rootLogger=ERROR,workdesk_file,workdesk_file_rolling


Hope you are able to see log files now.

Best regards,
Dennis

dmralfing
Champ in-the-making
Champ in-the-making
Ok, I have copied+pasted the lines in the Alfresco_Workdesk_Installation_Guide_4.1.1.pdf in the log4j.properties and it creates a workdesk.log, although it doesn´t indicates nothing related with the databases. How do I know it the database configurations is or not created ok?. Making queries I see all the tables empties.

deko
Star Contributor
Star Contributor
If your log level is set to DEBUG and your DB connection is working fine, you should see at least the following lines after you logged in to Workdesk:

2013-11-11 17:39:52,028 [http-bio-8080-exec-9] DEBUG owd.core [] - OwConfiguration.applicationInitalize: start reading the bootstrap configuration data…
2013-11-11 17:39:52,034 [http-bio-8080-exec-9] DEBUG owd.core [] - OwConfiguration.createJdbcDataSource: Initializing datasource successfully.
2013-11-11 17:39:52,034 [http-bio-8080-exec-9] DEBUG owd.core [] - OwConfiguration.createJdbcDataSource: Initializing Spring Jdbc template successfully done.
2013-11-11 17:39:52,034 [http-bio-8080-exec-9] DEBUG owd.core [] - OwConfiguration.applicationInitalize: DB <DefaultDataSource> of owbootstrap.xml, JNDIName = java:/PostgreSQLDS

The easiest way to verify a working DB connection in frontend is to change something that would be written into ATTRIBUTE_BAG table: You could change for example the column order or column width of a result list colum in an Adaptable list view and check whether this information is still stored even after you restarted your application server or whether there are then entries in your OW_ATTRIBUTEBAG table.

Best regards,
Dennis

deko
Star Contributor
Star Contributor
If your DB connection is not working, there is the following checklist for you:

- Did you configure your DefaultDataSource node in owbootstrap.xml?
- Did you configure the corresponding Data Source in context.xml under (TOMCAT)/webapps/workdesk/META-INF?
- Are server and port of the data source accessible at all and not blocked by a firewall or similar?
- Did you provide the JDBC driver under (TOMCAT)/libs?

Best reagrds,
Dennis

dmralfing
Champ in-the-making
Champ in-the-making
It only prints a couple of lines in the log with all the DEBUGs activated, I don´t understand why. I put here the files:
1. This is my log4j.properties:

log4j.rootLogger=DEBUG,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c [%x] - %m%n
log4j.category.com.filenet=DEBUG
log4j.category.com.filenet.wcm.api.impl.RemoteCommand=ERROR
log4j.category.filenet_tracing=DEBUG
log4j.category.org.apache=DEBUG
log4j.category.org.springframework=DEBUG
log4j.appender.workdesk_file=org.apache.log4j.FileAppender
log4j.appender.workdesk_file.file=C:/DANI/ALFRESCO-SHARE/logs/workdesk/workdesk.log
log4j.appender.workdesk_file.layout=org.apache.log4j.PatternLayout
log4j.appender.workdesk_file.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c [%x] - %m%n
log4j.appender.workdesk_file.append=true
log4j.rootLogger=ERROR,workdesk_file,workdesk_file_rolling

2. This is my workdesk.log

2013-11-11 17:54:11,750 [main] INFO  owd.core [] - com.wewebu.ow.server.servlets.OwConfigurationInitialisingContextListener.contextInitialized: started…
2013-11-11 17:54:11,776 [main] DEBUG owd.core [] - OwConfiguration.applicationInitalize: start initializing the application logger…
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.