, Bug #7509).
[cjh] Add a PostgreSQL-specific upgrade script for 2.2 to 2.3.
[cjh] Fix fatal error when completing tasks (Bug #7400).
------
v1.2.2
------
[jan] Update broken Date_Holidays package (Bug #7784).
Horde Changes
-------------
[cjh] SECURITY: Escape output in the tag cloud block
(found by Gunnar Wrobel ).
[cjh] SECURITY: Validate the Horde_Image driver name
(found by Gunnar Wrobel
).
[cjh] Allow "." in phone number fields (Request #7858).
[cjh] Restore backwards compatibility in MIME::_rfc822Encode calls,
used in Kronolith and Whups FW3 calls (Bug #7862).
[cjh] Fix the SQL Share driver closing the global database connection
improperly when using PostgreSQL (Bug #7825).
[jan] Add support for Mozilla Sunbirds snooze properties (Request #7470).
[cjh] Try iconv_substr() in String::substr() if it's available
(duck@obala.net, Request #7826).
[cjh] Avoid warnings in Perms::getPermissionId with PostgreSQL
(Marcus Ryan , Bug #7750).
[jan] Fix parsing of LABEL attributes in the vCard viewer.
------
v1.2.1
------
[jan] Patch broken Date_Holidays package (Bug #7413).
[jan] Fix updating of preferences and other configuration files (Bugs #7439,
#7538).
[jan] Fix creating the alarm tables on PostgreSQL (Bug #7409).
[mms] Upgrade prototype.js to v1.6.0.3.
Horde Changes
-------------
[cjh] SECURITY: Add another check to the XSS filter.
[jan] Add script to import preferences from SquirrelMail database.
[cjh] Allow the password file Auth driver to require a specific group.
[jan] Add XPath wrapper to Horde_DOM library.
[cjh] Don't use executeMultiple in the SQL Share driver when we might
reset the connection in between queries (Bug #7542).
[jan] Fix database XML schema to create all lock table fields (Bug #7433).
[jan] Fix showing two sidebars after saving the display preference group for
the first time (Bug #7475).
[jan] Fix sharing with LDAP groups (Bug #6883).
[jan] Add javascript event handler for access keys.
[cjh] Remove UNSIGNED from PostgreSQL scripts.
[cjh] Call preference hooks in the scope of the preference
(vlukashov (at) parallels (dot) com, Bug #7445).
[jan] Fix resuming synchronization session on server farms
(adrieder@sbox.tugraz.at, Bug #7394).
[jan] Fix synchronization of tasks with many items (adrieder@sbox.tugraz.at,
Bug #7395).
[jwm] Fix regression: SOAP wsdl/disco shouldn't require authorization.
Address Book Changes
--------------------
[jan] SECURITY: Escape output in test.php.
[jan] Add script to import contacts from SquirrelMail database.
[gwr] Correct support for the freebusy URL in Kolab.
[gwr] Add photo support for the Kolab driver.
[jan] Import broken vCards from Synthesis clients (Bug #7407).
[cjh] Add two retries to find a contact after adding it (Bug #7478).
[cjh] Add a PostgreSQL-specific upgrade script for 2.2.1 to 2.3
(michael.menge@zdv.uni-tuebingen.de, Bug #7462).
[jan] Don't overwrite empty address books preference when creating new shares
(Bug #7399).
----
v1.2
----
[jan] Change group field in shares table to work with LDAP groups (Bug #6883).
Horde Changes
-------------
[jan] Fix synchronization issues with Blackberry clients (Bug #6949).
[mms] Fix setting the horde user when using application authentication with
realms (Bug #6749).
[jan] Fix user name conversion with user hooks in the permissions interfaces
(Bug #6371).
[jan] Provide all settings for the read server in split SQL configuration
(Request #7024).
[jan] Improve HTML to text filter.
[mjr] Hierarchical SQL Share driver now correctly removes all children when
removing a share (Bug: 7347).
[mjr] Fix an issue with various date/time fields in horde form that was causing
erroneous validation errors.
[cjh] Sign parameters to go.php with an HMAC based on a new secret key
configuration value, to prevent using go.php as an open referrer.
[cjh] Make logout tokens only valid for a configurable length of time.
Address Book Changes
--------------------
[jan] Fix exporting address books with country fields as vCards (Bug #7372).
[mjr] Make sure we use all address books when searching via the api and the
user's addressbooks pref is empty (Bug #7357).
[mjr] Correctly calculate the age of time objects (Bug #7330).
Calendar Changes
----------------
[jan] Fix user name conversion with user hooks in the calendar panel
(Bug #7366).
[gwr] Fixed handling of free events in the Kolab driver
(noethen@uni-paderborn.de, Bug #7192).
[jan] Differentiate between days with events and days with busy events in the
year view.
Tasks Changes
-------------
[jan] Log completion date if adding a completed task (Bug #7275).
[jan] Fix user name conversion with user hooks in the task list panel
(Bug #7366).
[jan] Fix displayed WebDAV subscription URLs in the task list manager.
--------
v1.2-RC1
--------
[jan] Fix upgrading from 1.1.x releases.
[jan] Improved SOAP interface.
Horde Changes
-------------
[mms] Fix garbage collection handling on SQL session handler backends.
[mjr] Change MDB2 sequence names to 'id' in SQL share driver (Bug #7240).
[cjh] When a URL is supplied for pass-through after logging in, go to that URL
in mobile browsers instead of going to the mobile portal (Bug #6332).
[mms] Memcache session handler no longer writes data with a lifetime.
[cjh] Add DIMP to the horde LDAP OIDs and hordePerson objectclass (Bug #7243).
[mms] Update FCKeditor to v2.6.3.
[jan] Use global mailer configuration when sending alarm emails
(adrieder@sbox.tugraz.at, Bug #7058).
[jan] Reset background colors when resetting the category form (Bug #7226).
[jan] Improve Funambol contacts support (Requests #7099, #7100).
[jan] Correctly parse GEO tags in vCard 2.1 data (Bug #6563).
[jan] Remove Horde portal link from application menus (Bug #7221).
[cjh] Create a driver for signups, allowing backends other than DataTree
(Duck , Request #7161).
[jan] Fix displaying images with the image form field.
[mjr] Fix issue with hierarchical SQL share driver that caused permissons to
erroneously be denied when the share contained group permissions and was
instantiated by a listShares call.
[mjr] Fix issue with hierarchical SQL share driver that caused any child shares
to be orphaned when the parent share was moved in the hierarchy.
[mjr] Fix issue with SQL share drivers that was causing permission checks to
fail under certain conditions by no longer explicitly storing owner
permissions in the Perms backend.
[cjh] Fix overwriting a variable in the tableset_html VarRenderer
(Paul Roy , Bug #7120).
[mms] Fix MIME encoding when using the ISO-2022-JP charset (Bug #1621).
[jan] Fix SQL Share driver not using the correct database when using different
databases in Horde applications (Bug #6997).
[cjh] Fix SQL portability in Share_sql driver (Bug #7084).
[jan] Fix synchronizing large amounts of data split across several SyncML
messages.
[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV
).
[cjh] Fix Horde_Lock::getLockInfo (duck@obala.net, Bub #7046).
[cjh] Fix SQL portability in Group_sql driver (Bug #7075).
[jan] Fix PAM authentication driver, but also mark it as deprecated (Bug #6982).
[mjr] Fix issue with native SQL Share driver that caused filtering shares by
attributes to fail.
[jan] Fix synchronization of event alarms with Funambol clients (Bug #7003).
[jan] Correctly detect Funambol clients on Blackberry devices (Bug #6995).
[mjr] Remove all user application permissions and group memberships from storage
when removing the user from the system (Bug: 6999)
[cjh] Call the postauthenticate hook in Auth::setAuth(), and allow the
postauthenticate hook to cause setAuth() to fail. Allows postauthenticate
to fire on any event, including transparent authentication, that could
result in a user being successfully logged in.
[jan] Improve attribute support and charset conversion in vCard viewer.
[jan] Show photos in vCard object if provided with an URL.
[mjr] Remove permissions from storage also when removing a share.
[jan] Add Horde_Form fields for string arrays and PGP and S/MIME keys.
[jan] Only show Add Permission icons in permissions interface where adding
them is possible.
[mjr] Fix issue in Horde_Image that was causing erratic results when cropping
images.
[jan] Fix validation of phone fields marked as required (Bug #6948).
[mms] Fix quoting periods in display part of e-mail address (Bug #6899).
[mms] Fix error checking when parsing an undisclosed recipients mail header
and using an older version of PEAR::Mail (Bug #6930).
[jan] Return to portal after editing or deleting blocks directly from there.
Address Book Changes
--------------------
[jan] Improve vCard EMAIL field parsing (Bug #7281).
[jan] Correctly import and export address extensions (Bug #7279).
[jan] Export full country names to vCard addresses.
[jan] Respect precedence of multiple vCard properties (Request #7122).
[jan] Remove deleted address books from address book preference (Request #6938).
[jan] Export LABEL properties to vCard if address fields are available.
[gwr] Add support for storing public PGP keys when using Kolab.
[gwr] Add support for adding addresses from IMP when using Kolab.
[jan] Add configuration option for an alternative name field.
[jan] Add support for image fields to SQL driver (requires Horde 3.3).
[jan] Add more default field mappings for CSV import (Request #6901).
[jan] Update field names for Outlook 2003 export (Request #6901).
[jan] Improve logic which entries to show in the sidebar menu.
[jan] Add support for the category form field (Request #6884).
[jan] Fix sorting so that sort order is always reflected correctly,
independent of name format.
[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV
).
[jan] Add ability to mark a contact as your own and API method to export it.
[jan] Fix importing phone numbers from Synthesis clients (Bug #7011).
[mjr] Fix issue with searching composite fields when the number of search terms
is less than the number of composed fields (Bug #6796)
[cjh] Allow importing multiple address into an email field if allow_multi
is set to true on the field in attributes.php (Bug #6897).
[mjr] Remove user permissions on all shares when deleting a user.
[jan] Fix searching of client address books that have been disabled in the
preferences (Bug #6961).
[mjr] Fix issue with removeUserData api that caused the deleted user's
address books to not be deleted as well as remove an erroneous error
notification (Bug #6969).
[cjh] Fix the column selector/sorter in IE (Bug #6912).
Calendar Changes
----------------
[jan] Send correct iTip notifications when deleting recurring event instances
(Bug #6636).
[mjr] Add support for embedding calendar widgets on external websites.
[jan] Log moving of events in the history backend (Bug #3207).
[jan] Fix listing alarms of recurring events crossing day boundaries
(Bug #7035).
[jan] Fix deleting all events over WebDAV (Bug #7005).
[jan] Add Atom feeds.
[jan] Fix encoding of holiday names.
[jan] Add Estonian translation (Alar Sing ).
[jan] Consider RECURRENCE-ID attributes in iCalendar data.
[cjh] Fix a problem with the put() API call and events that already exist
(almarin@um.es, Bug #7088).
[jan] Fix importing iCalendar events with only a single recurrence exception
(guyzdm@gmail.com, Bug #7068).
[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV
).
[mjr] Add support for maintenance tasks and add a task for purging old events.
[jan] Fix future events not being received under certain circumstances
(Bugs #6946, #6966).
[jan] Correctly sort recurring events (develop@kristov.de, Bug #7037).
[jan] Fix display of recurring events crossing midnight in the portal block
(develop@kristov.de, Bug #7036).
[jan] Fix agenda emails containing wrong events.
[mjr] Remove user permissions on all shares when deleting a user.
[jan] Fix warning when importing events through the API (Bug #6865).
[cjh] Be case insensitive when comparing attendees
(aloyse.gilbert@gmail.com, Bug #6833).
[jan] Use smaller icons for private events.
Tasks Changes
-------------
[jan] Log moving of tasks in the history backend (Bug #3207).
[jan] Fix deleting all tasks over WebDAV (Bug #7004).
[jan] Add Estonian translation (Alar Sing ).
[jan] Send a more detailed notification message and use the recipient's
preferred language and date/time format after a task has changed.
[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV
).
[jan] Fix task relationship getting lost when importing tasks
(tkrah@fachschaft.imn.htwk-leipzig.de, bb.apc.ag, Bug #6770).
[jan] Add preference to set columns for the list view.
[jan] Allow to set task assignee.
[jan] Add options to export screen for choosing task lists and task states.
[mjr] Remove user permissions on all shares when deleting a user.
[mjr] Fix issue with removeUserData api that caused the deleted user's task list
to not be deleted.
Notes Changes
-------------
[jan] Log moving of memos in the history backend (Bug #3207).
[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV
).
[mjr] Remove user permissions on all shares when deleting a user.
[mjr] Fix issue with removeUserData api that caused the deleted user's task list
to not be deleted (Bug #6969).
------
v1.1.6
------
Horde Changes
-------------
[jan] SECURITY: Fix vulnerability in image form fields that allows overwriting
of arbitrary local files.
[cjh] SECURITY: Fix validation of "number" type preferences (Bug #8399).
[mms] SECURITY: Don't display unknown text parts inline (Bug #8311).
------
v1.1.5
------
[jan] Patch broken Date_Holidays package (Bug #7784).
Horde Changes
-------------
[cjh] SECURITY: Escape output in the tag cloud block
(found by Gunnar Wrobel ).
[cjh] SECURITY: Validate the Horde_Image driver name
(found by Gunnar Wrobel
).
------
v1.1.4
------
[jan] Patch broken Date_Holidays package (Bug #7413).
[jan] Fix updating of preferences and other configuration files (Bugs #7439,
#7538).
[jan] Fix creating the alarm tables on PostgreSQL (Bug #7409).
Horde Changes
-------------
[cjh] SECURITY: Add another check to the XSS filter.
Address Book Changes
--------------------
[jan] SECURITY: Escape output in test.php.
------
v1.1.3
------
Horde Changes
-------------
[jan] SECURITY: Fix unescaped output in the MIME attachment linking.
[jan] SECURITY: Add another check to the XSS filter.
------
v1.1.2
------
[jan] Add upgrade functionality to the setup script.
------
v1.1.1
------
[jan] Include missing MDB2 drivers.
Horde Changes
-------------
[cjh] SECURITY: Escape item names in the object browser (Bug #6906).
[cjh] Select db before queries in MySQL SessionHandler (Bug #6673).
[jan] Format messages sent through MIME_Mail in flowed text format.
[cjh] Catch errors if the Cache_file backend doesn't have permission to
garbage collect (Bug #6895).
[cjh] Fix deletion of SQL shares when using split read/write databases
(duck@obala.net, Bug #6870).
[mms] Workaround broken IE behavior when downloading files with 8-bit
filenames (felix5ng@yahoo.com.hk, Bug #129).
[cjh] Fix storing of unlocked preferences set by hooks
(manuel@mausz.at, Bug #6822).
[mms] Allow Horde memcache driver to use UNIX sockets (Bug #6848).
[mjr] Various fixes for hierarchical SQL Share driver involving share names,
better error checking and logging.
[cjh] Fix order of checks in String::convertCharset (Bug #6794).
[mms] Fix parsing of addresses in headers when the RFC 2047-encoded personal
part of the address contains address list delimiters (Bug #6747).
[cjh] Fix generation of unique keys in configuration for machines too fast for
microtime() (mail@dunix-data.de, Bug #6762).
[gwr] Added group driver for Kolab.
[gwr] Added IMAP based preferences driver for Kolab.
[mms] Fix missing timestamp variable in Horde SQL cache driver
(keith@ajmani.org, Bug #6839).
[cjh] Fix over-zealous preference caching when preferences are requested for a
different user (Bug #6820).
[mjr] Fix issue in Horde_Image that caused errors when performing certain image
operations immediately after an image had been cropped when using the
ImageMagick driver.
Address Book Changes
--------------------
[cjh] SECURITY: Escape contact names in the contact display view.
[jan] Fix importing of certain phone numbers from vCard (Bug #6744).
[mjr] Correct a function declaration in the 2.1_to_2.2_sql_schema.php upgrade
script that was causing fatal errors.
----
v1.1
----
[cjh] Improve resource usage in datatree_to_sql share migration scripts
(Bug #6740).
[jan] Update Services_Weather package to fix changes in the weather.com API.
Horde Changes
-------------
[jan] Fix synchronization of contacts with some SyncML clients (Bug #6706).
[mjr] Fix SQL bitwise comparison issue in native SQL share drivers that affected
PostgresSQL (Bug #6751).
[cjh] Ensure users' email addresses are well-formed (Bug #6654).
[jan] Remove About... link from help viewer.
[mms] Update Xinha editor to support Safari 3.
Address Book Changes
--------------------
[mjr] Fix importing email addresses from CSV files to be consistent with what
we allow to be entered via the UI. (Bug #6725)
Calendar Changes
----------------
[jan] Identify the correct event when using attend.php to update invitations
(Bug #6606).
[jan] Decode user names and passwords when editing remote calendars.
[cjh] Ensure that event_category is always a string (Bug #6696).
Tasks Changes
-------------
[jan] Allow to import all fields that can be exported.
[cjh] Fix displayed WebDAV subscription URLs in the panel (Bug #6709).
Notes Changes
-------------
[jan] Fix exporting and synchronization of encrypted notes.
--------
v1.1-RC3
--------
[cjh] Apply fix for http://dev.rubyonrails.org/ticket/11473 to prototype.js
(Request #6590).
[cjh] Add upgrade scripts for the new SQL share driver (Request #6109).
Horde Changes
-------------
[bak] Improvements to WebDAV return codes and implement WebDAV locks
[bak] Add Horde_Lock subsystem
[mms] Add memcache caching support to all session backends.
[cjh] Add a files-based Preferences backend (thomas.jarosch@intra2net.com,
Request #6653).
[cjh] Correct line-folding of encoded lines in iCalendar data
(Gunnar Wrobel
, Bug #6555).
[cjh] Add a configuration option for whether users can share with groups
they aren't members of (thomas.jarosch@intra2net.com, Request #6619).
[cjh] Ensure that alarms are created with a NULL alarm_snooze value
(michael.redinger@uibk.ac.at, Bug #6183).
[cjh] Add an admintools script for creating PEAR::DB sequences manually.
[cjh] Improved support for PGP fingerprints (Bug #6363).
[jan] Add rpc/ directory for prettified RPC URLs.
[jan] Move SyncML anchors out of the DataTree into a separate database table.
[cjh] Add beta SQL Permissions driver (duck@obala.net, Request #6150).
[cjh] Add beta SQL Group driver (duck@obala.net, Request #6175).
[jan] Use wider columns for the SyncML database table to correctly store long
UIDs (Bug #5025).
[jan] Add "hordeweb" theme.
[jan] Add MIME::parseAddressList().
[jan] Add icons to edit and delete blocks directly from the portal.
[jan] Allow users to specify login credentials for Horde applications in the
preferences.
[jan] Add NLS::setLanguageEnvironment() and NLS::setCharsetEnvironment().
[cjh] Fix LDAP authentication (Bug #6450).
[jan] Improve synchronization with Funambol clients.
[mas] Fix false positive verification of S/MIME messages (Bug #6323).
Address Book Changes
--------------------
[cjh] Fix editing contacts that were accessed by UID (Bug #6672).
[cjh] Include composite fields in data exports (Bug #6517).
[gwr] Add distribution list support to the Kolab driver.
[cjh] Add vCard/syncing support for a large number of additional attributes
(horde@ssn.at, Request #6573).
[cjh] Update composite fields in LDAP DNs (horde@ssn.at, Bug #6575).
[mjr] Fix paging in search results.
[cjh] Allow setting default values for attributes.
[cjh] Show a browse link in the address book list for each address book
(thomas.jarosch@intra2net.com, Request #6613).
[mjr] Fixed a bug that caused field values to get mismatched with the column
names when a single DB field is mapped to multiple Turba fields.
[mjr] Fix changing sort order on the search view.
[jan] Add preference to choose address books for synchronization.
[jan] Improved importing of names from vCards (Bug #6568).
[jan] Fix incomplete copying and moving of attributes to composite fields
(Bug #6565).
[gwr] Fix the relation of key/uid within the Kolab driver.
[gwr] Export/import of the emails attribute (Bug #6504).
[mas] Encode DN correctly when exporting to LDIF. (Bug #6518).
[gwr] Fix virtual address books when using shares.
[gwr] Fix searching for the Kolab driver.
[cjh] Replace the address book column sorter with a Scriptaculous-based one;
fixes re-ordering columns in some cases (Bug #6444).
[jan] Always return to the last view after saving a contact.
[jan] Correctly determine default address books in the API (SyncML, WebDAV).
[jan] Add categories imported through the API (SyncML, WebDAV).
[jan] Store categories as strings.
[cjh] Show who created or made the last change to a contact along with the date
(Request #6305).
[mjr] Prevent overwriting contact entries with the upgrade script (Bug #6308).
Calendar Changes
----------------
[cjh] In WebDAV PUT operations, only look for existing events on the calendar
being uploaded (Bug #6617).
[cjh] Use json_encode and json_decode if they are available (Bug #6457).
[cjh] Use the first matching free/busy URL if more than one is found
(almarin@um.es, Request #6638).
[cjh] Allow subscribing/unsubscribing from external calendars through the API
(duck@obala.net, Request #6626).
[jan] Add another directory level for calendar owners to the WebDAV interface.
[jan] Cut off categories at 80 characters to save them correctly (Bug #5211).
[gwr] Fixed removal of recurrence in the Kolab driver.
[jan] Show full title in email alarms (Bug #6510).
[jan] Add export of single events.
[gwr] Fixed History support in the Kolab driver.
[cjh] Don't report cancelled events as busy (m.gabriel@das-netzwerkteam.de,
Bug #6376).
[cjh] Show who created or made the last change to an event along with the date
(Request #6305).
[cjh] Make sure event time and location are shown in the day and week views
(Bug #6158).
[cjh] Include Location and Attendee information in the plain-text portion
of iTip messages (almarin@um.es, Request #6271).
[cjh] Use the Free/Busy default domain on the attendee entry page as well
(Bug #6146).
[jan] Add Turkish translation (METU ).
Tasks Changes
-------------
[cjh] Add an upgrade script for the new SQL share driver (Request #6109).
[jan] Correctly determine default task list in the API (SyncML, WebDAV).
[cjh] Show who created or made the last change to a task along with the date
(Request #6305).
[jan] Add Turkish translation (METU ).
Notes Changes
-------------
[gwr] Added History support in the Kolab driver.
[cjh] Avoid errors when trying to export an empty notepad (Bug #6409).
[cjh] Show who created or made the last change to a note along with the date
(Request #6305).
[jan] Add Turkish translation (METU ).
--------
v1.1-RC2
--------
[jan] SECURITY: Fix privilege escalation in Horde API.
[cjh] SECURITY: Fix missing ownership validation on share changes.
Horde Changes
-------------
[jan] SECURITY: Filter out FRAME tags from HTML messages (CVE-2007-6018).
[jan] SECURITY: The XSS filter passes the complete XSS cheat sheet
(http://ha.ckers.org/xss.html) now.
[cjh] Add a PHP 5-only block for putting syndicated feeds on the Horde Portal
(duck@obala.net, Request #6107).
[cjh] Automate detection of which themes/app combinations have custom icons
(Bug #6105).
[cjh] Fix listing of current session ids in the memcache SessionHandler
(Bug #6083).
[cjh] Correct handling of cache misses from the Horde_Cache_sql driver
(Bug #6060).
[mas] Add support for PGP revocation certificates to Crypt library.
[cjh] Provide specific validation errors when datetime Horde_Form fields have
a date but not a time, or vice-versa (Bug #5992).
[cjh] Read email addresses from subjectAltName property of S/MIME certs
(Bug #5986).
[cjh] Catch Horde_Block errors when doing ajax updates.
[cjh] Allow Horde_Mobile_select to take already-encoded options (Bug #5849).
[jwm] Add support in Horde_RPC_soap for handling SOAP endpoints that only
expose certain types and/or methods.
[jwm] Make the SOAP service name in Horde_RPC_soap configurable.
[jwm] Add basic logging of SOAP calls (method name and args, elapsed
time, bytes sent in response).
[cjh] Support LDAP password expiration when using Sun/Fedora Directory Server
(marco@csita.unige.it, Request #6012).
[cjh] Remove the wrap attribute from preference textarea tags (Bug #6024).
[cjh] Recommend and default to SSHA hashed passwords.
[jan] Fix rendering of messages in some charsets that are only supported by
iconv (Bug #5962).
[jan] Display WYSIWYG editor with correct language.
[jan] Fix creating of sub groups (Bug #5970).
[jan] Fix linking of URLs encapsulated in angle brackets (Bug #4946).
[jan] Fix edge cases of CSV file imports (Bugs #3839, #4025).
[mms] For SessionHandler drivers, don't write to backend if the session data
did not change while loading the current page.
[cjh] The Auth:: package no longer depends on the PHP mhash extension
for some encryption types.
[cjh] Add stream support to some VFS backends (Request #5913).
[jan] Add client code to JSON-RPC class and implement JSON-RPC 1.1.
Address Book Changes
--------------------
[mjr] Degrade gracefuly when no VFS is configured.
[cjh] Fixed the share flattening upgrade script.
[mjr] Fixed issue that caused mangling of composite fields when moving or
copying contacts from one address book to another (Bug #6058).
[mjr] Fixed issue that caused listTimeObjects to only return objects from a
single address book when using a shared SQL source.
[cjh] Update address book management UI to match other groupware apps.
[jan] Trim composite field values before saving to the backend (Bug #5979).
[mjr] Fixed issue where composite fields with 'attribute' value set were not
getting set in the backend when being imported via the API. (Bug #5978)
[mjr] Time object categories are now automatically detected.
[mjr] Fix issue that caused listTimeObjects API to miss returning objects when
the date range crosses over into the next year.
[jan] Improved portability of the upgrade script (Bug #5949).
[mjr] Added anniversary support to the listTimeObjects API.
Calendar Changes
----------------
[jan] Fix importing of events with an existing UID (Bug #6122).
[cjh] Fix timestamps in portal block event links.
[mjr] Fix issue that caused recurring events on 2/29 to appear on 3/1 when
recurrence type is HORDE_DATE_RECUR_YEARLY_DATE.
[cjh] If JavaScript is available, open the Attendees window set to the current
event's date (Request #5813).
[cjh] Fix display of events that end at 00:00 at a non-zero second (Bug #6047).
[cjh] Fix handling of local names in attendees.php
(m.gabriel@das-netzwerkteam.de, Bug #6041).
[cjh] Fix inline calendar search in the calendar panel.
[cjh] New share management UI that doesn't require JavaScript.
Tasks Changes
-------------
[jan] Fix tasks losing their parent task when being completed (Bug #6035).
[cjh] Add the ability to filter the list of task lists in the panel.
[cjh] New share management UI that doesn't require JavaScript.
[jan] Fix 2006-04-18_add_creator_and_assignee_fields.php upgrade script.
Notes Changes
-------------
[cjh] Add the ability to filter the list of notepads in the panel.
[cjh] New share management UI that doesn't require JavaScript.
[cjh] Add support for split read/write databases (,
Request #5936).
--------
v1.1-RC1
--------
[jan] Add performance tuning instructions.
Horde Changes
-------------
[jan] Apply user name hooks when editing share permissions
(steinkel@ctinetworks.com, Bug #5844).
[jan] Fix some date handling with dates outside the unix epoch (Bug #5893).
[jan] Fix fixed portal blocks (Bug #5853).
[jan] Fix Share caching (Bug #5748).
[cjh] Fix deleting categories (Gunnar Wrobel , Bug #5873).
[cjh] Import dhtmlHistory.js from DIMP into Horde core.
[cjh] UTF-8-encode DNs in the LDAP Groups driver (patrick.abiven@apitech.fr,
Bugs #4692 and #4918).
[mjr] Addition of an Effects API to the Horde_Image package, including a
number of image effect plugins.
[jan] Add country list form field.
[cjh] Add example logrotate configuration (Martin Fraer ).
[cjh] Add LDAP ACL definition for preferences (Martin Fraer
).
[cjh] Add an index on horde_datatree_attribute.attribute_value to improve
DataTree performance (Andrew Morgan ).
[jan] Add SQL upgrade scripts.
[jan] Fix escaping of parenthesis in PDF documents (PEAR Bug #12092).
[jan] Fix alarm notification script (Bug #5660).
[jan] Fix PDF generation with some locales (Gunnar Wrobel, Bug #4094).
[jan] Move all application-specific hook examples to the applications' config/
directories.
[jan] Fix SMTP configuration being set to "Best available authentication"
(Bug #5679).
[jan] Add bind parameters to LDAP account portal block configuration (Request
#5705).
[cjh] Fix login screen enter key behavior in some circumstances (Bug #5696).
[mjr] Add a new block for displaying a tag cloud that works across all Horde
applications implementing a searchTag api.
[cjh] Use the Silk flag icons from http://famfamfam.com/lab/icons/flags/
for all flag sets (Bug #5681).
[cjh] Fix generation of UIDs with PHP 5.2+.
[cjh] Add a JSON-RPC Horde_RPC backend (joey@joeyhewitt.com).
[cjh] Allow selecting any available sound when creating alarms as an
administrator (Request #5619).
[cjh] Fix updating of last_maintenance preference with PHP 4 (Bug #5111).
[cjh] Allow considering all IPs to be "safe" for encryption operations,
passphrase entry, etc., when using SSL hardware or other secure
environments (adrieder@sbox.tugraz.at, Request #5568).
[cjh] Fix CSRF protection with Horde_Form objects submitted with preserve().
[cjh] Centralize sounds for audio alarms in Horde.
[cjh] Include CSRF protection when using Horde_Form Tokens (Request #4492).
[cjh] Add first_week_day preference and use it in the calendar widget (Bug
#1729).
[cjh] Cache permissions with Horde_Cache (duck@obala.net).
[jan] Add configuration option for safe IP subnets.
[cjh] Allow turning off a user's ability to edit share permissions (Request
#4054).
[cjh] Consolidate color pickers used for Labels and in Horde_Form (Bug #5112).
[cjh] Log sending of problem report emails (Otto.Stolz@uni-konstanz.de,
Request #5461).
[cjh] Improve support for dates before 1970 and after 2038 (Bug #3741).
[mms] Add option to send MIME messages in a format that may allow broken MUAs
to handle 8-bit filename data.
[cjh] Add Tango Blue (xconspirisist ,
roti@al.pmmf.hu, Request #2795) and Silver Surfer (Daniel
Dembach ) themes.
[mms] Created a Horde-wide object to access a singlet memcache configuration.
[cjh] Test for PCRE UTF-8 support with extension tests
(thomas.jarosch@intra2net.com, Bug #1052).
[jan] Add category field to Horde_Form.
[cjh] Better detection of Konqueror JavaScript features
(thomas.jarosch@intra2net.com, Request #5372).
[cjh] Support the allow_multi parameter when displaying email address form
types (thomas.jarosch@intra2net.com, Request #5356).
[cjh] Add Scriptaculous and RedBox to Horde.
[mms] Added sql driver for Horde_Cache::.
[mms] Prevent tooltips from scrolling off screen (michael.sheldon@credativ.de,
Request #3958).
[jan] Add portal block to verify EU VAT identification numbers.
[mms] Preserve URL anchor information when performing login.
[jan] Add method to fetch public key by email address from key server.
[jan] Add parameter for a temporary directory to the VC svn driver
(meyer@mesw.de, Request #5051).
[jan] Change VC library to support open_basedir restrictions (meyer@mesw.de,
Request #5051).
[cjh] Added a query for checking existance of a user to the custom SQL
Auth driver (Request #5151).
[jan] Add button to the setup screen to check for newer versions.
[mas] Add MIME Viewer for WordPerfect documents.
[mms] Use lzf compression to compress Horde_SessionObjects:: data in the
session.
[cjh] Replace google popup javascript searching with Google Ajax Search.
[jan] Add datetime variable type to Horde_Form.
[jan] Add Horde_Alarm library for reminders, alarms and notifications across
all applications with pluggable notification methods.
[jan] Add context renderer to Text_Diff package.
[jan] Add MIME_Mail class to simplify creation and sending of MIME messages.
[cjh] Horde_Share now has a driver system with DataTree and Kolab backends
(Gunnar Wrobel , Request #4263).
[cjh] Remove RPC_rest backend.
[cjh] Add DELETE support to the webdav RPC implementation
(Håvard Wigtil , Request #4721).
[cjh] Add a Horde-wide HTTP proxy config setting (Request #1039).
[mms] Use the geoip PECL extension if available.
[cjh] Add preferences change hooks that are called when preferences are set
to new values (Request #4343).
[cjh] Add Active Directory support to the LDAP account information driver
(air2@dds.nl, Request #3512).
[cjh] Add a finger driver to the account information block
(difosfor@hotmail.com, Request #3546).
[cjh] Rewrite the Prefs code to keep the same Prefs object through multiple
scope changes, instead of re-loading the Horde prefs, or prefs for
a scope that had already been loaded. Fixes bugs when making changes
to preferences and then switching scopes again (Bug #2838).
[cjh] Switch from hook functions for every group to a single hook function
for all groups, allowing more dynamic Group_hooks implementations
(dorm@dorm.org, Request #4324).
[jan] Allow Kolab users to login with both, UID or mail address
(wrobel@gentoo.org, Bug #1317).
[cjh] Switch between 'icon' and 'iconopen' images when toggling Horde_Tree
sections (Bug #2576).
[cjh] Add a Horde_Form_Action for setting the cursor position in any
text field (Request #4431).
[cjh] Provide a link for dialing phone numbers if the "telephony/dial"
API method is present (thomas@gelf.net, Request #3241).
[jan] Add support for PUT method to WebDAV server
(d.bussink@student.utwente.nl, Request #3032).
[jan] Add PHP 5 support for Kolab (wrobel@gentoo.org, Bug #4062).
[jan] Rewrite PAM authentication driver to use PAM extension from PECL.
[mas] Implement IMAP_ACL_rfc2086::canEdit() for cases when the user is
asking about their own rights.
[mms] Correctly encode MIME parameter values via RFC 2231.
[mms] Add method to do RFC 2231 encoding.
[jan] Allow to set link target for "link" preference types.
[cjh] Move developer and administrator tools into seperate PEAR
packages that will be available from pear.horde.org.
[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines.
(Request #4080)
[jan] Add SMIL MIME viewer.
[jan] Add support for virtual host based configuration.
[jan] Add File_PDF::setTextColor() (PEAR Request #1767).
[jan] Add File_PDF::setFontStyle() (d.baechtold@unico.ch, PEAR Request #5230).
[jan] Add encoding parameter to XML_SVG_Document (PEAR Request #7461).
[jan] Add SMPP driver to Net_SMS package (Ian Eure , PEAR
Request #5101).
[jan] Add support for symmetric PGP encryption to Crypt library.
[jan] Add option to limit file sizes in file and image form fields (Request
#2155, vilius@lnk.lt).
[jan] Add caching for shares.
[cjh] Add an audio MIME_Viewer so that audio files are clickable and
handled immediately by the browser.
[cjh] Add Horde_Form_Type_phone as a parent for Horde_Form_Type_cellphone.
[jan] Add caching for groups.
[cjh] Allow dropping application (or other custom-purpose) configuration
files into config/registry.d/.
[cjh] Help now has a tree view of topics and is searchable (Request #2452).
[cjh] translation.php now works with PHP 5 (Bug #3539).
[jan] Highlight new configuration items in the configuration interface
(Request #3868).
[cjh] Add Shibboleth transparent authentication driver
(Cassio Nishiguchi ).
[cjh] Add native email address validation to Horde_Form_Type_email
based on http://iamcal.com/publish/articles/php/parsing_email.
[jan] Add multidomain support for Kolab servers (tokoe@kde.org, Request #3579).
[cjh] Deprecate htmlarea in favor of xinha.
[mms] Add VFS SSH2/SFTP driver (Cliff Green ).
[mjr] Move the Horde_Config_Node and related classes out of Horde_Config and
into it's own Horde_DOM package.
[mjr] Add support for Horde_Share to the Net_IMSP package.
[jan] Add connection pooling support with memcache extension 2.0.0
(adrieder@sbox.tugraz.at, Request #3213).
[jan] Add memcached driver to the Horde_Cache package (Duck ).
[cjh] Add phpGroupWare/eGroupWare compatibility driver to Horde_RPC that
allows mapping xml-rpc methods into Horde applications (Request #2886).
[cjh] Add _horde_hook_post_pushapp for doing actions directly after
$registry->pushApp() succeeds.
[jan] Update portal block content in the background instead of reloading the
whole portal periodically.
[mdj] Add support for split read/write databases.
[mdj] Add failover support for database backends.
[jan] Add configuration option to require users to confirm email addresses
added to their identities.
[cjh] Add a SpellChecker package.
[cjh] Have Horde::addScriptFile() check for a non-PHP version of scripts
to avoid javascript.php whenever possible.
[cjh] Add SERIALIZE_JSON mode with code from PEAR's Services_JSON.
Address Book Changes
--------------------
[jan] Fix birthday calculation on years before 1970 with DST (Bug #5791).
[jan] Implement WebDAV DELETE.
[jan] Change default SQL scheme to match with RFC 2426 (vCard 3.0) as closely
as possible.
[cjh] Add $matchBegin to the clientSearch API method (duck@obala.net,
Request #5860).
[cjh] Avoid variable names that might interfere with function variables in
sources.php.dist examples (Bug #5840).
[jan] Add clientFields() API method.
[mjr] More efficient fetching of entries when using the listTimeObjects api.
[jan] Move all Turba-specific hook examples from Horde's config/ directory.
[cjh] Fix generation of UIDs with PHP 5.2+.
[cjh] Handle categories when converting to and from vCards
(rsalmon@mbpgroup.com, Bug #5648).
[cjh] Catch searches that seem non-empty but really aren't (Bug #5612).
[mjr] Fix fatal errors when no share enabled sources are present.
[mjr] Fix issue with naming new contact lists that was causing database errors,
missing part of the contact list name, and other oddities.
[cjh] Add support for approximate searches, if the underlying backend and Horde
code support them (Request #2901).
[cjh] Add a print link for contacts (Request #2800).
[cjh] Shared Address Books are now stored in a flat namespace so that they
do not rely on the hierarchical (i.e. DataTree) properties of the
Horde_Share API (Bug #4960).
[cjh] If names are displayed "Lastname, Firstname", sort composite name
fields by lastname (Request #3909).
[cjh] Show an overlay while running a search (Request #3154).
[cjh] Add Anniversary, Spouse, and Children fields and support them in
vCard import/export (ntai@smartfruit.com, Request #5059).
[cjh] Add LDIF import/export support (ritaselsky@gmail.com, Request #2506).
[jan] Provide birthdays as events to external calendars (Request #723).
[mjr] Add driver to create address books from current user's Horde_Group
memberships.
[jan] Allow to search through API for matches at word boundaries only
(requires Horde 3.2).
[cjh] Phase out old ObjectView class in favor of proper forms in
lib/Forms and views in lib/Views.
[cjh] Support for dereferencing LDAP aliases (aubert@femto-st.fr,
Request #4532).
[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines.
(Request #4080)
[cjh] Support vCard initials and salutation fields if present in the Turba
backend (s.heuer@hicom.de, Request #4248).
[cjh] Don't show empty tabs if a contact does not have a full name (Bug #4243).
[mjr] Add support for removing user data from backend storage when user is
removed from Horde.
[jmf] Sort listings on multiple columns.
[cjh] Show numeric and alpha pagers at the top of listings, not the bottom
(Bug #1312).
[jan] Add multidomain support for Kolab servers (tokoe@kde.org, Request #3579).
[jan] Use the same rendering code for contact details in the list views like
in the contact views.
[jan] Allow editing of composite fields (horde@olen.net,
rkean@keanconsulting.com, Request #2529).
[mjr] IMSP driver now has Horde_Share support.
[cjh] Add dynamic filtering of lists of contacts.
[mdj] Add support for split read/write database.
[mdj] Add failover support for SQL backend.
[mjr] Add virtual address book support.
[jan] Add driver to list most favourite recipients.
Calendar Changes
----------------
[jan] Don't allow to modify private events throught the API (Bug #5736).
[jan] Don't overwrite event owner when changing events over WebDAV (Bug #5736).
[jan] Implement WebDAV DELETE.
[cjh] Event exceptions are now correctly reflected when subscribing to
Kronolith calendars from Apple iCal.
[cjh] When adding attendees, parse email groups and add each member
individually (Bug #5812).
[cjh] External events are now enabled/disabled by individual category, such
as showing a particular tasklist on your calendar, but not all tasks
(Request #4581).
[jan] Add SQL upgrade script.
[cjh] Let the "show" URL of a calendar always show that calendar, instead of
toggling whether or not it is displayed.
[cjh] Fix permissions granted to remote calendar subscribers on calendars
that do not have guest permissions.
[cjh] Fix generation of UIDs with PHP 5.2+.
[cjh] Add preferences for showing event times and locations in screen
views, print views, both, or neither (Request #1982).
[cjh] Run attendee email address through MIME::encodeAddress() before
validating them (Bug #5670).
[cjh] Add vCalendar 2.0 alarm export (munzli@olmero.ch, Bug #4851).
[jan] Add Ukrainian translation (Andriy Kopystyansky ).
[cjh] Inline PHP-generated javascript to avoid cross-domain leaking
(Bug #5307).
[cjh] Add a preference to not send notifications to the person who is
adding/updating/deleting the event (steven.deboeck@excentis.com,
Request #4770).
[cjh] Add calendar/subscribe and calendar/unsubscribe methods for adding/
removing calendars to the currently displayed calendars
(duck@obala.net).
[cjh] Remove unneeded Kronolith_Driver::close method.
[cjh] Fix error handling when moving events
(thomas.jarosch@intra2net.com, Bug #5401).
[jan] Show icon for private events (Request #5190).
[jan] Allow to edit existing event attendees.
[jan] Add links to delete exceptions from recurring events.
[jan] Add recurrence types by day of year and weekday of year.
[jan] Add recurrence durations by number of recurrences.
[jan] Allow to edit exceptions from recurring events.
[jan] Allow to specify attendees without email addresses.
[jan] Allow to specify attendee names with the email addresses.
[cjh] Link to remote URLs in iCalendar events, if present (Duck).
[jan] Hide less important event settings in the edit form by default.
[jan] Add support for the Horde_Alarm framework (requires Horde 3.2).
[cjh] Add ContactAutoCompleter javascript to the attendees screen
(Request #1635).
[jan] Add month tab to free/busy view (Gunnar Wrobel ,
Request #4896).
[cjh] Use extended Free/Busy information from Kolab (wrobel@pardus.de,
Request #4869).
[ben] Add daily agenda reminder (Request #4655).
[cjh] Include event location in reminders (webmgr@muskingum.edu,
Request #4771).
[cjh] Use global proxy configuration for HTTP requests (Request #1039).
[jan] Display holidays generated with the Date_Holiday package (Stephan
Hohmann , Request #3862).
[cjh] Consider failing to find any attendees to update an error
(Bug #4588).
[cjh] Include a summary of which calendars were printed in print views
(Request #3263).
[jan] Add support for reading and saving events through external clients
(requires Horde 3.2, d.bussink@student.utwente.nl, Request #3032).
[jan] Limit number of events in portal summary block (Duck ).
[cjh] Add a live search to the calendar panel (Request #4607).
[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines.
(Request #4080)
[cjh] Fix Day and Week display of events that overlap with an event that
doesn't start all the way to the left (Bug #2967).
[cjh] Move calendar selection/deselection to a collapsible panel.
[jan] Allow to set user name and password for remote calendars
(tevans@tachometry.com, Request #3696).
[jan] Allow to edit remote calendars (tevans@tachometry.com, Request #3696).
[cjh] Move almost all hiding of elements during printing to CSS classes.
[cjh] Allow the listEvents api call to list events from multiple calendars,
and filter by whether or not events have an alarm
(Ben Klang , Bug #4104).
[mjr] Support for removing user data from backend when user is removed from
Horde.
[jan] Add private flag.
[cjh] Add a default alarm preference.
[cjh] Always include X-WR-CALNAME in iCalendar exports (Request #3618).
[jan] Add multidomain support for Kolab servers (tokoe@kde.org, Request #3579).
[jan] Allow delegation of events.
[cjh] Dynamic switching between Display, Edit, and Delete screens.
[jan] Add preference to force day and week views to selected hours.
[cjh] Make the duration input a text field instead of a 365-day dropdown.
[mdj] Add support for split read/write database.
[mdj] Add failover support for SQL backend.
[cjh] Use partial page fetches to update the main "page" div if the browser
supports the necessary JavaScript.
Tasks Changes
-------------
[jan] Implement WebDAV access.
[jan] Add exportTasklist() API method.
[jan] Add SQL upgrade script.
[jan] Show estimated time including sub-tasks.
[cjh] Fix generation of UIDs with PHP 5.2+.
[cjh] Add preferences for turning due dates on by default, setting the
default due date's number of days in the future, and setting the
default due date's time.
[cjh] Add vCalendar 2.0 alarm export (munzli@olmero.ch, Bug #4851).
[jan] Add sub-tasks.
[jan] Add start dates for tasks.
[jan] Add support for the Horde_Alarm framework (requires Horde 3.2).
[cjh] Default to a javascript quick search, if available, with options
for the full search and a direct link to full search if javascript
is unavailable.
[cjh] Allow explicitly searching All, Incomplete, or Completed tasks
(Request #4222).
[cjh] Allow configuring the tasklists that the task summary block shows,
and let the user set a title for the block to differentiate multiple
instances (Request #2388).
[cjh] Show task description tooltips in the task summary block (Request #3444).
[cjh] Store completion date and add history entries for task completion.
[cjh] Move tasklist selection/deselection to a collapsible panel.
[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines.
(Request #4080)
[cjh] Allow using the checkboxes to mark tasks as incomplete as well
as complete (michael.sheldon@credativ.de, Request #4250).
[cjh] Sort date fields correctly with JS table sorting.
[jan] Add private flag.
[jan] Add a field for estimated time being spent on a task.
[mdj] Add support for split read/write database.
[mdj] Add failover support for SQL backend.
[cjh] Add a tree block for showing current alarms.
Notes Changes
-------------
[jan] Implement WebDAV DELETE.
[cjh] Add quick links to the sidebar block for adding notes to a specific
notepad (Gunnar Wrobel , Request #5716).
[cjh] Fix generation of UIDs with PHP 5.2+.
[cjh] Show tooltips in the summary block, and restrict tooltips to 20 lines
(Request #3443).
[cjh] Optionally show a note's notepad in the list view (Request #2317).
[cjh] Add quick (inline) note searching.
[cjh] Add the ability to save a note as a PDF.
[jan] Add support for encrypted notes.
[cjh] Move notepad selection/deselection to a collapsible panel.
[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines.
(Request #4080)
[cjh] Notes search should be either title or full text (Request #4277).
[cjh] Make the note edit view the full page width.
------
v1.0.7
------
Horde Changes
-------------
[jan] SECURITY: Add another check to the XSS filter.
------
v1.0.6
------
[jan] Update Services_Weather package to fix changes in the weather.com API.
Horde Changes
-------------
[cjh] SECURITY: Escape item names in the object browser (Bug #6906).
[jan] Fix large messages being rendered empty with PHP 5.2 (Bug #5792).
Calendar Changes
----------------
[cjh] SECURITY: Fix XSS in the add event screen.
[jan] Add Turkish translation (Altay Ozaygen ).
------
v1.0.5
------
Horde Changes
-------------
[cjh] SECURITY: Fix arbitrary file inclusion through abuse of the theme
preference.
------
v1.0.4
------
Address Book Changes
--------------------
[cjh] SECURITY: Fix unchecked access to contacts in the same SQL table
(Bug #6208).
------
v1.0.3
------
[jan] SECURITY: Fix privilege escalation in Horde API.
[cjh] SECURITY: Fix missing ownership validation on share changes.
Horde Changes
-------------
[jan] SECURITY: Filter out FRAME tags from HTML messages (CVE-2007-6018).
[jan] SECURITY: The XSS filter passes the complete XSS cheat sheet
(http://ha.ckers.org/xss.html) now.
[jan] Apply user name hooks when editing share permissions
(steinkel@ctinetworks.com, Bug #5844).
[jan] Fix fixed portal blocks (Bug #5853).
Calendar Changes
----------------
[jan] Set the user's timezone in the free/busy information.
[jan] Fix redirection after editing an event from the sidebar menu (Bug #5769).
Tasks Changes
-------------
[cjh] Send iCalendar data as UTF-8.
------
v1.0.2
------
Horde Changes
-------------
[cjh] Fix identity javascript when some fields are disabled
(veikko@immonen@otaverkko.fi, Bug #5595).
[cjh] Disable the Turkish locale if using PHP 5 (see
http://bugs.php.net/bug.php?id=35050).
[jan] Improved webroot detection (Request #4126).
[jan] Fix selecting the language on the login screen (Bug #5098).
[jan] Fix searching for single quotes in email headers (qa@cpanel.net, Bug
#4854).
[jan] Fix portal layouts with more than one horizontally expanded block per
row.
Address Book Changes
--------------------
[mjr] Fix some fatal errors caused by the IMSP driver when deleting certain
contacts and while adding contacts to lists in certain cases.
[mjr] Fix adding contacts to a new contact list in a source other than the
source the contacts being added are from.
[jan] Fix paging through search results from another than the default address
book (Bug #5137).
[cjh] Fix copy/moving contacts to a new contact list (Bug #5144).
Calendar Changes
----------------
[cjh] Display attendees list correctly without a mail/compose method (Bug
#5127).
[cjh] Send iCalendar data as UTF-8 (Bug #5427).
[jan] Fix duration of remote and imported full-day events (Bugs #4617, #4794).
[jan] Fix recurring multiday events crossing a month border (Bug #5205).
[jan] Fix duration calculation in edit form for events covering more than a
month (Bug #5120).
------
v1.0.1
------
[jan] Add instructions for manually installing database tables.
Horde Changes
-------------
[jan] SECURITY: Correctly quote file names in cleanup script for temporary
files.
[jan] SECURITY: Fix an XSS vulnerability in the language selection.
[jan] Fix RPC authentication on CGI SAPIs.
[jan] Detect unencrypted PGP messages.
[jan] Complete Cyrus virtual domain support in cyrsql driver (Vilius Sumskas
, Request #4967).
[jan] Add option whether to strip domains from usernames in the account block
(Request #4955).
[jan] Fix email lists not being validated under certain conditions (Bug #4834).
[cjh] Add a REST-ful preferences interface.
[cjh] Faster DataTree-to-SQL History migration script
(josh@endries.org, Request #4732).
[cjh] Improved automatic webroot detection (Ben Klang, Request #4126).
[cjh] Rewrite and fix the OCI8 SessionHandler (Bug #3452).
[cjh] Allow signup hooks to override the user_name and password fields
(thomas@gelf.net, Request #2904).
[cjh] Fix creation of mailbox quotas by the Auth_cyrus driver
(pascal@vmfacility.fr, Bug #4678).
[cjh] Add "Save and Finish" to the share edit window (webmgr@muskingum.edu,
Request #4307).
[cjh] Let mailto: and anchor (#) links through Horde::externalUrl (Bug #3079).
[cjh] Add smbclient version of the SMB Auth class (larry@wimble.biz,
Request #4338).
[cjh] Remove problematic "data descriptor" segment from generated ZIP files
(reitsma@denison.edu, Bug #4670).
[cjh] Strip accesskeys from menu tooltips when only showing icons (Bug #4667).
[jan] Fix saving files in the root directory of an SQL VFS backend (Bug #4652,
Ben Klang ).
[jan] Fix displaying all maintenance tasks to be confirmed at once (Bug #4377).
[cjh] Fix return format of DataTree_null::getByAttributes()
(thomas.jarosch@intra2net.com, Bug #4651).
[jan] Support departments in vCard's ORG properties (martin@matuska.org,
Request #4285).
[cjh] Rename Auth_sasl backend to Auth_peclsasl to avoid conflicts with PEAR's
Auth_SASL (Bug #4547).
[cjh] Implement handling of vTimezones in iCalendar data
(Carl Thompson , Bug #4399).
[cjh] keybindings.js now works with Safari/KHTML.
[jan] Avoid recursive folder creation when sharing Kolab folders
(michael.sheldon@credativ.de, Bug #4325).
[jan] Add Kolab specific account block driver to support special Kolab users
(mzizka@hotmail.com, Request: #4119).
[mms] Only dim below the last signature line of input text in the dimsignature
Text_Filter driver.
Address Book Changes
--------------------
[jan] Fix character set encoding of exported vCards.
[mjr] Fix fatal error when exporting to vCard.
[cjh] Organize basic search form from left to right (Request #4914).
[jan] Fix links to only show contacts or lists, or both.
[mjr] Don't remember the lastly selected address book in the session, if it
was not browseable.
[mjr] Fix bug that caused counting the number of contacts in a shared SQL
source to return the count of the user's default address book instead.
[mjr] Fix bug that caused the wrong address book to be deleted when replacing
an address book during import.
Calendar Changes
----------------
[jan] Fix character set encoding of exported vCalendar/iCalendar data.
[jan] Fixed MS-SQL driver (Bug #5088).
[jan] Add Catalan translation (Jordi Giralt ).
[jan] Fix searching for non-ascii strings (Bug #4773).
[cjh] Display partial hours in free/busy view (cbs@cts.ucla.edu,
Request #4755).
[cjh] Honor date_format preference in reminders and notifications (Bug #4726).
Tasks Changes
-------------
[jan] Show alarms for overdue tasks too.
[jan] Add Catalan translation (Jordi Giralt ).
----
v1.0
----
[jan] Fix problems with CGI versions of PHP and the setup script.
[jan] Fix email lists not being validated under certain conditions (Bug #4834).
Calendar Changes
----------------
[cjh] SECURITY: Close arbitrary file inclusion in free/busy views.
--------
v1.0-RC3
--------
[jan] Remove duplicate directories.
--------
v1.0-RC2
--------
[jan] Prompt for webroot in the setup script to avoid cookie problems.
[jan] Fix creation of primary keys for SQLite and PostgreSQL databases.
[jan] Add Console_Table and File_Find from PEAR for the translation script.
Calendar Changes
----------------
[cjh] Set vEvent ORGANIZER to the event creator, not the calendar owner
(kajtzu@basen.net, Bug #4527).
[jan] Fix importing of events without end date and duration (Bug #4519).
[jan] Correctly display recurring events spanning multiple days (Bug #4438).
[jan] Fix recurrence end dates with SQLite backends (Bug #4219).
[jan] Fix calculation of recurrence ends with imported and remote events
(Bug #2813).
[cjh] Consolidate the check for whether or not users can add events in
the day and month views (Bug #4373).
[jan] Fix alarms for recurring events in Kolab driver
(michael.sheldon@credativ.de, Bug #4326).
[jan] Show error message if imported file didn't contain events.
[cjh] Fix the SQL types of several recurrence fields.
[jan] Add categories from imported events to the user's categories.
[jan] Add Slovenian translation (Duck ).
[jan] Deal with attendee email addresses case insensitively.
[jan] Don't consider events from remote calendars as busy time.
[jan] Always try to return the correct event instance if requesting an event
by its UID (Thorsten Schaub, Bug #1994).
[cjh] Fix permissions for the calendar list in advanced search (Bug #4093).
Address Book Changes
--------------------
[jan] Support departments in vCard's ORG properties (martin@matuska.org,
Request #4285).
[cjh] Fix LDAP driver check for whether objects need to be renamed (Bug #4468).
[jan] Fix generation of mailto: links if IMP is not installed (Bug #4334).
[jan] Show error message if imported file didn't contain contacts (Bug #4260).
[jan] Remember the lastly selected address book during the session.
[jan] Add categories from imported contacts to the user's categories.
Tasks Changes
-------------
[jan] Show error message if imported file didn't contain tasks.
[jan] Add categories from imported contacts to the user's categories.
[jan] Fix import of CSV data.
[jan] Add Slovenian translation (Duck ).
[jan] Show personal tasklist by default with disabled preferences (Bug #4078).
Notes Changes
-------------
[jan] Show error message if imported file didn't contain notes.
[jan] Add Slovenian translation (Duck ).
[jan] Add categories from imported contacts to the user's categories.
[jan] Show personal notepad by default with disabled preferences (Bug #4078).
--------
v1.0-RC1
--------
[jan] First release candidate.
groupware-5.1.3/docs/INSTALL 0000664 0001750 0001750 00000062134 12233764477 013645 0 ustar jan jan ================================
Installing Horde Groupware 4.0
================================
:Contact: horde@lists.horde.org
.. contents:: Contents
.. section-numbering::
This document contains instructions for installing Horde Groupware on your
system.
For information on the capabilities and features of Horde Groupware, see the
file README_ in the top-level directory of the Horde Groupware distribution.
Quick Install
=============
These are very terse instructions how to install Horde Groupware and its
prerequisites on a LAMP sytem. They are addressed to experienced administrators
who know exactly what they are doing. For more detailed instructions, start
reading below at Prerequisites_.
1. Compiling PHP for Apache 2::
cd php-x.x.x/
./configure --with-apxs2=/usr/sbin/apxs2 \
--with-gettext --enable-mbstring=all --enable-mbregex \
--with-gd --with-png-dir=/usr --with-jpeg-dir=/usr \
[--with-mysql|--with-pgsql|--with-oci8]
[--with-tidy]
[--with-ftp]
make
make install
2. Restart Apache.
3. Register Horde PEAR channel::
pear channel-discover pear.horde.org
4. Set Horde installation directory::
pear install horde/horde_role
pear run-scripts horde/horde_role
5. Install Horde Groupware::
pear install -a -B horde/groupware
6. Run installation script::
groupware-install
7. Test Horde Groupware::
http://your-server/horde/test.php
Prerequisites
=============
The following prerequisites are **REQUIRED** for Horde Groupware to function
properly.
1. A webserver that supports PHP.
Horde Groupware is primarily developed under the Apache and Lighttpd
webservers, which we recommend. These servers are available from:
http://httpd.apache.org/
http://www.lighttpd.net/
2. A web server with PATH_INFO support.
The dynamic interfaces of Horde Groupware requires a web server that
correctly sets the PATH_INFO environment variable for all PHP scripts. Every
modern web server supports this, but you might have to enable this feature
in the web server configuration. e.g. Apache servers require::
AcceptPathInfo On
Lighttpd servers require::
"broken-scriptfilename" => "enable"
3. PHP 5.3.0 or above.
PHP is the interpreted language in which Horde Groupware is written.
.. Note:: If possible, you should install PHP with your operating system's
package manager. Alternatively you build PHP yourself.
To build PHP from sources, you can obtain it at
http://www.php.net/
Follow the instructions in the PHP package to build PHP for your system. If
you use Apache, be sure to build PHP as a library with one of the following
options::
--with-apache
--with-apxs
--with-apxs2
options to ``./configure``, and not as a standalone executable.
The following PHP options are **REQUIRED** by Horde Groupware (listed with
their own prerequisites and configure options). In many cases, the required
libraries and tools can be obtained as packages from your operating system
vendor.
a. Gettext support. ``--with-gettext``
Gettext is the GNU Translation Project's localization library. Horde
Groupware uses gettext to provide local translations of text displayed by
applications. Information on obtaining the gettext package is available
at
http://www.gnu.org/software/gettext/gettext.html
See also note below on configuring Translations_.
b. XML and DOMXML support.
XML and DOM support are enabled in PHP 5 by default. You only have to
make sure that you do **not** use ``--disable-dom``,
``--disable-simplexml``, or ``--disable-xml``.
Make sure you are using a newer version of libxml. Older version of
libxml (e.g. 2.6.26) have been reported to be partially broken when
handling certain charsets.
The following PHP options are **RECOMMENDED** to enable advanced features
in Horde Groupware:
a. File Upload Support
File upload support is **required** to allow various importing features
to work. To enable file upload support:
1. In your php.ini file, the following line **must** be present::
file_uploads = On
2. Your temporary upload directory **must** be writable to the user
the web server is running as. If you leave the configuration
option ``upload_tmp_dir`` blank in ``php.ini``, PHP will use the
default directory compiled into it (normally ``/tmp`` on
Unix-like systems).
3. Set the maximum size of the uploaded files via the
``upload_max_filesize`` configuration option in ``php.ini``. For
example, to allow 5 MB attachments, place the following line in
your ``php.ini`` file::
upload_max_filesize = 5M
If either ``file_uploads`` is turned off, or your temporary upload
directory is *not* writable by the server, all file upload functionality
will be disabled by Horde Groupware and will not be available to the
user.
See the `File Uploads`_ FAQ entry for further information.
b. A preferences container.
Horde Groupware can store user preferences in an SQL database, an LDAP
directory, an IMSP server, a Kolab server, or in PHP sessions. An SQL
database is used and configured by default.
For SQL database preferences storage, Horde Groupware is thoroughly
tested on MySQL(i) (``--with-mysql(i)``) and PostgreSQL
(``--with-pgsql``), and has been reported to work with SQLite (enabled by
default).
Preferences can also be stored via LDAP (``--with-ldap``), Kolab
(``--with-ldap``), and IMSP.
Alternatively, preferences can be stored in PHP sessions, which
requires no external programs or configure options, but which will not
maintain preferences between sessions.
While the LDAP, database, Kolab, or IMSP server need not be running on
the machine onto which you are installing Horde Groupware, the
appropriate client libraries to access the server must be available
locally.
If a preference container is not configured, no preference options will
be configurable via Horde Groupware's web interface - the default values
stored in each applications ``config/prefs.php`` file will be used.
c. UTF-8 support (mbstring and iconv extensions) ``--enable-mbstring``
If these extensions are enabled, Horde Groupware can better support
multibyte character sets like UTF-8.
For iconv support you should use the GNU libiconv library, which is more
stable and supports more charsets, compared to other iconv
implementations, like Solaris', for example.
Iconv support is enabled by default in PHP 5. You only have to make sure
that you do **not** use ``--without-iconv``
d. GD support ``--with-gd``
Horde Groupware will use the GD extension to perform manipulations on
image data through the Horde_Image library.
If you want GD to be able to work with PNG images, you should use the
``--with-png-dir`` option to make sure PHP can find the PNG libraries
it needs to compile.
If you want GD to be able to work with JPEG images, you should use the
``--with-jpeg-dir`` option to make sure PHP can find the JPEG libraries
it needs to compile.
You can also use the imagick_ extension or the ImageMagick_ package to do
these manipulations instead. The imagick_ extension is the recommended
method for image manipulation. See the ``Image Manipulation`` tab of the
Horde configuration for more details.
.. _imagick: http://pecl.php.net/package/imagick
.. _ImageMagick: http://www.imagemagick.org
e. tidy ``--with-tidy``
The tidy PHP extension is required to sanitize HTML data.
.. _`OpenSSL Support`:
f. OpenSSL support ``--with-openssl``
The OpenSSL PHP extension is used by Horde Groupware to provide S/MIME
support. Without the extension, all S/MIME options will be disabled.
Additionally, the OpenSSL PHP extension is REQUIRED if using TLS or SSL
to connect to a server.
See http://www.php.net/openssl for information on compiling OpenSSL
into PHP.
g. fileinfo
Allows Horde modules to guess the MIME type of files by analyzing
their contents.
This module is automatically enabled by default.
h. intl ``--enable-intl``
The intl module is required to handle display of Internationalized
Domain Names (see RFC 3490), e.g in e-mail addresses.
i. FTP support ``--with-ftp``
If using the FTP VFS driver for the file manager, the FTP PHP module is
**required**.
4. Additional PECL Modules
PECL is short for "PHP Extension Community Library". The goal of PECL is
to provide a means of easily distributing PHP extensions.
For more information, see http://pecl.php.net/
When you install a PECL extension, you have to add it to your ``php.ini``
so it gets loaded. Add the following line to your ``php.ini`` file to load
the extension (the extension should be installed in the directory specified
by the ``extension_dir`` option in ``php.ini``)::
extension=fileinfo.so
Or on Windows::
extension=fileinfo.dll
After that, restart your webserver.
These PECL modules are **RECOMMENDED** to be installed if you need
advanced functionality:
a. imagick
The imagick module can be used by Horde's image library to provide all
kind of image manipulations.
To install, enter the following at the command prompt::
pecl install imagick
b. lzf
If the lzf module is available, Horde Groupware can compress some cached
data in the current session, thus reducing the size of the current
session.
To install, enter the following at the command prompt::
pecl install lzf
c. memcache
If using the memcached SessionHandler, the memcache PECL extension must
be installed.
To install, enter the following at the command prompt::
pecl install memcache
The following non-PHP prerequisites are **RECOMMENDED**:
1. aspell - Spelling Checker
Aspell, a comand-line program, is used as Horde Groupware's spell-checking
engine. You must install and configure aspell to use Horde Groupware's
spell-check feature.
Version 0.60 or higher is REQUIRED.
You can obtain aspell from:
http://aspell.sourceforge.net/
2. Sendmail or SMTP server.
Horde Groupware sends mail via either a local sendmail or a remote SMTP
server. It is **RECOMMENDED** that SMTP be used.
3. FTP server.
If using a FTP backend for the file manager, you **must** have at least one
FTP server.
4. ElasticSearch server.
An ElasticSearch_ server or cluster running on localhost can be used to
provide indexing of bookmarks data and quick searching of the indexed
content.
.. _ElasticSearch: http://www.elasticsearch.org/
Installing Horde Groupware
==========================
The **RECOMMENDED** way to install Horde Groupware is using the PEAR installer.
Installing with PEAR
~~~~~~~~~~~~~~~~~~~~
First you need to register the Horde PEAR channel server to your local PEAR
system. This has to be done only **once** ever on a single PEAR system::
pear channel-discover pear.horde.org
Next install a so-called "role" for Horde. This role defines where Horde
Groupware is supposed to be installed. This should be a directory in your web
server's web root, e.g. ``/var/www/groupware``. Again this has to be done only
**once** ever on a single PEAR system::
pear install horde/horde_role
pear run-scripts horde/horde_role
When installing Horde Groupware through PEAR now, the installer will
automatically install any dependencies of Horde Groupware too. If you want to
install Horde Groupware with all optional dependencies, but without the binary
PECL packages that have to be compiled, specify both the ``-a`` and the ``-B``
flag::
pear install -a -B horde/groupware
By default, only the required dependencies will be installed::
pear install horde/groupware
If you want to install Horde Groupware even with all binary dependencies, you
need to remove the ``-B`` flag. Please note that this might also try to install
PHP extensions through PECL that might need further configuration or activation
in your PHP configuration::
pear install -a horde/groupware
Installing into separate PEAR
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. Warning:: Unless you really know **why** you want to do this, you probably
do **not** want to do this. Use the general PEAR installation
instructions from above instead.
If you want to create a separate PEAR installation for installing Horde
Groupware, independent from the system-wide PEAR installation, this can be done
with the following commands (in this example, ``/var/www/groupware`` is used as
the location of the web-accessible Horde directory)::
mkdir /var/www/groupware
pear config-create /var/www/groupware /var/www/groupware/pear.conf
pear -c /var/www/groupware/pear.conf install pear
Then follow the regular installation steps, but use the ``pear`` command from
the PEAR installation you just created, e.g.::
/var/www/groupware/pear/pear -c /var/www/groupware/pear.conf \
channel-discover pear.horde.org
Finally configure your web server in some way to point PHP's ``include_path``
setting to the PEAR installation and the ``PHP_PEAR_SYSCONF_DIR`` environment
variable to the web root::
php_value include_path /var/www/groupware/pear/php
SetEnv PHP_PEAR_SYSCONF_DIR /var/www/groupware
It is recommended to not use the .htaccess file in ``/var/www/groupware/`` to
set these values because it will be overwritten with every further update.
Finishing installation
~~~~~~~~~~~~~~~~~~~~~~
To finish installation, run the installation script on the command line and
answer all questions::
groupware-install
If you installed Horde Groupware into the global PEAR system, this script
should be in your command path. If the script cannot be found in your path, you
need to specify the full path to the script, e.g.::
/var/www/groupware/pear/groupware-install
You can use the ``pear`` command to find the place where the script has been
installed::
pear config-get bin_dir
If you installed into a local PEAR installation, you need to tell PHP and PEAR
where to find the installation and the script, e.g.::
PHP_PEAR_SYSCONF_DIR=/var/www/groupware php \
-d include_path=/var/www/groupware/pear/php \
/var/www/groupware/pear/groupware-install
Configuring Horde Groupware
===========================
1. Configuring the web server
Horde Groupware requires the following webserver settings. Examples shown
are for Apache; other webservers' configurations will differ.
a. PHP interpretation for files matching ``*.php``::
AddType application/x-httpd-php .php
.. Note:: The above instructions may not work if you have specified PHP
as an output filter with ``SetOutputFilter`` directive in
Apache 2.x versions. In particular, Red Hat 8.0 and above
Apache 2.x RPMS have the output filter set, and **MUST NOT**
have the above ``AddType`` directive added.
b. ``index.php`` as an index file (brought up when a user requests a URL for
a directory)::
DirectoryIndex index.php
c. If you plan to provide ActiveSync support to your users, you have to
create an alias of the ``/Microsoft-Servers-ActiveSync`` URL to
``/groupware/rpc.php``. See http://wiki.horde.org/ActiveSync for details.
2. Configuring Horde Groupware
Documentation on the format and purpose of the configuration files in the
``config/`` directory can be found in each file. The defaults will be
correct for most sites. If you wish to customize Horde Groupware's
appearance and behavior, create "local" files for the configuration file you
want to change. For example if you want to change the default value and lock
a preference, create a ``config/prefs.local.php`` file with the following
content::
"access 1 months" )
}
* Enable caching in Horde Groupware. Several applications make heavy use of
caching and, if enabled, you will see a significant increase in performance.
* Enable caching/compression of javascript and CSS. See `Yahoo's Analysis`_
which concludes that "[r]educing the number of HTTP requests has the biggest
impact on reducing response time". Caching via filesystem is HIGHLY
RECOMMENDED: it is also the only way of caching that reliably works on all
browsers. Caching can also be done via horde caching, but the
cache-busters used to generate unique URLs when the cached content changes
do not work 100% reliably across all browsers.
* It is highly recommended to install the lzf PECL module to activate
compression for certain Horde data (especially in IMP). lzf is a tiny
module that does real-time compression. The lzf documentation states that on
modern CPUs, compression is as fast as an (unoptimized) memcpy action, making
the compression essentially 'free' when compared to uncompressed data.
lzf can be installed via PECL (see INSTALL).
.. _`The Zend Performance Suite`: http://www.zend.com/horde.php
.. _`Alternative PHP Cache`: http://www.php.net/apc
.. _eAccelerator: http://eaccelerator.net/
.. _XCache: http://xcache.lighttpd.net/
.. _`IBM Article`: http://www.ibm.com/developerworks/web/library/wa-ltwebserv/
.. _`Yahoo's Analysis`: http://yuiblog.com/blog/2006/11/28/performance-research-part-1/
Sending Mail
============
* Generally using a local sendmail command to send mail will result in better
peformance than using a SMTP connection.
* Some MTA servers may be faster or more efficient than others. Consider
switching to a faster format if needed.
PostgreSQL tuning
=================
* Do a ``VACUUM`` command periodically to tune your database.
* Increase ``shared_buffers`` and ``sort_mem`` memory settings.
* If web server and database is on the same unix host, use unix sockets
instead of network connections for database access.
MySQL tuning
============
* If web server and database is on the same unix host, use unix sockets
instead of network connections for database access.
* Enable mysql query cache if you have sufficient RAM. Edit your ``my.cnf``
file and add the following to the ``[mysqld]`` section (change the memory
size to meet your needs)::
set-variable = query_cache_size=128M
Horde tuning
============
Autoloading
-----------
* Horde Groupware automatically loads PHP source files on demand which relies
on the PHP autoloading feature introduced with PHP 5 and the Horde Autoloader
library. Both allow to limit the set of source code files pulled into the
system to the minimal amount required to answer the current request. This
saves memory and time but at the same time the Autoloader library has to map
each class name to the path of the corresponding PHP file that holds the
class definition. This procedure is expensive and can slow the system down.
Fortunately the mapping is fixed unless files are added or removed which
usually only happens during an upgrade.
Thus Autoloading is amenable to caching and an easy way to improve the
performance of the Horde Autoloader library, is to install the Autoloader
Cache extension::
pear install horde/horde_autoloader_cache
This library is not installed by default because it will unconditionally use
any of the following cache backends and does not allow for any further
configuration: `Alternative PHP Cache`_, XCache_, eAccelerator_, or the local
temporary filesystem.
It also doesn't detect the rare case when the file paths of any PHP class in
Horde changes. In this case you either need to use the provided script to
empty the cache::
horde-autoloader-cache-prune
or empty the cache manually, e.g. by restarting the web server or deleting
the cache file from the temporary directory.
VFS
---
* Try to avoid using a SQL backend for VFS. Many databases require binary data
to be heavily escaped, resulting in storage sizes that are many times
greater than the actual size of the data. File system VFS will normally
provide much improved performance.
Application tuning
==================
* Some applications contain advanced features that might have a certain impact
on the performance. These features can usually be turned off in the
application's configuration and are explicitly described as being a
performance hit in the configuration web frontend.
groupware-5.1.3/docs/RELEASE_NOTES 0000664 0001750 0001750 00000003710 12233764477 014562 0 ustar jan jan notes['fm']['focus'] = array(Horde_Release::FOCUS_MINORSECURITY, Horde_Release::FOCUS_MINORBUG, Horde_Release::FOCUS_MINORFEATURE);
/* Mailing list release notes. */
$this->notes['ml']['changes'] = <<notes['fm']['changes'] = <<notes['name'] = 'Horde Groupware';
$this->notes['list'] = 'horde';
$this->notes['fm']['project'] = 'horde-groupware';
groupware-5.1.3/docs/UPGRADING 0000664 0001750 0001750 00000023501 12233764477 014052 0 ustar jan jan ===========================
Upgrading Horde Groupware
===========================
:Contact: horde@lists.horde.org
.. contents:: Contents
.. section-numbering::
Introduction
============
These are instructions to upgrade from earlier Horde Groupware versions.
Please backup your existing data before running any of the steps described
below, you need the backups in case anything goes wrong with the upgrade
process, which cannot be reverted automatically. You can't use the updated data
with your old Horde Groupware version anymore.
Please see below for changes between certain Horde Groupware versions that are
not covered by the update script.
Upgrading a Horde Groupware 4 or later
======================================
Upgrading Horde Groupware is as easy as running::
pear upgrade -a -B horde/groupware
If you want to upgrade from a Horde Groupware version prior to 4.0, please
follow the instructions in INSTALL_ to install the most recent Horde Groupware
version using the PEAR installer.
After updating to a newer Horde Groupware version, you **always** need to
update configurations and database schemes. Log in as an administrator, go to
Administration => Configuration and update anything that's highlighted as
outdated.
Upgrading Horde Groupware from 4.x to 5.x
=========================================
Configuration Options (config/conf.php)
---------------------------------------
The $conf['session']['max_time'] option was added. The default is no maximum
session time, the same behavior as in Horde Groupware 4.
The $conf['cachecssparams']['url_version_param'] option was added. This option
is only used if no CSScaching is selected (a configuration that is NOT
recommended for production servers). The new default is to add version
information to CSS server URLs, which is altered behavior from Horde Groupware
4.
The $conf['cachejsparams']['url_version_param'] option was added. This option
is only used if no javascript caching is selected (a configuration that is NOT
recommended for production servers). The new default is to add version
information to javascript server URLs, which is altered behavior from Horde
Groupware 4.
Hooks (config/hooks.php)
------------------------
The 'appauthenticated' hook has been added.
The behavior of the 'pushapp' hook has changed - it is now called a maximum of
one time per page access for an application.
The 'appinitialized' hook was removed (replaced by the 'appauthenticated'
hook).
The 'pushapp_post' hook was removed.
See ``config/hooks.php.dist`` for further details.
Preferences (config/prefs.php)
------------------------------
The 'sending_charset' preference now defaults to 'UTF-8'.
The 'menu_view' and 'show_sidebar' preferences have been removed.
ActiveSync (EAS) Integration
----------------------------
Support for the EAS 12.0 and 12.1 protocol versions has been added. New
configuration options have been added to support this. You MUST update Horde
Groupware's ActiveSync configuration.
The Custom logging option has been changed to ALWAYS be a path to a directory,
and not a specific filename.
The security policy settings have been moved out of the global configuration and
into the permissions system for greater per user control over policies.
New database migrations have been added, you MUST run these migrations for
ActiveSync to work.
Address Book Module
-------------------
Attribute Changes
~~~~~~~~~~~~~~~~~
- The "gender" attribute sets values of (literally) "male" or "female" now,
and no longer 0 or 1.
Preference Changes
~~~~~~~~~~~~~~~~~~
- The "addressbooks" preference has been removed.
API Changes
~~~~~~~~~~~
- search
The $sources, $fields, $matchBegin, $forceSource and $returnFields
parameters have been removed and replaced by the $opts parameter.
Added a 'rfc822Return' option to return a Horde_Mail_Rfc822_List object
instead of the search results array (which remains the default).
Upgrading Horde Groupware from 4.0.x to 4.0.4
=============================================
Weather portal block
--------------------
The weather.com website has dropped their API to retrieve weather forecasts
with a very short notice. The weather.com portal block has been removed and
will be automatically removed from the users' portal configurations too.
A new portal block for weather forecasts is available, powered by the new
Horde_Service_Weather library that supports a number of free weather
services. To provide this block to the end users, install the
Horde_Service_Weather library from Horde's PEAR server, and configure a weather
service in Horde Groupware's configuration::
pear install horde/horde_service_weather-alpha
Configuration changes
---------------------
The 'nobase64_img' option was added.
Upgrading a Horde Groupware 1.x
===============================
For upgrading from a Horde Groupware version 1.x to 4.0 or later, see the
section `Upgrading a Horde Groupware 4 or later`_.
The update script will automatically migrate database backends and
update configuration files. It will add new and changed configurations
at the end of existing configuration files, any changes done to old
configuration files won't get lost, but might get overridden by new
settings. You might want to check the updated configuration files
after the update script has finished to make sure that any
customizations that you did to the old version still work as expected.
The ``.dist`` versions of the configuration files alway contain the most
recent reference settings and the settings documentation. If you experience
any problems with the configuration files after an update, or if you want
cleaner configuration files without all the updating code, you can create
fresh versions from the ``.dist`` files.
These instructions are supposed to be used with a complete tarball of the new
Horde Groupware version. They don't work if you use a patch file to upgrade
your installation, because the patch already contains all configuration file
changes that the update script is going to add.
1. Extract the tarball of the new version **in parallel** to the old
version. See the INSTALL_ file details how to unpack a tarball.
If you want to replace the old version with the new version eventually, you
should move the old version to a different place now and put the new
version in the place of the old one. You can still do this later, if you
want to, but you have to edit the configuration file then.
2. Start the setup script::
./scripts/setup.php
3. Choose the update option in the setup menu and answer the questions from
the setup script.
4. Pray.
5. If everything went fine and without any error messages, point your browser
to the URL of the new version and log in as an administrator. Go to the
``Administration -> Setup`` screen and update all configurations that are
marked as being outdated.
6. If you want to replace the old version with the new one, and if you didn't
do this already in step 1, you can do it now. But you have to edit the
configuration file ``config/conf.php`` manually and change the setting
``$conf['cookie']['path']`` to match the new URL path. Otherwise you won't
be able to login after you moved Horde Groupware to a different directory.
Upgrading Horde Groupware from 1.0.x to 1.1.x
=============================================
Memcache Configuration
----------------------
All memcache configuration has been moved to the $conf['memcache'] parameter.
Application Hooks
-----------------
All hooks that are specific to a single application have been moved to that
application's ``config/hooks.php`` file. Split up your existing Hooks from
``horde/config/hooks.php`` and move them to the correct application.
Group Hooks
-----------
The format for group hook functions has changed from
_group_hook_groupName($username) to _group_hook($groupName,
$userName). So you will need to modify any existing group hook
functions in config/hooks.php for the new interface.
Alternatively, an example _group_hook() function is provided in
config/hooks.php that will call the old style hook functions for you.
Custom Themes
-------------
Themes no longer have ``info.php`` files. If you have any custom
themes that provide their own images, you must add a
``themed_graphics`` file to the theme's directory (for all
applications the theme provides images for) in order for Horde to know
to use the custom images. The file can be empty or contain whatever
you wish; it simply needs to exist.
Static Log out Links
--------------------
If you have hardcoded a log out link in any custom templates or menu
items, you must update it to use Horde::getServiceLink(). This is
because logging out is now protected by a token to avoid CSRF
exploits.
IMSP Driver and Share Support
-----------------------------
Share support has been added to the IMSP driver. This support requires at
least a Horde 3.2 install. With this change, any IMSP address books the user
has rights to will be represented internally as a Horde share. Permissions
changed on the share will be reflected back to the IMSP server. If you set
the configuration setting ``Name of source for creating new shares`` to
``imsp`` then any shares created by the user will result in a new IMSP address
book being created on the IMSP server. Likewise, any IMSP address book
deleted in Turba will be removed from the IMSP server.
To enable this support, make sure you are using at least Horde 3.2, set the
``use_shares`` attribute to true, and uncomment the IMSP
``_horde_hook_share_*`` functions in ``horde/config/hooks.php``.
With this change, the ``IMSP Address Book Administration`` option page has
been removed, as the creation/deletion of address books is now handled with
shares.
.. Important:: IMSP contacts contained in contact groups that are not from an
IMSP source may not be visible within that group when migrating
an IMSP source to a share.
.. _INSTALL: INSTALL
groupware-5.1.3/gollem/config/backends.d/10-groupware.php 0000664 0001750 0001750 00000000174 12233764477 021342 0 ustar jan jan
* @package groupware
*/
class Horde_Bundle extends Horde_Core_Bundle
{
/**
* The bundle name.
*/
const NAME = 'groupware';
/**
* The bundle version.
*/
const VERSION = '5.1.3';
/**
* The bundle descriptive name.
*/
const FULLNAME = 'Horde Groupware';
/**
* The short bundle descriptive name.
*/
const SHORTNAME = 'Groupware';
/**
* Asks for the administrator settings.
*
* @return string The administrator name.
*/
protected function _configAuth(Horde_Variables $vars)
{
$vars->auth__driver = 'sql';
$vars->auth__params__driverconfig = 'horde';
while (true) {
$admin_user = $this->_cli->prompt('Specify a user name for the administrator account:');
if (empty($admin_user)) {
$this->_cli->writeln($this->_cli->red('An administration user is required'));
continue;
}
$admin_pass = $this->_cli->passwordPrompt('Specify a password for the administrator account:');
if (empty($admin_pass)) {
$this->_cli->writeln($this->_cli->red('An administrator password is required'));
continue;
}
$params = array(
'db' => $GLOBALS['injector']->getInstance('Horde_Db_Adapter'),
'encryption' => isset($GLOBALS['conf']['auth']['params']['encryption']) ? $GLOBALS['conf']['auth']['params']['encryption'] : 'ssha');
$auth = Horde_Auth::factory('sql', $params);
try {
$exists = $auth->exists($admin_user);
} catch (Horde_Exception $e) {
$this->_cli->message('An error occured while trying to list the users. Error messages:', 'cli.error');
$this->_cli->writeln($e->getMessage());
return;
}
try {
if ($exists) {
if ($this->_cli->prompt('This user exists already, do you want to update his password?', array('y' => 'Yes', 'n' => 'No'), 'y') == 'y') {
$auth->updateUser($admin_user, $admin_user, array('password' => $admin_pass));
} else {
break;
}
} else {
$auth->addUser($admin_user, array('password' => $admin_pass));
}
} catch (Horde_Exception $e) {
$this->_cli->message('An error occured while adding or updating the administrator. Error messages:', 'cli.error');
$this->_cli->writeln($e->getMessage());
return;
}
break;
}
return $admin_user;
}
}
groupware-5.1.3/turba/config/conf.d/10-groupware.xml 0000664 0001750 0001750 00000000252 12233764477 020361 0 ustar jan jan
horde
groupware-5.1.3/README 0000664 0001750 0001750 00000007176 12233764477 012551 0 ustar jan jan What is Horde Groupware?
========================
:Contact: horde@lists.horde.org
.. contents:: Contents
.. section-numbering::
Horde Groupware is a free, enterprise ready, browser based collaboration
suite. Users can manage and share calendars, contacts, tasks and notes with the
standards compliant components from the `Horde Project`_. Horde Groupware
bundles the separately available applications Turba_, Kronolith_, Nag_, Mnemo_, Gollem_, and Trean_.
It can be extended with any of the released `Horde applications`_ or the
`Horde modules`_ that are still in development, like a file manager, a
bookmark manager, a forum or a wiki.
This software is OSI Certified Open Source Software. OSI Certified is a
certification mark of the `Open Source Initiative`_.
.. _`Horde Project`: http://www.horde.org/
.. _Turba: http://www.horde.org/apps/turba
.. _Kronolith: http://www.horde.org/apps/Kronolith
.. _Nag: http://www.horde.org/apps/nag
.. _Mnemo: http://www.horde.org/apps/mnemo
.. _Gollem: http://www.horde.org/apps/gollem
.. _Trean: http://www.horde.org/apps/trean
.. _`Horde applications`: http://www.horde.org/apps
.. _`Horde modules`: http://www.horde.org/development/modules
.. _`Open Source Initiative`: http://www.opensource.org/
Obtaining Horde Groupware
-------------------------
Further information on Horde Groupware and the latest version can be obtained
at
http://www.horde.org/apps/groupware
Documentation
-------------
The following documentation is available in the Horde Groupware distribution:
:README_: This file
:`docs/CHANGES`_: Changes by release
:`docs/CODING_STANDARDS`_: Coding standards for Horde projects
:`docs/CONTRIBUTING`_: How to contribute to Horde
:`docs/CREDITS`_: Project developers
:`docs/INSTALL`_: Installation instructions and notes
:`docs/PERFORMANCE`_: Performance guide
:`docs/RELEASE`_: Release process notes
:`docs/SECURITY`_: Security notes
:`docs/UPGRADING`_: Pointers on upgrading from previous Horde Groupware
versions
Installation
------------
Instructions for installing Horde Groupware can be found in the file INSTALL_
in the ``docs/`` directory of the Horde Groupware distribution.
Assistance
----------
If you encounter problems with Horde Groupware, help is available!
The Horde Frequently Asked Questions List (FAQ), available on the web at
http://wiki.horde.org/FAQ
The Horde Project runs a number of mailing lists, for individual applications
and for issues relating to the project as a whole. Information, archives, and
subscription information can be found at
http://www.horde.org/community/mail
There is no separate mailing list for Horde Groupware, please contact the
mailing list of the component you have problems with, or the Horde mailing
list for general problems and questions.
Lastly, Horde developers, contributors and users also make occasional
appearances on IRC, on the channel #horde on the freenode Network
(irc.freenode.net).
Licensing
---------
For licensing and copyright information, please see the file COPYING in the
Horde Groupware distribution and the COPYING and LICENSE files in the
`kronolith`, `turba`, `nag` and `mnemo` subdirectories.
Thanks,
The Horde Groupware team
.. _README: README
.. _docs/CHANGES: CHANGES
.. _docs/CODING_STANDARDS: ../../horde/docs/CODING_STANDARDS
.. _docs/CONTRIBUTING: ../../horde/docs/CONTRIBUTING
.. _docs/CREDITS: ../../horde/docs/CREDITS
.. _INSTALL:
.. _docs/INSTALL: INSTALL
.. _docs/PERFORMANCE: PERFORMANCE
.. _docs/RELEASE: ../../horde/docs/RELEASE
.. _docs/SECURITY: ../../horde/docs/SECURITY
.. _docs/UPGRADING: UPGRADING