![]() |
|||||
|
openCRX Quick StartVersion 1.8.1www.opencrx.orgThe contents of this file are subject to a BSD license (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License here
Chapter 1. About this BookThis book describes what you need to get started with openCRX and how to configure openCRX. What do you need to understand this bookThis book describes how to install openCRX and how to configure openCRX. If you intend to install openCRX it is a plus if you are comfortable with application servers and database servers (even though the explanations in this guide are rather detailed). Chapter 2. PrerequisitesIn a first step you should read the file core/README included in the distribution. The README contains important information – for example on how you can build the Runtime Binaries from the distribution.
Next, you must decide which database and which application server you are going to use. As far as the database is concerned, the openCRX FAQ might give you some guidance in making your choice (please note that the Open Source distribution of openCRX includes all the required configuration/deployment files for MySQL, MaxDB, PostgreSQL, MS SQL, and Oracle. As far as the application server is concerned, your best bet is probably the one you know best as long as it is J2EE-compliant (additional information regarding the choice of an application server is available in the openCRX FAQ). The Open Source distribution of openCRX includes all the required configuration/deployment files for JBoss (which is also Open Source and free), BEA Weblogic, and IBM WebSphere. Having made your choices regarding database and application server you should get the appropriate openCRX Installation Guides from here. Following those guides you should then install the openCRX database and the application server. If you follow our application server installation guides you will also install openMDX, the leading Open Source MDA platform. The remainder of this document assumes that you decided for MySQL and JBoss and hence you should have a working installation of
Enabling Outgoing E-mail (SMTP Adapter)If if you want to enable outgoing e-mail by activating the openCRX SMTP Adapter, please refer to Running the Workflow Execution Client and SendMail Workflow (JavaMail). Enabling outgoing e-mail is optional (and only required if you want openCRX to send e-mail notifications). The openCRX SMTP Adapter works best in combination with a corporate mail server (depending on the volume of outgoing e-mail you might even consider a dedicated e-mail server) with decent response times. Every user can define his preferred mail server or rely on the Default Mail Server defined by the segment administrator. The openCRX SMTP Adapter is TLS enabled, i.e. if the mail server supports TLS then the communication between the openCRX server and the mail server will be encrypted. Configuration of e-mail options at the user level is explained in chapter Outbound E-mail Service. Chapter 3. Create LoginsFor the following steps we assume that the openCRX administrator has configured the users admin-Root, admin-Standard and guest with the appropriate roles on the application server. In the case of JBoss this requires creating/editing the files openCRX.users.properties and openCRX.roles.properties in the directory ./jboss-4.0.2/server/default/conf as follows and then restarted the application server: Example 3-1. openCRX.users.properties with user=password syntax. admin-Root=rootSecret admin-Standard=adminSecret guest=guest Example 3-2. openCRX.roles.properties with user.Roles=role1,role2 syntax. admin-Root.Roles=OpenCrxRoot admin-Standard.Roles=OpenCrxAdministrator guest.Roles=OpenCrxUser
OverviewBefore we get started with setting up openCRX it is helpful to you know that - by default - there are three types of users playing quite different roles in the context of openCRX:
Depending on your configuration/use of openCRX there may be "technical users" like - for example - loader-Standard, which is used to import data. You do not have to configure anything to create these technical users.
The following sections explain: Initial SetupAfter deploying openCRX to the application server and creating the logins you are now ready for the initial setup. Connect to the openCRX Root login page (e.g. http://localhost:8080/opencrx-core-CRX-Root/Login). Login as admin-Root as shown in Figure 3-2. The servlet loads the initial data, e.g. default security policies, subjects and principals, units of measurement, code tables, etc. The output is shown on the application server console as shown below: Example 3-3. initializing the openCRX Root servlet 14:10:36,006 INFO [Server] JBoss (MX MicroKernel) [4.0.2 (build: CVSTag=JBoss_4_0_2 date=200505022023)] Started in 1m:10s:892ms 14:12:16,390 INFO [STDOUT] Tue Oct 04 14:12:16 CEST 2005: Login: requestURL=http://demo.opencrx.org/opencrx-core-CRX-Root/Login.jsp; isRequestedSessionIdFromCookie=false 14:12:16,390 INFO [STDOUT] Tue Oct 04 14:12:16 CEST 2005: Login: locale=null 14:16:14,813 INFO [STDOUT] Inspecting /WEB-INF/config/ui/en_US 14:16:15,774 INFO [STDOUT] Inspecting /WEB-INF/config/ui/de_CH 14:16:16,556 INFO [STDOUT] Inspecting /WEB-INF/config/ui/es_MX 14:16:19,820 INFO [STDOUT] Inspecting /WEB-INF/config/ui/zh_CN 14:16:20,732 INFO [STDOUT] Inspecting /WEB-INF/config/ui/sv_SE 14:16:21,583 INFO [STDOUT] Inspecting /WEB-INF/config/ui/tr_TR 14:16:22,374 INFO [STDOUT] Inspecting /WEB-INF/config/ui/fa_IR 14:16:23,115 INFO [STDOUT] Inspecting /WEB-INF/config/ui/fr_FR 14:16:23,856 INFO [STDOUT] Inspecting /WEB-INF/config/ui/it_IT 14:16:24,757 INFO [STDOUT] Inspecting /WEB-INF/config/ui/nl_NL 14:16:25,388 INFO [STDOUT] Inspecting /WEB-INF/config/ui/ru_RU 14:16:26,209 INFO [STDOUT] Inspecting /WEB-INF/config/ui/pl_PL 14:16:26,971 INFO [STDOUT] Inspecting /WEB-INF/config/ui/pt_BR 14:16:27,722 INFO [STDOUT] Inspecting /WEB-INF/config/ui/cs_CZ 14:16:28,603 INFO [STDOUT] Loading 65 ui files for locale en_US 14:16:30,215 INFO [STDOUT] Loading 65 ui files for locale de_CH 14:16:31,818 INFO [STDOUT] Loading 65 ui files for locale es_MX 14:16:33,320 INFO [STDOUT] Loading 65 ui files for locale zh_CN 14:16:34,792 INFO [STDOUT] Loading 65 ui files for locale sv_SE 14:16:36,134 INFO [STDOUT] Loading 65 ui files for locale tr_TR 14:16:37,586 INFO [STDOUT] Loading 65 ui files for locale fa_IR 14:16:38,918 INFO [STDOUT] Loading 65 ui files for locale fr_FR 14:16:40,350 INFO [STDOUT] Loading 66 ui files for locale it_IT 14:16:41,792 INFO [STDOUT] Loading 65 ui files for locale nl_NL 14:16:43,134 INFO [STDOUT] Loading 0 ui files for locale null 14:16:43,144 INFO [STDOUT] Loading 65 ui files for locale ru_RU 14:16:44,616 INFO [STDOUT] Loading 65 ui files for locale pl_PL 14:16:46,108 INFO [STDOUT] Loading 0 ui files for locale null 14:16:46,118 INFO [STDOUT] Loading 65 ui files for locale pt_BR 14:16:47,500 INFO [STDOUT] Loading 65 ui files for locale cs_CZ 14:16:52,147 INFO [STDOUT] Storing 2411 ui elements 14:17:06,297 INFO [STDOUT] Loading texts 14:17:06,297 INFO [STDOUT] Loading /WEB-INF/config/texts/en_US/texts.properties 14:17:06,317 INFO [STDOUT] Loading /WEB-INF/config/texts/en_US/opencrx.texts.properties 14:17:06,337 INFO [STDOUT] Loading /WEB-INF/config/texts/de_CH/opencrx.texts.properties 14:17:06,347 INFO [STDOUT] Loading /WEB-INF/config/texts/de_CH/texts.properties 14:17:06,357 INFO [STDOUT] Loading /WEB-INF/config/texts/es_MX/opencrx.texts.properties 14:17:06,377 INFO [STDOUT] Loading /WEB-INF/config/texts/es_MX/texts.properties 14:17:06,387 INFO [STDOUT] Loading /WEB-INF/config/texts/zh_CN/opencrx.texts.properties 14:17:06,407 INFO [STDOUT] Loading /WEB-INF/config/texts/zh_CN/texts.properties 14:17:06,427 INFO [STDOUT] Loading /WEB-INF/config/texts/sv_SE/opencrx.texts.properties 14:17:06,427 INFO [STDOUT] Loading /WEB-INF/config/texts/sv_SE/texts.properties 14:17:06,437 INFO [STDOUT] Loading /WEB-INF/config/texts/tr_TR/opencrx.texts.properties 14:17:06,447 INFO [STDOUT] Loading /WEB-INF/config/texts/tr_TR/texts.properties 14:17:06,457 INFO [STDOUT] Loading /WEB-INF/config/texts/fa_IR/opencrx.texts.properties 14:17:06,467 INFO [STDOUT] Loading /WEB-INF/config/texts/fa_IR/texts.properties 14:17:06,477 INFO [STDOUT] Loading /WEB-INF/config/texts/fr_FR/opencrx.texts.properties 14:17:06,487 INFO [STDOUT] Loading /WEB-INF/config/texts/fr_FR/texts.properties 14:17:06,517 INFO [STDOUT] Loading /WEB-INF/config/texts/it_IT/opencrx.texts.properties 14:17:06,527 INFO [STDOUT] Loading /WEB-INF/config/texts/it_IT/texts.properties 14:17:06,537 INFO [STDOUT] Loading /WEB-INF/config/texts/nl_NL/opencrx.texts.properties 14:17:06,547 INFO [STDOUT] Loading /WEB-INF/config/texts/nl_NL/texts.properties 14:17:06,567 INFO [STDOUT] Loading /WEB-INF/config/texts/ru_RU/texts.properties 14:17:06,577 INFO [STDOUT] Loading /WEB-INF/config/texts/ru_RU/opencrx.texts.properties 14:17:06,598 INFO [STDOUT] Loading /WEB-INF/config/texts/pl_PL/opencrx.texts.properties 14:17:06,598 INFO [STDOUT] Loading /WEB-INF/config/texts/pl_PL/texts.properties 14:17:06,608 INFO [STDOUT] Loading /WEB-INF/config/texts/pt_BR/opencrx.texts.properties 14:17:06,618 INFO [STDOUT] Loading /WEB-INF/config/texts/pt_BR/texts.properties 14:17:06,628 INFO [STDOUT] Loading /WEB-INF/config/texts/cs_CZ/opencrx.texts.properties 14:17:06,638 INFO [STDOUT] Loading /WEB-INF/config/texts/cs_CZ/texts.properties 14:17:06,688 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,728 INFO [STDOUT] de_CH not found. Fallback to en_US 14:17:06,738 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,748 INFO [STDOUT] es_MX not found. Fallback to en_US 14:17:06,758 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,778 INFO [STDOUT] zh_CN not found. Fallback to en_US 14:17:06,778 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,798 INFO [STDOUT] sv_SE not found. Fallback to en_US 14:17:06,808 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,818 INFO [STDOUT] tr_TR not found. Fallback to en_US 14:17:06,828 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,838 INFO [STDOUT] fa_IR not found. Fallback to en_US 14:17:06,848 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,858 INFO [STDOUT] fr_FR not found. Fallback to en_US 14:17:06,868 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,888 INFO [STDOUT] it_IT not found. Fallback to en_US 14:17:06,888 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,908 INFO [STDOUT] nl_NL not found. Fallback to en_US 14:17:06,908 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,928 INFO [STDOUT] ru_RU not found. Fallback to en_US 14:17:06,938 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,948 INFO [STDOUT] pl_PL not found. Fallback to en_US 14:17:06,958 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,968 INFO [STDOUT] pt_BR not found. Fallback to en_US 14:17:06,978 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:06,988 INFO [STDOUT] cs_CZ not found. Fallback to en_US 14:17:06,998 INFO [STDOUT] Loading /WEB-INF/config/report/en_US/org.opencrx.kernel.activity1.Segment-ActivityTrackers.rptdesign 14:17:07,018 INFO [STDOUT] Loading data 14:17:07,028 INFO [STDOUT] Loading /WEB-INF/config/bootstrap/100_security_policy.xml 14:17:07,108 INFO [STDOUT] Storing 5 objects 14:17:23,091 INFO [STDOUT] Creating org::openmdx::security::authorization1/provider/CRX/segment/Root 14:17:23,282 INFO [STDOUT] Creating org::openmdx::security::authorization1/provider/CRX/segment/Root/policy/Default 14:17:23,352 INFO [STDOUT] Creating org::openmdx::security::authorization1/provider/CRX/segment/Root/policy/Default/role/OpenCrxAdministrator 14:17:23,442 INFO [STDOUT] Creating org::openmdx::security::authorization1/provider/CRX/segment/Root/policy/Default/role/OpenCrxUser 14:17:23,492 INFO [STDOUT] Creating org::openmdx::security::authorization1/provider/CRX/segment/Root/policy/Default/role/OpenCrxRoot 14:17:23,512 INFO [STDOUT] Loading /WEB-INF/config/bootstrap/101_security_subjects.xml 14:17:26,536 INFO [STDOUT] Storing 2 objects 14:17:26,566 INFO [STDOUT] Creating org::opencrx::security::identity1/provider/CRX/segment/Root 14:17:26,636 INFO [STDOUT] Creating org::opencrx::security::identity1/provider/CRX/segment/Root/subject/admin-Root 14:17:26,676 INFO [STDOUT] Loading /WEB-INF/config/bootstrap/102_security_realms.xml 14:17:26,757 INFO [STDOUT] Storing 10 objects 14:17:26,777 INFO [STDOUT] Creating org::openmdx::security::realm1/provider/CRX/segment/Root 14:17:26,827 INFO [STDOUT] Creating org::openmdx::security::realm1/provider/CRX/segment/Root/realm/Default 14:17:26,887 INFO [STDOUT] Creating org::openmdx::security::realm1/provider/CRX/segment/Root/realm/Default/principal/admin-Root 14:17:27,057 INFO [STDOUT] Creating org::openmdx::security::realm1/provider/CRX/segment/Root/realm/Default/principal/Administrators 14:17:27,157 INFO [STDOUT] Creating org::openmdx::security::realm1/provider/CRX/segment/Root/realm/Default/principal/Users 14:17:27,377 INFO [STDOUT] Creating org::openmdx::security::realm1/provider/CRX/segment/Root/realm/Root 14:17:27,417 INFO [STDOUT] Creating org::openmdx::security::realm1/provider/CRX/segment/Root/realm/Root/principal/Administrators 14:17:27,518 INFO [STDOUT] Creating org::openmdx::security::realm1/provider/CRX/segment/Root/realm/Root/principal/Users 14:17:27,588 INFO [STDOUT] Creating org::openmdx::security::realm1/provider/CRX/segment/Root/realm/Root/principal/admin-Root.User 14:17:27,678 INFO [STDOUT] Creating org::openmdx::security::realm1/provider/CRX/segment/Root/realm/Root/principal/admin-Root 14:17:27,758 INFO [STDOUT] Loading /WEB-INF/config/bootstrap/200_code_segment.xml 14:17:30,542 INFO [STDOUT] Storing 1 objects 14:17:34,087 INFO [STDOUT] Creating org::opencrx::kernel::code1/provider/CRX/segment/Root 14:17:34,207 INFO [STDOUT] Loading /WEB-INF/config/bootstrap/300_admin_segment.xml 14:17:37,332 INFO [STDOUT] Storing 1 objects 14:17:37,372 INFO [STDOUT] Creating org::opencrx::kernel::admin1/provider/CRX/segment/Root 14:17:37,452 INFO [STDOUT] Done 14:17:37,462 INFO [STDOUT] Loading codes 14:17:37,482 INFO [STDOUT] Loading /WEB-INF/config/code/en_US/accesslevel.xml 14:17:37,522 INFO [STDOUT] Loading /WEB-INF/config/code/en_US/accountcategory.xml ... 14:18:07,315 INFO [STDOUT] Loading /WEB-INF/config/code/cs_CZ/utcoffset.xml 14:18:07,355 INFO [STDOUT] Storing 1586 code entries 14:20:39,734 INFO [STDOUT] Done 14:20:39,754 INFO [STDOUT] Inspecting /WEB-INF/config/filters/ 14:20:39,834 INFO [STDOUT] Loading /WEB-INF/config/filters/ 14:20:45,372 INFO [STDOUT] Loaded filters #3624 14:20:45,382 INFO [STDOUT] Loading data 14:20:45,392 INFO [STDOUT] Loading /WEB-INF/config/data/uom_SI_and_Paper.xml 14:20:48,146 INFO [STDOUT] Storing 39 objects 14:20:50,950 INFO [STDOUT] Done 14:20:51,811 INFO [STDOUT] Inspecting /WEB-INF/config/ui/en_US 14:20:52,042 INFO [STDOUT] Inspecting /WEB-INF/config/ui/de_CH 14:20:52,232 INFO [STDOUT] Inspecting /WEB-INF/config/ui/es_MX 14:20:52,412 INFO [STDOUT] Inspecting /WEB-INF/config/ui/zh_CN 14:20:52,603 INFO [STDOUT] Inspecting /WEB-INF/config/ui/sv_SE 14:20:52,763 INFO [STDOUT] Inspecting /WEB-INF/config/ui/tr_TR 14:20:52,943 INFO [STDOUT] Inspecting /WEB-INF/config/ui/fa_IR 14:20:53,073 INFO [STDOUT] Inspecting /WEB-INF/config/ui/fr_FR 14:20:53,243 INFO [STDOUT] Inspecting /WEB-INF/config/ui/it_IT 14:20:53,454 INFO [STDOUT] Inspecting /WEB-INF/config/ui/nl_NL 14:20:53,594 INFO [STDOUT] Inspecting /WEB-INF/config/ui/ru_RU 14:20:53,794 INFO [STDOUT] Inspecting /WEB-INF/config/ui/pl_PL 14:20:53,984 INFO [STDOUT] Inspecting /WEB-INF/config/ui/pt_BR 14:20:54,145 INFO [STDOUT] Inspecting /WEB-INF/config/ui/cs_CZ 14:20:54,365 INFO [STDOUT] Inspecting /WEB-INF/config/filters/
After the successful startup of the root servlet you see the start screen as shown in Figure 3-3. You should see the root objects openCRX Administration, Codes, UOMs, Security Realms, Security Policies and Security Subjects (and the special providers History and Favorites).
You can now navigate through the Codes, UOMs, etc. You should see the data which was initially loaded by the servlet. Verify now whether the principal admin-Root has been created correctly: click Security Realms > select the Default realm. You then see a tab containing the principal admin-Root and the principal groups Administrators, and Users as shown in Figure 3-4. The initialization sequence also created the realm Root with the 4 Principals Administrators, Users, admin-Root, and admin-Root.User. Next you must set the access levels of all the codes to global (Browse), basic (Update), and basic (Delete). Open the code provider by clicking on Codes. Select the menu Security > Set Access Level to unhide the parameter panel and then set the parameters of this operation as shown in Figure 3-5. Click the button [OK] to start the operation (please note that this operation can take several minutes on a slower machine.). Finally, you must set the access levels of all the units of measurment to global (Browse), basic (Update), and basic (Delete). Open the UOM provider by clicking on UOMs. Select the menu Security > Set Access Level to unhide the parameter panel and then set the parameters of this operation as shown in Figure 3-6. Click the button [OK] to start the operation. Congratulations! You have successfully completed the initial setup of openCRX. Creation of a new data SegmentConnect to the Root GUI and execute the operation Actions > Create Administrator to create a new segment and selected default accounts (including an administrator's account which allows you to manage the newly created segment). Set the field Segment name to Standard. Leave the field Admin principal name empty and set the password to *. This creates a segment with name Standard. This is shown in Figure 3-7.
Example. Segment configuration in web.xml (adding Segment ABC) <init-param> <param-name>segmentName[0]</param-name> <param-value>Standard</param-value> </init-param> <init-param> <param-name>segmentName[1]</param-name> <param-value>ABC</param-value> </init-param> After creating the segment, click on the menu Security Realms and navigate to the realm Standard. Verify whether the following principals were created as shown in Figure 3-8: Administrators, Unassigned, Unspecified, Users, admin-Standard, admin-Standard.User. Next you have to open a new browser window and start the Standard GUI by entering the URL http://localhost:8080/opencrx-core-CRX/Login. Login as admin-Standard as shown in Figure 3-9.
Initially, the administrator homepage does not contain any charts. You can activate the charts by executing the operation View > Recalculate and Refresh (but do not forget to log out and log in again if it is the first time you logged in as administrator; otherwise the Recalculate and Refresh operation will fail!). Now the administrator homepage should look as shown in Figure 3-10. Verify in Realm whether the following entries exist as shown in Figure 3-11:
These default principals were created by the operation Create Administrator you previously executed as Root. Congratulations! You have successfully created the new segment Standard. Create a UserNew users are created with the following steps:
Open a new browser window, start the Root GUI by entering the URL http://localhost:8080/opencrx-core-CRX-Root/Login and then login as admin-Root. Create a new subject by navigating to Security Subjects and then selecting the creator menu New > Subject as shown in Figure 3-12.
Enter the subject name (which will be the user/login id) of the user into the field Qualifier (e.g. guest as shown in Figure 3-13). It is recommended that you also set the field Description. After clicking on the button [Save] the new Subject is created: Next, you need to create a new Principal by clicking on the provider Security Realms and then selecting Realm Default. Select the creator menu New > Principal as shown in Figure 3-15.
Enter the Principal name (which will be the user/login id) of the user into the field Qualifier (e.g. guest as shown in Figure 3-16). Next you need to link this Principal with the previously created Subject. Click on the looking glass icon of the field Subject to open the Lookup Inspector in a new browser window. Select the Subject guest by clicking in the appropriate check box. This will take you back to the Principal form as shown in Figure 3-16. After clicking on the button [Save] the new Principal is created.
Next you must add the newly created principal to the appropriate principal group. Navigate to the newly created principal (i.e. load it into the inspector) and click on the looking glass in the tab Member of Principal Groups to open the Lookup Inspector: The Lookup Inspector lists all the principals and principal groups of the respective realm; principal group entries have a check box: Click the check box next to the principal group you want to add the newly created principal to (normal users should be added to the principal group Users, segment administrators should be added to the principal group Administrators). This will automatically close the Lookup Inspector again.
Back in the tab Member of Principal Groups you click the button [+] to add the principal to the principal group selected in the previous step. Finally, this principal group should show up in the Grid Member of Principal Groups: Now you have to go back to the Standard GUI (the servlet where you are logged in as admin-Standard). As administrator you first have to create a new contact in Accounts for the new user guest. Enter at least the last name as shown in Figure 3-21. Click the button [Save] to store the contact. Then click User Homepages and select the operation Actions > Create User... which allows you to create and initialize a new user. Set the fields to the values as shown in Figure 3-22 (note that you need to use the Lookup Inspector to fetch values for the parameters Contact and Primary user group, i.e. you cannot just type some text into these fields). Set the field Principal name to the login name of the new user, e.g. guest. Set the field Contact to the contact you have created previously (use the lookup inspector which appears if you click the looking glass icon) and set the Primary user group to Standard\\Users (also use the lookup Inspector to do this). The password fields can be set to the value *.
Click the button [OK] to create the new user. The operation creates a new homepage and links the Principal with the newly created user. You can verify the result of the operation by opening User Homepages which shows the newly created homepage.
As root you can also verify whether the creation of the new user was successful. In the Root GUI Click Security Realms and navigate to the realm Standard. In addition to the Principal guest you should also see the User guest.User. Congratulations! You have successfully created a new user guest. The new user should now be able to login in the standard GUI. Once the new user opens a browser window and connects to the standard GUI by entering the URL http://localhost:8080/opencrx-core-CRX/Login he will be able to login as guest as shown in Figure 3-24.
Chapter 4. Running the Workflow Execution ClientopenCRX comes with a workflow execution client (WfExecutionClient) which executes pending workflows (SendAlert, SendMail, etc.). Workflows are executed outside of the openCRX application so that even large numbers of pending workflows do not interfere and slow down the openCRX server (NOTE: The workflow executor will be implemented as message driven bean (MDB) in the future). The WfExecutionClient performs the following tasks:
The following steps are required to run the WfExecutionClient:
SendMail Workflow (JavaMail)SendMail is a workflow which enables openCRX to send e-mail notifications to users. The following steps (in addition to running the workflow execution client) are required to activate the SendMail workflow:
Chapter 5. Managing the Provider ListThe default installation of openCRX activates all providers that are included in the Open Source distribution. The openCRX administrator may wish to remove certain providers from the provider list. This chapter shows how you can achieve this. Let us assume that the openCRX administrator decided to hide the provider Forecasts. The provider list is contained in the file web.xml which is contained in the file opencrx-core-CRX.war (contained in opencrx-core-CRX-web.ear, both files are archive files that can be opened with a ZIP utility) deployed to your application server. The following discussion assumes that you use the JBoss application server.
Let us now proceed. First you need to stop your application server. Then you locate the file web.xml in the directory .\jboss-4.0.2\server\default\deploy\opencrx-core-CRX-web.ear\opencrx-core-CRX.war\WEB-INF. Open it with an editor and locate the following few lines: Example 5-1. web.xml with the provider declaration for Forecasts <!-- Forecasts -->
<init-param>
<param-name>rootObject[9]</param-name>
<param-value>xri:@openmdx:org.opencrx.kernel.forecast1/provider/CRX/segment/${SEGMENT}</param-value>
</init-param>
<init-param>
<param-name>rootObjectClass[9]</param-name>
<param-value>org:opencrx:kernel:forecast1:Segment</param-value>
</init-param>To hide this provider you can either delete the above lines or comment them out as shown in the following example: Example 5-2. web.xml with the Forecasts provider commented out <!-- Forecasts -->
<!--
<init-param>
<param-name>rootObject[9]</param-name>
<param-value>xri:@openmdx:org.opencrx.kernel.forecast1/provider/CRX/segment/${SEGMENT}</param-value>
</init-param>
<init-param>
<param-name>rootObjectClass[9]</param-name>
<param-value>org:opencrx:kernel:forecast1:Segment</param-value>
</init-param>
-->
Save the changed file and restart your application server. The provider list of openCRX will not show "Forecasts" anymore. To unhide/reactivate this provider, simply uncomment the declarations in the file web.xml.
Chapter 6. Managing LocalesThe default installation of openCRX activates all locales that are included in the Open Source distribution. The openCRX administrator may wish to deactivate certain locales from the locale list. This chapter shows how you can achieve this. Let us assume that the openCRX administrator decided to deactivate locale ru_RU (Russian). The locale list is contained in the file web.xml which is contained in the file opencrx-core-CRX.war (contained in opencrx-core-CRX-web.ear, both files are archive files that can be opened with a ZIP utility) deployed to your application server. The following discussion assumes that you use the JBoss application server.
Let us now proceed. First you need to stop your application server. Then you locate the file web.xml in the directory .\jboss-4.0.2\server\default\deploy\opencrx-core-CRX-web.ear\opencrx-core-CRX.war\WEB-INF. Open it with an editor and locate the following few lines: Example 6-1. web.xml with the locale declarations . <init-param> <param-name>locale[9]</param-name> <param-value>nl_NL</param-value> </init-param> <init-param> <param-name>locale[11]</param-name> <param-value>ru_RU</param-value> </init-param> <init-param> <param-name>locale[12]</param-name> <param-value>pl_PL</param-value> </init-param> . To deactivate locale ru_RU you can simply comment out the relevant portion of the declaration as shown in the following example: Example 6-2. web.xml with one of the locale declarations commented out .
<init-param>
<param-name>locale[9]</param-name>
<param-value>nl_NL</param-value>
</init-param>
<!--
<init-param>
<param-name>locale[11]</param-name>
<param-value>ru_RU</param-value>
</init-param>
--><init-param>
<param-name>locale[12]</param-name>
<param-value>pl_PL</param-value>
</init-param>
.Save the changed file and restart your application server. The locale list of openCRX will not include the locale "ru_RU" anymore.
To unhide/reactivate a previously deactivated locale, simply uncomment the respective declaration in the file web.xml.
Chapter 7. Security
Starting with openCRX v1.4.0 access control is activated. Please refer to the openCRX Security Guide for a detailed explanation of role-based security as it is implemented by openCRX. In this chapter we will present a high-level overview and we will discuss a few select issues only, including disaster recovery if you locked yourself out and/or screwed up the security settings in a major way. Starting with openCRX v1.8.0 various security concept enhancements are activated. Some of the basic concepts are:
All security data is managed by the openCRX security provider. The following figure should give you an idea of how it all fits together: Hence, summarizing the above:
The segment administrator (e.g. admin-Standard) creates Principals and User Homepages with the operation createUser() :
While each 'real user' (typically) has 1 application login principal only, 'real users' may have multiple segment login principals (e.g. because a 'real user' is allowed to access multiple segments or because a 'real user' is allowed to access a particular segment in different roles [e.g. Head of Sales and and CFO] - all available segment login principals are listed in the so-called Role Drop Down: Security Setting of New ObjectsNew objects are by default created with the following security settings:
If you see N/P in a field instead of a more meaningful value you probably do not have browse access to the respective object (N/P stands for No Permission). Resetting Security
If you (or one of your users) managed to screw up the security settings in a major way you may be forced to reset all security settings to a well-defined state. Included in the openCRX distribution are example scripts set-access-level.sql for all supported DBs. Please refer to the openCRX Security Guide for a detailed explanation of security BEFORE you execute any scripts. Consider running the complete script set-access-level.sql as a last resort only! In many cases it you will probably get away with fixing the security settings of a particular object on the DB. Chapter 8. Importing DataThe task of importing data is handled by importers. In principle, you can import almost anything into openCRX, it's really only a matter of writing an importer. The Open Source distribution of openCRX includes importers for vCard and iCalendar files in addition to the XML importer. This allows you to import data from a large variety of other programs, including Microsoft Outlook. This chapter shows how to import data. Importing vCard FilesThese are the steps to import a vCard file:
The result of the import operation also contains a link to the created/updated contact (only if the import was successful). Importing iCalendar FilesThese are the steps to import an iCalendar file:
The result of the import operation also contains a link to the created/updated meeting (only if the import was successful). Importing XML FilesThese are the steps to import an XML file:
Please note that only schema-compliant XML files can be imported. Chapter 9. Exporting DataThe task of exporting data is handled by exporters. In principle, you can export any object from openCRX, it's really only a matter of writing an exporter. The Open Source distribution of openCRX includes exporters for vCard and iCalendar files in addition to XML files. This allows you to export contacts and meetings/sales visits or any other object from openCRX. vCard and iCalendar files can be imported by a large variety of other applications, including Microsoft Outlook. This chapter shows how to export data. Exporting vCard FilesThese are the steps to export a contact to a vCard file:
If the export operation was successful the result will contain a link to the vCard file. Click on that link to download the vCard file from the openCRX server. Exporting iCalendar FilesThese are the steps to export a meeting (or a sales visit) to an iCalendar file:
If the export operation was successful the result will contain a link to the iCalendar file. Click on that link to download the iCalendar file from the openCRX server. Exporting XML FilesAll objects can be exported as XML files. These are the steps to export (for example) a contact to an XML file:
The XML file is automatically zipped. You can download this file and save it. Chapter 10. The Event Subscription / Notification ServiceopenCRX features a powerful event subscription and notification service (see Figure 10-1 for an overview).
The openCRX distribution includes quite a few default topics (see Figure 10-2) to get you started, e.g.
Once a topic is created openCRX users can subscribe to it. Users manage their subscriptions individually on their UserHomes. If a topic has subscribed users and a monitored event occurs then the predefined action is performed. If the action is set to - for example - creating an alert for subscribed users, then each subscribed user will receive an alert on his UserHome. If required, Administrators can create Topics containing information like a "topic path pattern" and "actions to perform". Example Subscription - New AccountsIn this example we will create a subscription to the standard topic Account Modifications Topic so that we will receive an alert on our UserHome whenever a new account is created. Login to openCRX (or navigate to your UserHome if you are already logged in). Click on the Grid tab Subscriptions to see all your current subscriptions: Click on the creator menu New > Subscription to create a new subscription. Enter a name and a description of the subscription to be created and check the box Active. Click on the edit icon of the field Event type and then select the option [1] Object Creation; this will ensure that we will get alerts for new accounts only (if you leave the field Event type empty you will get alerts for all event types, i.e. Object Creation, Object Modification, and Object Removal). Then you click the lookup icon next to the field Topic to start the lookup inspector where you select the topic entry Account Modifications: Your new subscription should now look as follows: To complete the process you click the button [Save]. Back on your UserHome you should now see an entry for your newly created subscription: You can test your new subscription with the following steps:
Chapter 11. Outbound E-mail ServiceopenCRX users can configure an E-mail account on their UserHome indicating where they would like to receive e-mail notifications (e.g. generated by a subscription to the topic "Alert Modifications Topic"). Click on My Homepage and select the Grid Tab [E-Mail]. Next you click on the creator menu New > E-Mail Account to create a new E-mail Account: Now you can define your E-mail Account for outbound e-mail service (SMTP):
Click the button [Save] to complete the creation of your E-mail Account. Back on My Homepage you should see an entry in the Grid Tab [E-Mail] reflecting your new E-mail Account: If you edit your Homepage you can set additional E-mail options which are valid system-wide for your openCRX account:
Click the button [Save] to update your Homepage.. You can test your new subscription with the following steps:
Default Mail ServerAs a segment administrator you can define a default mail server. This allows users of your segment to send outbound e-mails (e.g. notification e-mails) through this default mail server without configuring their own mail server. Your segment users do not need to know any access information nor do they need any login credentials. Here are the steps to configure a default mail server for your segment:
Tell your segment users that they do not need to provide any information regarding Outgoing Mail Server (SMTP) (i.e. they can leave the respective fields empty). Furthermore, segment users must uncheck the option Default on their e-mail account settings to indicate that e-mails should be sent through the default mail server as configured by the segment administrator (but segment users must still provide a valid e-mail address and a reply address). Chapter 12. Integration of MS WordThe basic approach we take to merge openCRX data with your MS Word templates is as follows (a detailed example is available on the openCRX website): create XML export of the object at hand (including referenced objects and all the required code tables), load a document based on a prepared template with MS Word and then pass the XML files to that document where VBA code will merge the data into the document. The following steps are required to configure this feature (it is expected that the Administrator takes care of this, i.e. we do not expect end users to go through the following steps.):
It is probably helpful if you look at the sample that is provided with the distribution (details are published on the openCRX website). Bibliography |
||||