Check if there is not virtualenv and create it in init_build, cuz we need it.


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12617 e27351fd-9f3e-4f54-a53b-843176b1656c
Add admin home page


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12618 e27351fd-9f3e-4f54-a53b-843176b1656c
Add PageElement class


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12619 e27351fd-9f3e-4f54-a53b-843176b1656c
Send the proper response string to OD digest auth


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12620 e27351fd-9f3e-4f54-a53b-843176b1656c
OD recordwithShortName is supposed to only return a single record


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12621 e27351fd-9f3e-4f54-a53b-843176b1656c
Add logs resource


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12622 e27351fd-9f3e-4f54-a53b-843176b1656c
LDAP recordTypeForRecordData needs to take into account multiple values for objectClass


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12623 e27351fd-9f3e-4f54-a53b-843176b1656c
Allow configuration of the various DPS services via plist


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12624 e27351fd-9f3e-4f54-a53b-843176b1656c
don't reinvent the wheel.  dict has pop()


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12625 e27351fd-9f3e-4f54-a53b-843176b1656c
Start wiring up an event source


git-svn-id: https://svn.calendarserver.org/repository/calendarserver@12626 e27351fd-9f3e-4f54-a53b-843176b1656c