Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

CardDAV Server

Include Page
BWK38:BW 3.8 CardDAV Server
BWK38:BW 3.8 CardDAV Server
Include Page
BWK38:BW 3.8 The Bedework Addressbook Client
BWK38:BW 3.8 The Bedework Addressbook Client

Working with the Quickstart

The Quickstart uses Bedework's directory server (buildt on Apache DS)  to serve public contacts -- both people and locations.   Private address books are stored in an HSQLDB database.  HSQLDB is the java-based database engine included in the quickstart.   Instructions for adding more public information are included below.
Three locations and three public people are preloaded into the quickstart and served out by Apache DS.   That data resides in <qs>/apacheds-1.5.3-fixed/bedework.org.
Three of the preloaded Bedework users -- vbede, bfranklin, and mtwain -- have contacts stored in their address books.

Getting Bedework ready:

  1. Kill bedework, if you've been running it.
  2. cd <qs>
    # svn update bedework
    # svn update bedework-carddav
    # make a copy of your apacheds directory in case your directory gets hosed later:
    Code Block
    cp -rp apacheds-1.5.3-fixed apacheds-1.5.3-fixed.REFERENCE (or whatever)
  3. review carddav settings in cal.options.xml## For example, <cardPathPrefixes>/public/people,loc_:/public/locations</cardPathPrefixes>.  See note on "loc_" in the Public Locations section.
  4. build bedework: ./bw -quickstart deploy
  5. build carddav:  ./bw -quickstart -carddav
  6. (if needed) delete your carddav database to make sure that you're starting clean.  (Bedework will recreate it when it starts):#* cd <qs>/jboss-5.1.0.GA/server/default/data/hypersonic#* delete or move to the side CardDb3p7*
  7. In one window, start apache directory services#* cd <qs>#* /bw -quickstart dirstart
  8. In other window, start bedework#* cd <qs> 
    • ./startjboss
  9. (if you deleted you database) Import the schema** visit localhost:8080/jmx-console#* Log in with username "admin" and password "bw" (if the login doesn't work, check the file <qs>/jboss-5.1.0.GA/config/#* scroll all the way down and choose service=CardDumpres very near the bottom
    • set export to True
    • set create to True
    • (temporarily, pending fix) remove "carddumprestore" path component from SchemaOutFile. 
    • Apply Changes
    • Move toward the bottom and clink on the Schema Invoke button.
    • Check the jboss window for "schema export complete".

Public Locations

We follow a convention of prefixing location calendar addresses with "loc_" to distinguish them from people.  For example, here's the vcard for "Cafe de la Butte", one of the locations shipped with Bedework (http://localhost:8080/ucarddav/public/locations/CafeDeLaButte.vcf).  Note the EMAIL attribute:

...

That email prefix can be changed in cal.options.xml inside the configuration directory.

Adding Public Locations

  1. Because public locations are served by the built-in LDAP server, prepare them for import by preparing an LDIF file (let's say locations.ldif), with entries that look like this:
Code Block
dn: cn=CafeDeLaButte,ou=locations,ou=public,dc=bedework,dc=org

...


objectclass: top

...


objectclass: calendarresource

...


objectclass: schedapprovalinfo

...


objectclass: calEntry

...


objectclass: room

...


kind: location

...


uid: bw000001@mysite.edu

...


calCalAdrURI: mailto:loc_cafedelabutte@mysite.edu

...


mail: loc_cafedelabutte@mysite.edu

...


cn: CafeDeLaButte

...


ou: locations

...


description: Cafe De La Butte

...


autoschedule: TRUE
  1. (Download, Install and) Start up Apache Directory Studio and point it at the Bedework Directory Server## Server## Locate ou=locations under ou=public, under dc=bedework, dc=org## org## Import locations.ldif by right-clicking on ou=locations and choosing import/ldif import and browsing to its location.   If there's a chance of duplicates, clickUpdate existing entries.
    ## Test with http://localhost:8080/ucarddav/public/locations

## (if it's not running) Start up Apache Directory Studio

    1. Locate ou=people under ou=public, under dc=bedework, dc=org
    2. Import locations.ldif by right-clicking on ou=locations and choosing import/ldif import and browsing to its location.   If there's a chance of duplicates, click Update existing entries.
    3. Test with http://localhost:8080/ucarddav/public/people

...

  1. #* Add ldap connection
  1. #*  #* #*  #* #** server: localhost:10389#** user dn: uid=admin,ou=system   password="secret"

    Adding Public People

...