Code

* Documentation cleanup. Moved a couple of files to doc/.
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 10 Jul 2007 13:40:40 +0000 (13:40 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 10 Jul 2007 13:40:40 +0000 (13:40 +0000)
* Removed TODO - we've a bugtracker for these things.
* Adapted debian infrastructure to meet the changes

git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.5@6813 594d385d-05f5-0310-b6e9-bd551577e9d8

DEVEL [deleted file]
README.safemode [deleted file]
TODO [deleted file]
contrib/openxchange/README.openxchange [deleted file]
debian/rules
doc/README.devel [new file with mode: 0644]
doc/README.openxchange [new file with mode: 0644]
doc/README.safemode [new file with mode: 0644]

diff --git a/DEVEL b/DEVEL
deleted file mode 100644 (file)
index 47faf5f..0000000
--- a/DEVEL
+++ /dev/null
@@ -1,135 +0,0 @@
-* How to get plugged in
-
-Independently of beeing an LDAP style or LDAP unrelated plugin, you may start a new plugin,
-by creating a new directory below the plugin directory structure. To be up to date, get a
-fresh SVN checkout:
-
-Change to the directory which will contain your GOsa checkout, then get the source:
-
-# svn co https://oss.gonicus.de/repositories/gosa/branches/2.5 gosa
-
-for the current 2.5 development line or
-
-# svn co https://oss.gonicus.de/repositories/gosa/trunk gosa
-
-for the bleeding edge development tree.
-
-
-The gosa directory will contain your initial checkout now. In order to update from SVN
-you simply can call "svn up".
-
-Now you've an up to date GOsa. Note that there may be most obviously something broken if
-you use trunk.
-
-
-* First example
-
-Lets explain how to create a simple GOsa plugin. The example shows a dummy plugin which is not
-directly related with LDAP.
-
-# cd plugins/addons
-# mkdir dummyplug && cd dummyplug
-
-GOsa expects a file named "main.inc" inside of this plugin directory. It is needed because some
-plugins may need no standard handling and GOsa itself may not know how to initialize the plugin
-classes. Here's our example:
-
----
-<?php
-        /* All page output must be placed inside the display variable. Please do not output anything
-           from within your plugin directly. GOsa will take the display variable after things got processed
-           and assemble the final page after that. */
-
-        /* print_header generates the page header including the headline and the icon, get template
-            path looks for eventually overloaded files. You don't have to take care of this - it's only important
-            for theming artists. Copy the icon (as .png) to the html/images directory, if you don't care about
-            the image, just copy the personal.png to dummy.png. */
-        $display= print_header(get_template_path('images/dummy.png'), _("A nice dummy plugin"));
-
-        /* All plugin objects get stored inside the PHP session. Here we create the object if it doesn't
-            exist yet. It is recreated if "reset" is set. */
-        if (!isset($_SESSION['dummy']) || (isset($_GET['reset']) && $_GET['reset'] == 1)){
-                $_SESSION['dummy']= new dummy ($config);
-        }
-        $dummy= $_SESSION['dummy'];
-
-        /* Execute plugin. This calls your plugin class and appends its output to the display variable. */
-        $display.= $dummy->execute ();
-
-        /* The ignore field controls if GOsa should ignore the users tries to leave the plugin without
-           saving. For the dummy plugin, you can leave all the time without loosing data. */
-        $display.= "<input type=\"hidden\" name=\"ignore\">\n";
-
-        /* After executing the plugin, some data may have changed, so we need to put the plugin back
-           to the session. */
-        $_SESSION['export']= $export;
-?>
----
-
-The basic starter for your plugin is ready now. We're missing the plugin itself currently. To create it,
-you need to create a file starting with class_ and ending with .inc. These files get sourced automatically.
-
-Here's the class_dummy.inc:
-
----
-<?php
-
-/* Create a class (name must be unique inside GOsa) which extends plugin. The plugin base
-    class contains all methods that are used by GOsa and it provides the mechanism to load data
-    from LDAP to local variables and prepare the save to ldap routine for you. */
-class dummy extends plugin
-{
-
-  /* These contain attributes to be loaded. We're not doing an LDAP plugin currently, so we don't
-     care... */
-  var $attributes= array();
-  var $objectclasses= array();
-
-  /* The constructor just saves a copy of the config. You may add what ever you need. */
-  function dummy ($config, $dn= NULL)
-  {
-        /* Include config object */
-        $this->config= $config;
-  }
-
-  /* Execute is the function all plugins need. It fills the plugin with life and produces the output. */
-  function execute()
-  {
-        /* Use the smarty templating engine here... */
-        $smarty= get_smarty();
-
-        /* Normally you would react to user input here. */
-
-        /* Let smarty fetch and process the page. Always seperate PHP and HTML as much as
-           you can. */
-        return ($smarty->fetch (get_template_path('contents.tpl', TRUE)));
-  }
-
-}
-?>
----
-
-There are two things missing now. The template file and an entry in your gosa.conf. Lets finish the
-work in the plugin directory, first.
-
-Here is the contents.tpl file:
-
----
-<p>
-  {t}This is a dummy plugin. It really does nothing. The tags around this text do automatic translations to the desired language. Please don't include linefeeds here, or it will not work at all!{/t}
-</p>
-
-<p class="plugbottom">
-  &nbsp;
-</p>
----
-
-Now add the following entry to your Addons section in gosa.conf:
---
-                        <plugin acl="dummy" class="dummy" icon="dummy.png"
-                                path="plugins/addons/dummy" />
---
-
-After logging into GOsa, you'll see your plugin in the addons section.
-
-
diff --git a/README.safemode b/README.safemode
deleted file mode 100644 (file)
index f3c67de..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-In order to run GOsa in PHP's safe mode, these changes in your php.ini
-have been tested:
-
-magic_quotes_gpc = On
-allow_url_fopen = No
-register_globals = Off
-safe_mode = On
-safe_mode_include_dir = "/usr/share/gosa:/var/spool/gosa"
-safe_mode_exec_dir = "/usr/lib/gosa"
-safe_mode_allowed_env_vars = PHP_,LANG
-open_basedir = "/etc/gosa:/var/spool/gosa:/var/cache/gosa:/usr/share/gosa:/tmp"
-include_path = ".:/usr/share/php:/usr/share/gosa:/var/spool/gosa:/usr/share/gosa/safe_bin"
-disable_functions = system, shell_exec, passthru, phpinfo, show_source
-
diff --git a/TODO b/TODO
deleted file mode 100644 (file)
index 7f9e876..0000000
--- a/TODO
+++ /dev/null
@@ -1,67 +0,0 @@
-Target for 2.6:
-===============
-
-* /debian
-  Add docbase?
-  get-orig-source?
-  debian/substvars -> dpkg-source
-  desktop package with icon and start script?
-
-* Check standards
-
-* Can't use a dn longer than 100 characters as Glpi contact/technical responsible person.
-
-* Verify DNS plugin
-  * Zones are not creatable, currently
-  * Error messages are partly wrong
-
-* Auto-Resize for subdialogs
-
-* Enhance the export xls to export the whole three with a maximum of attributes in each sheet ( OpenSides )
-
-* Enhance the pptp plugin (OpenSides)
-
-* Add support for nagios in the system part (OpenSides)
-
-* Asterisk : Create entry like this #309,1,PickupChan(SIP/rainer), 
-                        to allow others to pickup the phone by pressing # and number of the phone.
-
-* Evaluate patches for certificate generation
-
-* Bug submitter
-
-* Complete PHP5 compliance and optimization
-
-* Simplify plugins by providing a schema parser
-
-* Replace PHP IMAP module by self made module
-
-* Add possibility to add referrals in department dialog
-
-* Add sambaWorkingHours
-
-* Fine tuning in Kerberos support
-  Special kerberos attributes like ticket expiery and policies can't
-  be handeled with GOsa right now this has to be added in later releases.
-  
-* SSL
-  User certificates are only shown as "absent" or "present", because the
-  SSL PHP module isn't buildable in the moment. I'll check this later on.
-    (Notes:
-     openssl x509 -outform DER -in incert.pem  -out outcert.der
-     ldif -b "usercertificate;binary" < outcert.der   > cert.ldif
-     print_r(openssl_x509_parse ($this->userCertificate));
-    )
-    
-* Documentation
-  - End user documentation: online help
-  - Administrators documentation: how to install / contributed scripts, etc.
-  - Developer documentation: how to extend, own plugins, themes, etc.
-
-* amavis-new support
-
-* Automatic passwords?
-  Generate a password for a newly created user and display it.
-
-* Make IMAP namespace configurable
-
diff --git a/contrib/openxchange/README.openxchange b/contrib/openxchange/README.openxchange
deleted file mode 100644 (file)
index 52effd8..0000000
+++ /dev/null
@@ -1,437 +0,0 @@
-### Small tutorial for use GOsa with open-xchange ###
-
-Once installed open-xchange (http://www.open-xchange.org) and php4-pgsql 
-module we must do some changes to get open-xchange running with GOsa.
-
-- php.ini must have extension=pg_sql.so
-
-- The webserver must have access to the Postgresql server.
-
-- In the connectivity section of gosa.conf must have something like this:
-                <tab class="oxchangeAccount"
-                        pghost="server"
-                        pguser="openexchange"
-                        pgpasswd="test"
-                        pgdbname="openexchange"
-               />
-
-
-
-We suppose that openxchage is installed in /usr/local/openxchange, 
-and the base for GOsa ldap tree is dc=example,dc=org
-
-
-- Make changes to admintools.conf (/usr/local/openxchange/etc/admintools.conf):
-
-OXBASE="dc=example,dc=org"
-OX_LEAF="$OXBASE"
-# Where are the OX Users
-USER_BASEDN="ou=people,$OX_LEAF"
-# Where are the OX Groups
-GROUP_BASEDN="ou=groups,$OX_LEAF"
-# Where are the OX Resources
-RESOURCES_BASEDN="ou=Resources,ou=ResourceObjects,ou=OxObjects,$OX_LEAF"
-# Where are the OX Resource Groups
-RESOURCE_GROUPS_BASEDN="ou=ResourceGroups,ou=ResourceObjects,ou=OxObjects,$OX_LEAF"
-# Where is the Global Adressbook
-GLOBAL_ADDRESSBOOKDN="o=AddressBook,ou=OxObjects,$OX_LEAF"
-# where are the adressbook admins
-GLOBAL_ADDRESSBOOK_ADMINSDN="cn=AddressAdmins,ou=OxObjects,$GLOBAL_ADDRESSBOOKDN"
-
-- Make changes in login.pm (usually in /usr/lib/cgi-bin/login.pm):
-my $ldap_userBase = 'ou=Users,ou=OxObjects,';
-to
-my $ldap_userBase = 'ou=people,';
-
-- Put the Base in ldap.conf (/usr/local/openxchange/etc/groupware/ldap.conf)
-BASE    dc=example,dc=org
-
-- If you are using as GOsa dnmode "uid", You must change in ldap.properties 
-(/usr/local/openxchange/etc/groupware/ldap.properties):
-
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeuserCountryName=userCountry
- to
-com.openexchange.groupware.ldap.OXUserObjectAttributeuserCountryName=st
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeimapServerName=imapServer
- to
-com.openexchange.groupware.ldap.OXUserObjectAttributeimapServerName=gosaMailServer
-
-com.openexchange.groupware.ldap.OXUserObjectAttributesmtpServerName=smtpServer
- to 
-com.openexchange.groupware.ldap.OXUserObjectAttributesmtpServerName=gosaMailServer
-
-com.openexchange.groupware.ldap.userBaseDN=ou\u003DUsers,ou\u003DOxObjects
-to
-com.openexchange.groupware.ldap.userBaseDN=ou\u003Dpeople
-
-
-
-- If you are using as GOsa dnmode "cn", the ldap.properties  
-(/usr/local/openxchange/etc/groupware/ldap.properties) 
-configuration of open-xchange must be like this:
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributebusinessCategoryName=businessCategory
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributecnName=cn
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeCountryName=c
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributedescriptionName=description
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributedisplayNameName=displayName
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributeemployeeNumberName=employeeNumber
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributeemployeeTypeName=employeeType
-
-com.openexchange.groupware.ldap.OXUserObjectAttributecoName=co
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributehomePhoneName=homePhone
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributehomePostalAddressName=homePostalAddress
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeInfoName=info
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributeinitialsName=initials
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributeinternationaliSDNNumberName=internationaliSDNNumber
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeIPPhoneName=IPPhone
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeotherfacsimiletelephonenumberName=otherfacsimiletelephonenumber
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributeroomNumberName=roomNumber
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributetelexNumberName=telexNumber
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributeuidName=uid
-
-com.openexchange.groupware.ldap.inetOrgPersonClassName=inetOrgPerson
-
-com.openexchange.groupware.ldap.OXUserObjectAttributebirthDayName=birthDay
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeDistributionListName=OXUserDistributionList
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeAnniversaryName=OXUserAnniversary
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeBranchesName=OXUserBranches
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeCategoriesName=OXUserCategories
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeChildrenName=OXUserChildren
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeCityName=OXUserCity
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeCommentName=OXUserComment
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeComRegName=OXUserComReg
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeEmail2Name=OXUserEmail2
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeEmail3Name=OXUserEmail3
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeInstantMessenger2Name=OXUserInstantMessenger2
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeInstantMessengerName=OXUserInstantMessenger
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeMaritalStatusName=OXUserMaritalStatus
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeNickNameName=OXUserNickName
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeOtherCityName=OXUserOtherCity
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeOtherCountryName=OXUserOtherCountry
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeOtherPostalCodeName=OXUserOtherPostalCode
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeOtherStateName=OXUserOtherState
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeOtherStreetName=OXUserOtherStreet
-
-com.openexchange.groupware.ldap.OXUserObjectAttributePositionName=OXUserPosition
-
-com.openexchange.groupware.ldap.OXUserObjectAttributePostalCodeName=OXUserPostalCode
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeProfessionName=OXUserProfession
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeSalesVolumeName=OXUserSalesVolume
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeSpouseNameName=OXUserSpouseName
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeStateName=OXUserState
-
-com.openexchange.groupware.ldap.OXUserObjectAttributesuffixName=OXUserSuffix
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTaxIDName=OXUserTaxID
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTeleAssistantName=OXUserTeleAssistant
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTeleBusiness2Name=OXUserTeleBusiness2
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTeleCallbackName=OXUserTeleCallback
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTeleCarName=OXUserTeleCar
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTeleCompanyName=OXUserTeleCompany
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTeleFax2Name=OXUserTeleFax2
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTeleHome2Name=OXUserTeleHome2
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTeleMobile2Name=OXUserTeleMobile2
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTeleOtherName=OXUserTeleOther
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTelePrimaryName=OXUserTelePrimary
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTeleRadioName=OXUserTeleRadio
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeTeleTTYName=OXUserTeleTTY
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeurlName=url
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef01Name=OXUserUserUndef01
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef02Name=OXUserUserUndef02
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef03Name=OXUserUserUndef03
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef04Name=OXUserUserUndef04
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef05Name=OXUserUserUndef05
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef06Name=OXUserUserUndef06
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef07Name=OXUserUserUndef07
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef08Name=OXUserUserUndef08
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef09Name=OXUserUserUndef09
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef10Name=OXUserUserUndef10
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef11Name=OXUserUserUndef11
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef12Name=OXUserUserUndef12
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef13Name=OXUserUserUndef13
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef14Name=OXUserUserUndef14
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef15Name=OXUserUserUndef15
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef16Name=OXUserUserUndef16
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef17Name=OXUserUserUndef17
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef18Name=OXUserUserUndef18
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef19Name=OXUserUserUndef19
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef20Name=OXUserUserUndef20
-
-com.openexchange.groupware.ldap.OXUserObjectClassName=OXUserObject
-
-com.openexchange.groupware.ldap.AllContactUIDSearch=(&(objectClass\u003DinetOrgPerson)(objectClass\u003DOXUserObject))
-
-!com.openexchange.groupware.ldap.AllContactUIDSearchScope=1
-
-com.openexchange.groupware.ldap.credentialsBaseDN=[credentialsBaseDN]
-
-com.openexchange.groupware.ldap.credentialsDN=cn\u003D[uid],[userBaseDN],[credentialsBaseDN]
-
-com.openexchange.groupware.ldap.groupOfNamesAttributememberName=member
-
-com.openexchange.groupware.ldap.AddressAdminsDN=cn\u003DAddressAdmins,[globalAddressBookBaseDN]
-
-com.openexchange.groupware.ldap.globalAddressBookBaseDN=o\u003DAddressBook
-
-com.openexchange.groupware.ldap.GlobalAddressBookEntryDN=cn\u003D[contactid],[globalAddressBookBaseDN]
-
-com.openexchange.groupware.ldap.InternalUsersForeSureNameUIDPatternSearchFilter=(&(objectClass\u003DinetOrgPerson)(objectClass\u003DOXUserObject)(|(sn\u003D[pattern])(givenname\u003D[pattern])(cn\u003D[pattern]))(mailEnabled\u003Dok))
-
-com.openexchange.groupware.ldap.InternalUsersStartingLetterSearchFilter=(&(objectClass\u003DinetOrgPerson)(objectClass\u003DOXUserObject)(sn\u003D[letter]*)(mailEnabled\u003Dok))
-
-com.openexchange.groupware.ldap.UserAddressBookEntryDN=cn\u003D[contactid],[UserAddressBookDN]
-
-com.openexchange.groupware.ldap.localDomainsBaseDN=ou\u003DDNSObjects,ou\u003DAdminObjects
-
-com.openexchange.groupware.ldap.OXVDomainAttributedomainNameName=domainName
-
-com.openexchange.groupware.ldap.LocalDomainsSearchFilter=(&(objectClass\u003DOXVDomainObject)(MTALocaldomain\u003Dtrue))
-
-com.openexchange.groupware.ldap.OXIMAPFolderAttributefnName=fn
-
-com.openexchange.groupware.ldap.sharedFolderBaseDN=ou\u003DSharedFolder
-
-com.openexchange.groupware.ldap.SharedFolderSearchFilter=(&(objectclass\u003DOXIMAPFolderObject)(mailenabled\u003Dok))
-
-!com.openexchange.groupware.ldap.sharedFolderSearchScope=1
-
-com.openexchange.groupware.ldap.OXResourceGroupAttributeresourceGroupAvailableName=resourceGroupAvailable
-
-com.openexchange.groupware.ldap.OXResourceGroupAttributeresourceGroupMemberName=resourceGroupMember
-
-com.openexchange.groupware.ldap.OXResourceGroupAttributeresourceGroupNameName=resourceGroupName
-
-com.openexchange.groupware.ldap.ResourceGroupDN=resourceGroupName\u003D[group],[resourceGroupBaseDN]
-
-com.openexchange.groupware.ldap.ResourceGroupPatternSearchFilter=(&(objectclass\u003DOXResourceGroupObject)(resourceGroupName\u003D[pattern]))
-
-com.openexchange.groupware.ldap.ResourceGroupSearchFilter=(objectclass\u003DOXResourceGroupObject)
-
-!com.openexchange.groupware.ldap.ResourceGroupSearchScope=1
-
-com.openexchange.groupware.ldap.OXResourceAttributeresourceNameName=resourceName
-
-#Where are the resources?
-com.openexchange.groupware.ldap.resourceBaseDN=ou\u003DResources,ou\u003DResourceObjects
-
-com.openexchange.groupware.ldap.ResourceDN=resourceName\u003D[resource],[resourceBaseDN]
-
-#Where are the resource groups?
-com.openexchange.groupware.ldap.resourceGroupBaseDN=ou\u003DResourceGroups,ou\u003DResourceObjects
-
-#Searches resources with the a pattern.
-com.openexchange.groupware.ldap.ResourcePatternSearchFilter=(&(objectclass\u003DOXResourceObject)(resourceName\u003D[pattern]))
-
-!com.openexchange.groupware.ldap.ResourceSearchScope=1
-
-com.openexchange.groupware.ldap.DNForDefaultMail=cn\u003Dmailadmin,[userBaseDN]
-
-com.openexchange.groupware.ldap.Factory.AuthenticationSupport=com.openexchange.groupware.ldap.DefaultAuthenticationSupport
-
-com.openexchange.groupware.ldap.Factory.ContactSupport=com.openexchange.groupware.ldap.DefaultContactSupport
-
-com.openexchange.groupware.ldap.Factory.MailSupport=com.openexchange.groupware.ldap.DefaultMailSupport
-
-com.openexchange.groupware.ldap.Factory.ResourcesHandle=com.openexchange.groupware.ldap.DefaultResourcesHandle
-
-#Class, that implementes UserGroupHandle, ResourcesHandle
-com.openexchange.groupware.ldap.Factory.UserGroupHandle=com.openexchange.groupware.ldap.DefaultUserGroupHandle
-
-#Where to search for groups?
-com.openexchange.groupware.ldap.groupBaseDN=ou\u003DGroups
-
-#Complete dn of a group.
-com.openexchange.groupware.ldap.GroupDN=cn\u003D[gid],[groupBaseDN]
-
-com.openexchange.groupware.ldap.GroupSearchFilter=(objectclass\u003DposixGroup)
-
-#Searches all groups for the user
-com.openexchange.groupware.ldap.GroupsForUserSearchFilter=(&(objectclass\u003DposixGroup)(memberUid\u003D[uid]))
-
-com.openexchange.groupware.ldap.GroupsPatternSearchFilter=(&(objectclass\u003DposixGroup)(cn\u003D[pattern]))
-
-!com.openexchange.groupware.ldap.GroupSearchScope=1
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributefacsimileName=facsimileTelephoneNumber
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributegivenNameName=givenName
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributelabeledURIName=labeledURI
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributelName=l
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributemailName=mail
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributemobileName=mobile
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributeoName=o
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributeouName=ou
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributepagerName=pager
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributepostalCodeName=postalCode
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributepreferredLanguageName=preferredLanguage
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributesnName=sn
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributestName=st
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributestreetName=street
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributetelephoneNumberName=telephoneNumber
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributetitleName=title
-
-com.openexchange.groupware.ldap.OXUserObjectAttributealiasName=alias
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeappointmentDaysName=OXAppointmentDays
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeimapServerName=gosaMailServer
-
-com.openexchange.groupware.ldap.OXUserObjectAttributemailDomainName=mailDomain
-
-com.openexchange.groupware.ldap.OXUserObjectAttributesmtpServerName=gosaMailServer
-
-com.openexchange.groupware.ldap.OXUserObjectAttributetaskDaysName=OXTaskDays
-
-com.openexchange.groupware.ldap.OXUserObjectAttributetimeZoneName=OXTimeZone
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeuserCountryName=st
-
-com.openexchange.groupware.ldap.OXUserObjectAttributevaddressName=vaddress
-
-com.openexchange.groupware.ldap.posixAccountAttributecnName=cn
-
-com.openexchange.groupware.ldap.posixAccountAttributeuidName=uid
-
-com.openexchange.groupware.ldap.posixGroupAttributecnName=cn
-
-com.openexchange.groupware.ldap.posixGroupAttributememberUidName=memberUid
-
-com.openexchange.groupware.ldap.UserAddressBookDN=ou\u003Daddr,cn\u003D[uid],[userBaseDN]
-
-com.openexchange.groupware.ldap.UserAttributeOpenLDAPaciName=OpenLDAPaci
-
-com.openexchange.groupware.ldap.userBaseDN=ou\u003Dpeople
-
-#DN to the user object
-com.openexchange.groupware.ldap.UserDN=cn\u003D[uid],[userBaseDN]
-
-com.openexchange.groupware.ldap.UsersCNPatternSearchFilter=(&(objectclass\u003DposixAccount)(objectClass\u003DinetOrgPerson)(|(cn\u003D[pattern])(givenName\u003D[pattern])(cn\u003D[pattern])))
-
-com.openexchange.groupware.ldap.UserSearchFilter=(&(cn\u003D[uid])(objectClass\u003DOXUserObject))
-
-!com.openexchange.groupware.ldap.UserSearchScope=1
-
-com.openexchange.groupware.ldap.UsersForeSureNamePatternSearchFilter=(&(objectclass\u003DposixAccount)(|(givenName\u003D[pattern])(sn\u003D[pattern])))
-
-com.openexchange.groupware.ldap.UsersForeSureNameUIDPatternSearchFilter=(&(objectclass\u003DposixAccount)(objectClass\u003DinetOrgPerson)(|(givenName\u003D[pattern])(sn\u003D[pattern])(cn\u003D[pattern])))
-
-com.openexchange.groupware.ldap.UsersPatternSearchFilter=(&(objectclass\u003DposixAccount)(cn\u003D[pattern]))
-
-#Define the objectClasses an user object should belong to if you are performing pattern searches.
-com.openexchange.groupware.ldap.UsersPatternSearchObjectClasses=posixAccount,inetOrgPerson,OXUserObject
-
-com.openexchange.groupware.ldap.GlobalAddressBookSearchScope=1
-
-com.openexchange.groupware.ldap.inetOrgPersonAttributejpegPhotoName=jpegPhoto
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeDayViewEndTimeName=OXDayViewEndTime
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeDayViewStartTimeName=OXDayViewStartTime
-
-com.openexchange.groupware.ldap.OXUserObjectAttributeDayViewIntervalName=OXDayViewInterval
-
-!com.openexchange.groupware.ldap.LocalDomainsSearchScope=1
-
-
-
-
-
-
-This configuration is based in documentation gets from 
-http://www.open-xchange.org/oxwiki/
-
-TODO:
-- more testing
-- check cn configuration
-- check addressbook
-- subtree support
-
index 12817ff7188c6046a2543ad6d7e13a6f9bec0e2d..b832b2a0c7584bcbf45a5d8b9321d4d2a925f954 100755 (executable)
@@ -53,7 +53,7 @@ install-stamp:
        -mkdir -p debian/gosa-help-nl/usr/share/doc/gosa-help-nl
        -gzip -c9 debian/changelog > debian/gosa-help-nl/usr/share/doc/gosa-help-nl/changelog.Debian.gz
        -gzip -c9 Changelog > debian/gosa/usr/share/doc/gosa/changelog.gz
-       -cp AUTHORS TODO README FAQ README.safemode DEVEL debian/gosa/usr/share/doc/gosa/
+       -cp AUTHORS README FAQ doc/README.safemode doc/README.devel doc/README.openxchange debian/gosa/usr/share/doc/gosa/
        -rm debian/gosa/usr/share/gosa/README debian/gosa/usr/share/gosa/INSTALL
        -rm debian/gosa/usr/share/gosa/README.safemode
        -rm debian/gosa/usr/share/gosa/AUTHORS debian/gosa/usr/share/gosa/Changelog
diff --git a/doc/README.devel b/doc/README.devel
new file mode 100644 (file)
index 0000000..47faf5f
--- /dev/null
@@ -0,0 +1,135 @@
+* How to get plugged in
+
+Independently of beeing an LDAP style or LDAP unrelated plugin, you may start a new plugin,
+by creating a new directory below the plugin directory structure. To be up to date, get a
+fresh SVN checkout:
+
+Change to the directory which will contain your GOsa checkout, then get the source:
+
+# svn co https://oss.gonicus.de/repositories/gosa/branches/2.5 gosa
+
+for the current 2.5 development line or
+
+# svn co https://oss.gonicus.de/repositories/gosa/trunk gosa
+
+for the bleeding edge development tree.
+
+
+The gosa directory will contain your initial checkout now. In order to update from SVN
+you simply can call "svn up".
+
+Now you've an up to date GOsa. Note that there may be most obviously something broken if
+you use trunk.
+
+
+* First example
+
+Lets explain how to create a simple GOsa plugin. The example shows a dummy plugin which is not
+directly related with LDAP.
+
+# cd plugins/addons
+# mkdir dummyplug && cd dummyplug
+
+GOsa expects a file named "main.inc" inside of this plugin directory. It is needed because some
+plugins may need no standard handling and GOsa itself may not know how to initialize the plugin
+classes. Here's our example:
+
+---
+<?php
+        /* All page output must be placed inside the display variable. Please do not output anything
+           from within your plugin directly. GOsa will take the display variable after things got processed
+           and assemble the final page after that. */
+
+        /* print_header generates the page header including the headline and the icon, get template
+            path looks for eventually overloaded files. You don't have to take care of this - it's only important
+            for theming artists. Copy the icon (as .png) to the html/images directory, if you don't care about
+            the image, just copy the personal.png to dummy.png. */
+        $display= print_header(get_template_path('images/dummy.png'), _("A nice dummy plugin"));
+
+        /* All plugin objects get stored inside the PHP session. Here we create the object if it doesn't
+            exist yet. It is recreated if "reset" is set. */
+        if (!isset($_SESSION['dummy']) || (isset($_GET['reset']) && $_GET['reset'] == 1)){
+                $_SESSION['dummy']= new dummy ($config);
+        }
+        $dummy= $_SESSION['dummy'];
+
+        /* Execute plugin. This calls your plugin class and appends its output to the display variable. */
+        $display.= $dummy->execute ();
+
+        /* The ignore field controls if GOsa should ignore the users tries to leave the plugin without
+           saving. For the dummy plugin, you can leave all the time without loosing data. */
+        $display.= "<input type=\"hidden\" name=\"ignore\">\n";
+
+        /* After executing the plugin, some data may have changed, so we need to put the plugin back
+           to the session. */
+        $_SESSION['export']= $export;
+?>
+---
+
+The basic starter for your plugin is ready now. We're missing the plugin itself currently. To create it,
+you need to create a file starting with class_ and ending with .inc. These files get sourced automatically.
+
+Here's the class_dummy.inc:
+
+---
+<?php
+
+/* Create a class (name must be unique inside GOsa) which extends plugin. The plugin base
+    class contains all methods that are used by GOsa and it provides the mechanism to load data
+    from LDAP to local variables and prepare the save to ldap routine for you. */
+class dummy extends plugin
+{
+
+  /* These contain attributes to be loaded. We're not doing an LDAP plugin currently, so we don't
+     care... */
+  var $attributes= array();
+  var $objectclasses= array();
+
+  /* The constructor just saves a copy of the config. You may add what ever you need. */
+  function dummy ($config, $dn= NULL)
+  {
+        /* Include config object */
+        $this->config= $config;
+  }
+
+  /* Execute is the function all plugins need. It fills the plugin with life and produces the output. */
+  function execute()
+  {
+        /* Use the smarty templating engine here... */
+        $smarty= get_smarty();
+
+        /* Normally you would react to user input here. */
+
+        /* Let smarty fetch and process the page. Always seperate PHP and HTML as much as
+           you can. */
+        return ($smarty->fetch (get_template_path('contents.tpl', TRUE)));
+  }
+
+}
+?>
+---
+
+There are two things missing now. The template file and an entry in your gosa.conf. Lets finish the
+work in the plugin directory, first.
+
+Here is the contents.tpl file:
+
+---
+<p>
+  {t}This is a dummy plugin. It really does nothing. The tags around this text do automatic translations to the desired language. Please don't include linefeeds here, or it will not work at all!{/t}
+</p>
+
+<p class="plugbottom">
+  &nbsp;
+</p>
+---
+
+Now add the following entry to your Addons section in gosa.conf:
+--
+                        <plugin acl="dummy" class="dummy" icon="dummy.png"
+                                path="plugins/addons/dummy" />
+--
+
+After logging into GOsa, you'll see your plugin in the addons section.
+
+
diff --git a/doc/README.openxchange b/doc/README.openxchange
new file mode 100644 (file)
index 0000000..52effd8
--- /dev/null
@@ -0,0 +1,437 @@
+### Small tutorial for use GOsa with open-xchange ###
+
+Once installed open-xchange (http://www.open-xchange.org) and php4-pgsql 
+module we must do some changes to get open-xchange running with GOsa.
+
+- php.ini must have extension=pg_sql.so
+
+- The webserver must have access to the Postgresql server.
+
+- In the connectivity section of gosa.conf must have something like this:
+                <tab class="oxchangeAccount"
+                        pghost="server"
+                        pguser="openexchange"
+                        pgpasswd="test"
+                        pgdbname="openexchange"
+               />
+
+
+
+We suppose that openxchage is installed in /usr/local/openxchange, 
+and the base for GOsa ldap tree is dc=example,dc=org
+
+
+- Make changes to admintools.conf (/usr/local/openxchange/etc/admintools.conf):
+
+OXBASE="dc=example,dc=org"
+OX_LEAF="$OXBASE"
+# Where are the OX Users
+USER_BASEDN="ou=people,$OX_LEAF"
+# Where are the OX Groups
+GROUP_BASEDN="ou=groups,$OX_LEAF"
+# Where are the OX Resources
+RESOURCES_BASEDN="ou=Resources,ou=ResourceObjects,ou=OxObjects,$OX_LEAF"
+# Where are the OX Resource Groups
+RESOURCE_GROUPS_BASEDN="ou=ResourceGroups,ou=ResourceObjects,ou=OxObjects,$OX_LEAF"
+# Where is the Global Adressbook
+GLOBAL_ADDRESSBOOKDN="o=AddressBook,ou=OxObjects,$OX_LEAF"
+# where are the adressbook admins
+GLOBAL_ADDRESSBOOK_ADMINSDN="cn=AddressAdmins,ou=OxObjects,$GLOBAL_ADDRESSBOOKDN"
+
+- Make changes in login.pm (usually in /usr/lib/cgi-bin/login.pm):
+my $ldap_userBase = 'ou=Users,ou=OxObjects,';
+to
+my $ldap_userBase = 'ou=people,';
+
+- Put the Base in ldap.conf (/usr/local/openxchange/etc/groupware/ldap.conf)
+BASE    dc=example,dc=org
+
+- If you are using as GOsa dnmode "uid", You must change in ldap.properties 
+(/usr/local/openxchange/etc/groupware/ldap.properties):
+
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeuserCountryName=userCountry
+ to
+com.openexchange.groupware.ldap.OXUserObjectAttributeuserCountryName=st
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeimapServerName=imapServer
+ to
+com.openexchange.groupware.ldap.OXUserObjectAttributeimapServerName=gosaMailServer
+
+com.openexchange.groupware.ldap.OXUserObjectAttributesmtpServerName=smtpServer
+ to 
+com.openexchange.groupware.ldap.OXUserObjectAttributesmtpServerName=gosaMailServer
+
+com.openexchange.groupware.ldap.userBaseDN=ou\u003DUsers,ou\u003DOxObjects
+to
+com.openexchange.groupware.ldap.userBaseDN=ou\u003Dpeople
+
+
+
+- If you are using as GOsa dnmode "cn", the ldap.properties  
+(/usr/local/openxchange/etc/groupware/ldap.properties) 
+configuration of open-xchange must be like this:
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributebusinessCategoryName=businessCategory
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributecnName=cn
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeCountryName=c
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributedescriptionName=description
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributedisplayNameName=displayName
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributeemployeeNumberName=employeeNumber
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributeemployeeTypeName=employeeType
+
+com.openexchange.groupware.ldap.OXUserObjectAttributecoName=co
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributehomePhoneName=homePhone
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributehomePostalAddressName=homePostalAddress
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeInfoName=info
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributeinitialsName=initials
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributeinternationaliSDNNumberName=internationaliSDNNumber
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeIPPhoneName=IPPhone
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeotherfacsimiletelephonenumberName=otherfacsimiletelephonenumber
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributeroomNumberName=roomNumber
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributetelexNumberName=telexNumber
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributeuidName=uid
+
+com.openexchange.groupware.ldap.inetOrgPersonClassName=inetOrgPerson
+
+com.openexchange.groupware.ldap.OXUserObjectAttributebirthDayName=birthDay
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeDistributionListName=OXUserDistributionList
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeAnniversaryName=OXUserAnniversary
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeBranchesName=OXUserBranches
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeCategoriesName=OXUserCategories
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeChildrenName=OXUserChildren
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeCityName=OXUserCity
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeCommentName=OXUserComment
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeComRegName=OXUserComReg
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeEmail2Name=OXUserEmail2
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeEmail3Name=OXUserEmail3
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeInstantMessenger2Name=OXUserInstantMessenger2
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeInstantMessengerName=OXUserInstantMessenger
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeMaritalStatusName=OXUserMaritalStatus
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeNickNameName=OXUserNickName
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeOtherCityName=OXUserOtherCity
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeOtherCountryName=OXUserOtherCountry
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeOtherPostalCodeName=OXUserOtherPostalCode
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeOtherStateName=OXUserOtherState
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeOtherStreetName=OXUserOtherStreet
+
+com.openexchange.groupware.ldap.OXUserObjectAttributePositionName=OXUserPosition
+
+com.openexchange.groupware.ldap.OXUserObjectAttributePostalCodeName=OXUserPostalCode
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeProfessionName=OXUserProfession
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeSalesVolumeName=OXUserSalesVolume
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeSpouseNameName=OXUserSpouseName
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeStateName=OXUserState
+
+com.openexchange.groupware.ldap.OXUserObjectAttributesuffixName=OXUserSuffix
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTaxIDName=OXUserTaxID
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTeleAssistantName=OXUserTeleAssistant
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTeleBusiness2Name=OXUserTeleBusiness2
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTeleCallbackName=OXUserTeleCallback
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTeleCarName=OXUserTeleCar
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTeleCompanyName=OXUserTeleCompany
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTeleFax2Name=OXUserTeleFax2
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTeleHome2Name=OXUserTeleHome2
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTeleMobile2Name=OXUserTeleMobile2
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTeleOtherName=OXUserTeleOther
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTelePrimaryName=OXUserTelePrimary
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTeleRadioName=OXUserTeleRadio
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeTeleTTYName=OXUserTeleTTY
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeurlName=url
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef01Name=OXUserUserUndef01
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef02Name=OXUserUserUndef02
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef03Name=OXUserUserUndef03
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef04Name=OXUserUserUndef04
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef05Name=OXUserUserUndef05
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef06Name=OXUserUserUndef06
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef07Name=OXUserUserUndef07
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef08Name=OXUserUserUndef08
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef09Name=OXUserUserUndef09
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef10Name=OXUserUserUndef10
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef11Name=OXUserUserUndef11
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef12Name=OXUserUserUndef12
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef13Name=OXUserUserUndef13
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef14Name=OXUserUserUndef14
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef15Name=OXUserUserUndef15
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef16Name=OXUserUserUndef16
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef17Name=OXUserUserUndef17
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef18Name=OXUserUserUndef18
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef19Name=OXUserUserUndef19
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeUserUndef20Name=OXUserUserUndef20
+
+com.openexchange.groupware.ldap.OXUserObjectClassName=OXUserObject
+
+com.openexchange.groupware.ldap.AllContactUIDSearch=(&(objectClass\u003DinetOrgPerson)(objectClass\u003DOXUserObject))
+
+!com.openexchange.groupware.ldap.AllContactUIDSearchScope=1
+
+com.openexchange.groupware.ldap.credentialsBaseDN=[credentialsBaseDN]
+
+com.openexchange.groupware.ldap.credentialsDN=cn\u003D[uid],[userBaseDN],[credentialsBaseDN]
+
+com.openexchange.groupware.ldap.groupOfNamesAttributememberName=member
+
+com.openexchange.groupware.ldap.AddressAdminsDN=cn\u003DAddressAdmins,[globalAddressBookBaseDN]
+
+com.openexchange.groupware.ldap.globalAddressBookBaseDN=o\u003DAddressBook
+
+com.openexchange.groupware.ldap.GlobalAddressBookEntryDN=cn\u003D[contactid],[globalAddressBookBaseDN]
+
+com.openexchange.groupware.ldap.InternalUsersForeSureNameUIDPatternSearchFilter=(&(objectClass\u003DinetOrgPerson)(objectClass\u003DOXUserObject)(|(sn\u003D[pattern])(givenname\u003D[pattern])(cn\u003D[pattern]))(mailEnabled\u003Dok))
+
+com.openexchange.groupware.ldap.InternalUsersStartingLetterSearchFilter=(&(objectClass\u003DinetOrgPerson)(objectClass\u003DOXUserObject)(sn\u003D[letter]*)(mailEnabled\u003Dok))
+
+com.openexchange.groupware.ldap.UserAddressBookEntryDN=cn\u003D[contactid],[UserAddressBookDN]
+
+com.openexchange.groupware.ldap.localDomainsBaseDN=ou\u003DDNSObjects,ou\u003DAdminObjects
+
+com.openexchange.groupware.ldap.OXVDomainAttributedomainNameName=domainName
+
+com.openexchange.groupware.ldap.LocalDomainsSearchFilter=(&(objectClass\u003DOXVDomainObject)(MTALocaldomain\u003Dtrue))
+
+com.openexchange.groupware.ldap.OXIMAPFolderAttributefnName=fn
+
+com.openexchange.groupware.ldap.sharedFolderBaseDN=ou\u003DSharedFolder
+
+com.openexchange.groupware.ldap.SharedFolderSearchFilter=(&(objectclass\u003DOXIMAPFolderObject)(mailenabled\u003Dok))
+
+!com.openexchange.groupware.ldap.sharedFolderSearchScope=1
+
+com.openexchange.groupware.ldap.OXResourceGroupAttributeresourceGroupAvailableName=resourceGroupAvailable
+
+com.openexchange.groupware.ldap.OXResourceGroupAttributeresourceGroupMemberName=resourceGroupMember
+
+com.openexchange.groupware.ldap.OXResourceGroupAttributeresourceGroupNameName=resourceGroupName
+
+com.openexchange.groupware.ldap.ResourceGroupDN=resourceGroupName\u003D[group],[resourceGroupBaseDN]
+
+com.openexchange.groupware.ldap.ResourceGroupPatternSearchFilter=(&(objectclass\u003DOXResourceGroupObject)(resourceGroupName\u003D[pattern]))
+
+com.openexchange.groupware.ldap.ResourceGroupSearchFilter=(objectclass\u003DOXResourceGroupObject)
+
+!com.openexchange.groupware.ldap.ResourceGroupSearchScope=1
+
+com.openexchange.groupware.ldap.OXResourceAttributeresourceNameName=resourceName
+
+#Where are the resources?
+com.openexchange.groupware.ldap.resourceBaseDN=ou\u003DResources,ou\u003DResourceObjects
+
+com.openexchange.groupware.ldap.ResourceDN=resourceName\u003D[resource],[resourceBaseDN]
+
+#Where are the resource groups?
+com.openexchange.groupware.ldap.resourceGroupBaseDN=ou\u003DResourceGroups,ou\u003DResourceObjects
+
+#Searches resources with the a pattern.
+com.openexchange.groupware.ldap.ResourcePatternSearchFilter=(&(objectclass\u003DOXResourceObject)(resourceName\u003D[pattern]))
+
+!com.openexchange.groupware.ldap.ResourceSearchScope=1
+
+com.openexchange.groupware.ldap.DNForDefaultMail=cn\u003Dmailadmin,[userBaseDN]
+
+com.openexchange.groupware.ldap.Factory.AuthenticationSupport=com.openexchange.groupware.ldap.DefaultAuthenticationSupport
+
+com.openexchange.groupware.ldap.Factory.ContactSupport=com.openexchange.groupware.ldap.DefaultContactSupport
+
+com.openexchange.groupware.ldap.Factory.MailSupport=com.openexchange.groupware.ldap.DefaultMailSupport
+
+com.openexchange.groupware.ldap.Factory.ResourcesHandle=com.openexchange.groupware.ldap.DefaultResourcesHandle
+
+#Class, that implementes UserGroupHandle, ResourcesHandle
+com.openexchange.groupware.ldap.Factory.UserGroupHandle=com.openexchange.groupware.ldap.DefaultUserGroupHandle
+
+#Where to search for groups?
+com.openexchange.groupware.ldap.groupBaseDN=ou\u003DGroups
+
+#Complete dn of a group.
+com.openexchange.groupware.ldap.GroupDN=cn\u003D[gid],[groupBaseDN]
+
+com.openexchange.groupware.ldap.GroupSearchFilter=(objectclass\u003DposixGroup)
+
+#Searches all groups for the user
+com.openexchange.groupware.ldap.GroupsForUserSearchFilter=(&(objectclass\u003DposixGroup)(memberUid\u003D[uid]))
+
+com.openexchange.groupware.ldap.GroupsPatternSearchFilter=(&(objectclass\u003DposixGroup)(cn\u003D[pattern]))
+
+!com.openexchange.groupware.ldap.GroupSearchScope=1
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributefacsimileName=facsimileTelephoneNumber
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributegivenNameName=givenName
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributelabeledURIName=labeledURI
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributelName=l
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributemailName=mail
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributemobileName=mobile
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributeoName=o
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributeouName=ou
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributepagerName=pager
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributepostalCodeName=postalCode
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributepreferredLanguageName=preferredLanguage
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributesnName=sn
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributestName=st
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributestreetName=street
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributetelephoneNumberName=telephoneNumber
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributetitleName=title
+
+com.openexchange.groupware.ldap.OXUserObjectAttributealiasName=alias
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeappointmentDaysName=OXAppointmentDays
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeimapServerName=gosaMailServer
+
+com.openexchange.groupware.ldap.OXUserObjectAttributemailDomainName=mailDomain
+
+com.openexchange.groupware.ldap.OXUserObjectAttributesmtpServerName=gosaMailServer
+
+com.openexchange.groupware.ldap.OXUserObjectAttributetaskDaysName=OXTaskDays
+
+com.openexchange.groupware.ldap.OXUserObjectAttributetimeZoneName=OXTimeZone
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeuserCountryName=st
+
+com.openexchange.groupware.ldap.OXUserObjectAttributevaddressName=vaddress
+
+com.openexchange.groupware.ldap.posixAccountAttributecnName=cn
+
+com.openexchange.groupware.ldap.posixAccountAttributeuidName=uid
+
+com.openexchange.groupware.ldap.posixGroupAttributecnName=cn
+
+com.openexchange.groupware.ldap.posixGroupAttributememberUidName=memberUid
+
+com.openexchange.groupware.ldap.UserAddressBookDN=ou\u003Daddr,cn\u003D[uid],[userBaseDN]
+
+com.openexchange.groupware.ldap.UserAttributeOpenLDAPaciName=OpenLDAPaci
+
+com.openexchange.groupware.ldap.userBaseDN=ou\u003Dpeople
+
+#DN to the user object
+com.openexchange.groupware.ldap.UserDN=cn\u003D[uid],[userBaseDN]
+
+com.openexchange.groupware.ldap.UsersCNPatternSearchFilter=(&(objectclass\u003DposixAccount)(objectClass\u003DinetOrgPerson)(|(cn\u003D[pattern])(givenName\u003D[pattern])(cn\u003D[pattern])))
+
+com.openexchange.groupware.ldap.UserSearchFilter=(&(cn\u003D[uid])(objectClass\u003DOXUserObject))
+
+!com.openexchange.groupware.ldap.UserSearchScope=1
+
+com.openexchange.groupware.ldap.UsersForeSureNamePatternSearchFilter=(&(objectclass\u003DposixAccount)(|(givenName\u003D[pattern])(sn\u003D[pattern])))
+
+com.openexchange.groupware.ldap.UsersForeSureNameUIDPatternSearchFilter=(&(objectclass\u003DposixAccount)(objectClass\u003DinetOrgPerson)(|(givenName\u003D[pattern])(sn\u003D[pattern])(cn\u003D[pattern])))
+
+com.openexchange.groupware.ldap.UsersPatternSearchFilter=(&(objectclass\u003DposixAccount)(cn\u003D[pattern]))
+
+#Define the objectClasses an user object should belong to if you are performing pattern searches.
+com.openexchange.groupware.ldap.UsersPatternSearchObjectClasses=posixAccount,inetOrgPerson,OXUserObject
+
+com.openexchange.groupware.ldap.GlobalAddressBookSearchScope=1
+
+com.openexchange.groupware.ldap.inetOrgPersonAttributejpegPhotoName=jpegPhoto
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeDayViewEndTimeName=OXDayViewEndTime
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeDayViewStartTimeName=OXDayViewStartTime
+
+com.openexchange.groupware.ldap.OXUserObjectAttributeDayViewIntervalName=OXDayViewInterval
+
+!com.openexchange.groupware.ldap.LocalDomainsSearchScope=1
+
+
+
+
+
+
+This configuration is based in documentation gets from 
+http://www.open-xchange.org/oxwiki/
+
+TODO:
+- more testing
+- check cn configuration
+- check addressbook
+- subtree support
+
diff --git a/doc/README.safemode b/doc/README.safemode
new file mode 100644 (file)
index 0000000..f3c67de
--- /dev/null
@@ -0,0 +1,14 @@
+In order to run GOsa in PHP's safe mode, these changes in your php.ini
+have been tested:
+
+magic_quotes_gpc = On
+allow_url_fopen = No
+register_globals = Off
+safe_mode = On
+safe_mode_include_dir = "/usr/share/gosa:/var/spool/gosa"
+safe_mode_exec_dir = "/usr/lib/gosa"
+safe_mode_allowed_env_vars = PHP_,LANG
+open_basedir = "/etc/gosa:/var/spool/gosa:/var/cache/gosa:/usr/share/gosa:/tmp"
+include_path = ".:/usr/share/php:/usr/share/gosa:/var/spool/gosa:/usr/share/gosa/safe_bin"
+disable_functions = system, shell_exec, passthru, phpinfo, show_source
+