| | 1 | This document explains the installation steps for Grouper. |
| | 2 | |
| | 3 | |
| | 4 | == Install Grouper API == |
| | 5 | |
| | 6 | 1. Download and copy the API to /tmp/ on grinnell. The tarball is located at http://www.internet2.edu/grouper/release/2.1.4/grouper.api-2.1.4.tar.gz. |
| | 7 | |
| | 8 | 2. Extract and build. |
| | 9 | |
| | 10 | {{{ |
| | 11 | [root@grinnell ~]# mkdir /srv/grouper |
| | 12 | [root@grinnell ~]# cd /srv/grouper/ |
| | 13 | [root@grinnell grouper]# cp /tmp/grouper.api-2.1.4.tar.gz . |
| | 14 | [root@grinnell grouper]# gunzip grouper.api-2.1.4.tar.gz |
| | 15 | [root@grinnell grouper]# tar xf grouper.api-2.1.4.tar |
| | 16 | [root@grinnell grouper]# cd grouper.api-2.1.4 |
| | 17 | [root@grinnell grouper.api-2.1.4]# ant dist |
| | 18 | Buildfile: build.xml |
| | 19 | |
| | 20 | init: |
| | 21 | [mkdir] Created dir: /srv/grouper/grouper.api-2.1.4/dist/build/test |
| | 22 | [mkdir] Created dir: /srv/grouper/grouper.api-2.1.4/ext/conf |
| | 23 | |
| | 24 | init.conf: |
| | 25 | |
| | 26 | compile: |
| | 27 | [mkdir] Created dir: /srv/grouper/grouper.api-2.1.4/dist/build/grouper |
| | 28 | [javac] Compiling 869 source files to /srv/grouper/grouper.api-2.1.4/dist/build/grouper |
| | 29 | [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5 |
| | 30 | [javac] Note: Some input files use unchecked or unsafe operations. |
| | 31 | [javac] Note: Recompile with -Xlint:unchecked for details. |
| | 32 | [javac] 1 warning |
| | 33 | [javac] Compiling 14 source files to /srv/grouper/grouper.api-2.1.4/dist/build/grouper |
| | 34 | [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5 |
| | 35 | [javac] 1 warning |
| | 36 | [copy] Copying 941 files to /srv/grouper/grouper.api-2.1.4/dist/build/grouper |
| | 37 | |
| | 38 | ext.init: |
| | 39 | [mkdir] Created dir: /srv/grouper/grouper.api-2.1.4/ext/bin |
| | 40 | [mkdir] Created dir: /srv/grouper/grouper.api-2.1.4/ext/doc |
| | 41 | |
| | 42 | ext.compile: |
| | 43 | [subant] No sub-builds to iterate on |
| | 44 | |
| | 45 | ext.init: |
| | 46 | |
| | 47 | ext.install: |
| | 48 | [subant] No sub-builds to iterate on |
| | 49 | |
| | 50 | test.compile: |
| | 51 | [javac] Compiling 401 source files to /srv/grouper/grouper.api-2.1.4/dist/build/test |
| | 52 | [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5 |
| | 53 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/util/GrouperUtilTest.java:147: warning: unmappable character for encoding ASCII |
| | 54 | [javac] String testString = "H13_FRA2007, Questions d?histoire de la lit?rature"; |
| | 55 | [javac] ^ |
| | 56 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/util/GrouperUtilTest.java:147: warning: unmappable character for encoding ASCII |
| | 57 | [javac] String testString = "H13_FRA2007, Questions d?histoire de la lit?rature"; |
| | 58 | [javac] ^ |
| | 59 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:423: warning: unmappable character for encoding ASCII |
| | 60 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 61 | [javac] ^ |
| | 62 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:423: warning: unmappable character for encoding ASCII |
| | 63 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 64 | [javac] ^ |
| | 65 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:423: warning: unmappable character for encoding ASCII |
| | 66 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 67 | [javac] ^ |
| | 68 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:423: warning: unmappable character for encoding ASCII |
| | 69 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 70 | [javac] ^ |
| | 71 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:423: warning: unmappable character for encoding ASCII |
| | 72 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 73 | [javac] ^ |
| | 74 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:423: warning: unmappable character for encoding ASCII |
| | 75 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 76 | [javac] ^ |
| | 77 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:423: warning: unmappable character for encoding ASCII |
| | 78 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 79 | [javac] ^ |
| | 80 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:423: warning: unmappable character for encoding ASCII |
| | 81 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 82 | [javac] ^ |
| | 83 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:424: warning: unmappable character for encoding ASCII |
| | 84 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 85 | [javac] ^ |
| | 86 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:424: warning: unmappable character for encoding ASCII |
| | 87 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 88 | [javac] ^ |
| | 89 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:424: warning: unmappable character for encoding ASCII |
| | 90 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 91 | [javac] ^ |
| | 92 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:424: warning: unmappable character for encoding ASCII |
| | 93 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 94 | [javac] ^ |
| | 95 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:424: warning: unmappable character for encoding ASCII |
| | 96 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 97 | [javac] ^ |
| | 98 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:424: warning: unmappable character for encoding ASCII |
| | 99 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 100 | [javac] ^ |
| | 101 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:424: warning: unmappable character for encoding ASCII |
| | 102 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 103 | [javac] ^ |
| | 104 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:424: warning: unmappable character for encoding ASCII |
| | 105 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 106 | [javac] ^ |
| | 107 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:455: warning: unmappable character for encoding ASCII |
| | 108 | [javac] assertDoNotFindGroupByName( s, "t??st:??Group" ); |
| | 109 | [javac] ^ |
| | 110 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:455: warning: unmappable character for encoding ASCII |
| | 111 | [javac] assertDoNotFindGroupByName( s, "t??st:??Group" ); |
| | 112 | [javac] ^ |
| | 113 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:455: warning: unmappable character for encoding ASCII |
| | 114 | [javac] assertDoNotFindGroupByName( s, "t??st:??Group" ); |
| | 115 | [javac] ^ |
| | 116 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:455: warning: unmappable character for encoding ASCII |
| | 117 | [javac] assertDoNotFindGroupByName( s, "t??st:??Group" ); |
| | 118 | [javac] ^ |
| | 119 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:466: warning: unmappable character for encoding ASCII |
| | 120 | [javac] gA = assertFindGroupByName( s, "t??st:??Group" ); |
| | 121 | [javac] ^ |
| | 122 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:466: warning: unmappable character for encoding ASCII |
| | 123 | [javac] gA = assertFindGroupByName( s, "t??st:??Group" ); |
| | 124 | [javac] ^ |
| | 125 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:466: warning: unmappable character for encoding ASCII |
| | 126 | [javac] gA = assertFindGroupByName( s, "t??st:??Group" ); |
| | 127 | [javac] ^ |
| | 128 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/TestXml.java:466: warning: unmappable character for encoding ASCII |
| | 129 | [javac] gA = assertFindGroupByName( s, "t??st:??Group" ); |
| | 130 | [javac] ^ |
| | 131 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:418: warning: unmappable character for encoding ASCII |
| | 132 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 133 | [javac] ^ |
| | 134 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:418: warning: unmappable character for encoding ASCII |
| | 135 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 136 | [javac] ^ |
| | 137 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:418: warning: unmappable character for encoding ASCII |
| | 138 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 139 | [javac] ^ |
| | 140 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:418: warning: unmappable character for encoding ASCII |
| | 141 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 142 | [javac] ^ |
| | 143 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:418: warning: unmappable character for encoding ASCII |
| | 144 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 145 | [javac] ^ |
| | 146 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:418: warning: unmappable character for encoding ASCII |
| | 147 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 148 | [javac] ^ |
| | 149 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:418: warning: unmappable character for encoding ASCII |
| | 150 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 151 | [javac] ^ |
| | 152 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:418: warning: unmappable character for encoding ASCII |
| | 153 | [javac] Group gA = new GroupSave(grouperSession).assignGroupNameToEdit("t??st:??Group").assignName("t??st:??Group") |
| | 154 | [javac] ^ |
| | 155 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:419: warning: unmappable character for encoding ASCII |
| | 156 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 157 | [javac] ^ |
| | 158 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:419: warning: unmappable character for encoding ASCII |
| | 159 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 160 | [javac] ^ |
| | 161 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:419: warning: unmappable character for encoding ASCII |
| | 162 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 163 | [javac] ^ |
| | 164 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:419: warning: unmappable character for encoding ASCII |
| | 165 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 166 | [javac] ^ |
| | 167 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:419: warning: unmappable character for encoding ASCII |
| | 168 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 169 | [javac] ^ |
| | 170 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:419: warning: unmappable character for encoding ASCII |
| | 171 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 172 | [javac] ^ |
| | 173 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:419: warning: unmappable character for encoding ASCII |
| | 174 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 175 | [javac] ^ |
| | 176 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:419: warning: unmappable character for encoding ASCII |
| | 177 | [javac] .assignDisplayName("t??st:??Group").assignDescription("t??st:??Group").assignCreateParentStemsIfNotExist(true).save(); |
| | 178 | [javac] ^ |
| | 179 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:453: warning: unmappable character for encoding ASCII |
| | 180 | [javac] assertDoNotFindGroupByName( s, "t??st:??Group" ); |
| | 181 | [javac] ^ |
| | 182 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:453: warning: unmappable character for encoding ASCII |
| | 183 | [javac] assertDoNotFindGroupByName( s, "t??st:??Group" ); |
| | 184 | [javac] ^ |
| | 185 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:453: warning: unmappable character for encoding ASCII |
| | 186 | [javac] assertDoNotFindGroupByName( s, "t??st:??Group" ); |
| | 187 | [javac] ^ |
| | 188 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:453: warning: unmappable character for encoding ASCII |
| | 189 | [javac] assertDoNotFindGroupByName( s, "t??st:??Group" ); |
| | 190 | [javac] ^ |
| | 191 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:467: warning: unmappable character for encoding ASCII |
| | 192 | [javac] gA = assertFindGroupByName( s, "t??st:??Group" ); |
| | 193 | [javac] ^ |
| | 194 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:467: warning: unmappable character for encoding ASCII |
| | 195 | [javac] gA = assertFindGroupByName( s, "t??st:??Group" ); |
| | 196 | [javac] ^ |
| | 197 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:467: warning: unmappable character for encoding ASCII |
| | 198 | [javac] gA = assertFindGroupByName( s, "t??st:??Group" ); |
| | 199 | [javac] ^ |
| | 200 | [javac] /srv/grouper/grouper.api-2.1.4/src/test/edu/internet2/middleware/grouper/xml/importXml/XmlLegacyTest.java:467: warning: unmappable character for encoding ASCII |
| | 201 | [javac] gA = assertFindGroupByName( s, "t??st:??Group" ); |
| | 202 | [javac] ^ |
| | 203 | [javac] Note: Some input files use or override a deprecated API. |
| | 204 | [javac] Note: Recompile with -Xlint:deprecation for details. |
| | 205 | [javac] Note: Some input files use unchecked or unsafe operations. |
| | 206 | [javac] Note: Recompile with -Xlint:unchecked for details. |
| | 207 | [javac] 51 warnings |
| | 208 | [copy] Copying 7 files to /srv/grouper/grouper.api-2.1.4/dist/build/test |
| | 209 | |
| | 210 | dist: |
| | 211 | [mkdir] Created dir: /srv/grouper/grouper.api-2.1.4/dist/lib |
| | 212 | [copy] Copying 1 file to /srv/grouper/grouper.api-2.1.4/dist/build/grouper |
| | 213 | [copy] Copying 1 file to /srv/grouper/grouper.api-2.1.4/dist/build/grouper |
| | 214 | [copy] Copying 1 file to /srv/grouper/grouper.api-2.1.4/dist/build/grouper |
| | 215 | [copy] Copying 1 file to /srv/grouper/grouper.api-2.1.4/dist/build/grouper |
| | 216 | [jar] Building jar: /srv/grouper/grouper.api-2.1.4/dist/lib/grouper-20130602.jar |
| | 217 | [copy] Copying 1 file to /srv/grouper/grouper.api-2.1.4/dist/lib |
| | 218 | [mkdir] Created dir: /srv/grouper/grouper.api-2.1.4/dist/lib/test |
| | 219 | [jar] Building jar: /srv/grouper/grouper.api-2.1.4/dist/lib/test/grouper-test.jar |
| | 220 | |
| | 221 | BUILD SUCCESSFUL |
| | 222 | Total time: 40 seconds |
| | 223 | }}} |
| | 224 | |
| | 225 | |
| | 226 | == Basic Grouper Configuration == |
| | 227 | |
| | 228 | 1. Find the following properties in /srv/grouper/grouper.api-2.1.4/conf/grouper.properties and update the values. |
| | 229 | |
| | 230 | {{{ |
| | 231 | groups.create.grant.all.read = false |
| | 232 | groups.create.grant.all.view = false |
| | 233 | groups.wheel.use = true |
| | 234 | grouperIncludeExclude.use = true |
| | 235 | }}} |
| | 236 | |
| | 237 | The first two properties will prevent everybody from having read and view access to newly created groups by default. The third property will allow the use of a wheel group. Members of the wheel group have full access in Grouper. The name of this wheel group is etc:sysadmingroup. And the forth property allows the use of include/exclude groups. |
| | 238 | |
| | 239 | 2. Configure database settings. Find the following properties in /srv/grouper/grouper.api-2.1.4/conf/grouper.hibernate.properties and update the values. |
| | 240 | |
| | 241 | {{{ |
| | 242 | hibernate.connection.url = jdbc:oracle:thin:@msct.alaska.edu:1536:MSCT |
| | 243 | hibernate.connection.username = grouper |
| | 244 | hibernate.connection.password = <password> |
| | 245 | }}} |
| | 246 | |
| | 247 | 3. Configure subject source settings in /srv/grouper/grouper.api-2.1.4/conf/sources.xml. |
| | 248 | |
| | 249 | a) Delete the entire source element with <id>jdbc</id>. |
| | 250 | b) Add source element for LDAP. |