Hi Ralf, On 11-10-07 at 07:45am, RalfGesellensetter wrote: > I wonder if anybody here has got experience with the > Meeting Room Booking System (MRBS running with LAMP)? > > We plan to use this online tool to allow teachers booking > our resources (like special rooms or mobile beamers). > > It should be easy to bind MRBS [1} to tjener's LDAP, > whereas just teachers should be allowed to access the > system. > > AFAIK there is a fork to be run as moodle block, but > the most recent version of MRBS should do the job > pretty well. I have used MRBS for a client in the past. But not specifically with Skolelinux. It is some time ago, and back then I found no better alternatives. More recently I have succeeded using calendarserver for booking purposes, and I wholeheartedly recommend doing that instead: It uses open data and protocols, can be a little tricky to setup at first, but benefit is high as it is then accessible by many standard calendaring clients. In my configurations calendarserver offers only CalDAV access, and I use homemade script myicsdump (attached) to generate ical files of selected areas, making those public with Apache2. myicsdump uses a helper script localics2ics, available here: http://source.jones.dk/?p=bin.git;a=blob;f=localics2ics - Jonas -- * Jonas Smedegaard - idealist & Internet-arkitekt * Tlf.: +45 40843136 Website: http://dr.jones.dk/ [x] quote me freely [ ] ask before reusing [ ] keep private
#!/bin/sh
#
# Copyright © 2011 Jonas Smedegaard <dr@jones.dk>
# Description: Dump selected calendarserver data as .ics files
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
# 02111-1307 USA.
#
# Depends: calendarserver localics2ics
set -e
# TODO: make these variables overridable from configfile or ENV
calendarbasedir="/var/spool/caldavd/calendars/__uids__"
# TODO: Resolve project and hostname from /etc/local-* files
project=Homebase
hostname=event.homebase.dk
icsbasedir=~/public_websites/"$hostname"
icsindexpage="$icsbasedir/index.html"
dumpcal() {
set -e
user="$1"
calendar="$2"
glob="$3"
shift 3 # FIXME: properly check that above variables are nonzero
calendardir=$(find "$calendarbasedir" -maxdepth 4 -mindepth 4 -type d -path "$glob")
# FIXME: fail if glob matched multiple calendar dirs (or use head -n 1)
icsdir="$icsbasedir/$user/$calendar/ical"
icsfile="$icsdir/index.ics"
icstmpfile="$icsdir/index.ics~"
# skip if no events found are newer than last dump
if [ -d "$icsdir" ] && [ -s "$icsfile" ]; then
newevents=$(find "$calendardir" -maxdepth 1 -type f -name "*.ics" -cnewer "$icsfile")
if [ -z "$newevents" ]; then
return
fi
fi
mkdir -p "$icsdir"
find "$calendardir" -maxdepth 1 -type f -name "*.ics" -execdir cat {} + > "$icstmpfile"
# Apple iCal chokes on non-UTF data that calendarserver tolerates
localics2ics "$icstmpfile" > "$icsfile"
rm "$icstmpfile"
edited=1
}
edited=
#dumpcal fl unknown "**/6f176ab7*/B35C80D8*"
dumpcal kpstaff t15 "**/3c77323d*/9594D5E8*"
dumpcal kpstaff t16 "**/3c77323d*/2E0F8694*"
dumpcal kpstaff t17 "**/3c77323d*/B4556602*"
dumpcal kpstaff t18 "**/3c77323d*/A53CEE90*"
dumpcal kpstaff room "**/3c77323d*/86D01505*"
dumpcal kpstaff staff "**/3c77323d*/calendar"
dumpcal kpstaff outpost-draft "**/3c77323d*/57B21073*"
# rewrite front page only if calendars where updated
[ -n "$edited" ] || exit 0
icspaths=$(cd "$icsbasedir" && find * -type f -name "index.ics" -not -empty | sort)
cat <<"EOF" > "$icsindexpage"
<html>
<head>
</head>
<body>
<h1>Public Calendars at $project</h1>
<ul>
EOF
for icspath in $icspaths; do
icsdir=$(dirname "$icspath")
echo "<li><a href=\"$icsdir/\">http://$hostname/$icsdir/</a>" >> "$icsindexpage"
done
cat <<EOF >> "$icsindexpage"
</body>
</html>
EOF
Attachment:
signature.asc
Description: Digital signature