Alfresco 3.2CE - abcona patch release
=====================================


Disclaimer
----------

This is an highly unofficial patch release for Alfresco 3.2CE.
All the usual disclaimers and copyrights from Alfresco, Inc. apply;
and even worse: abcona eK provides this patch provides this patch on an
"as-is" basis without any guarantees! Risk is completeley up to you, if you
lose your job or your company goes down, dont blame us :-)

Contact:  abcona eK
          http://www.abcona.de/
          http://alfredolabs.abcona.org
          admin@abcona.de



Release notes for Version 2009-12-01
------------------------------------

[Files included in this release]

Name                              |Size       | MD5 checksum
----------------------------------+-----------+---------------------------------
alfresco.war                      |  72329884 | e3637caac284288b187b25810fe15f0a



[Fixes included in this release]

Includes a fix for ALFCOM-1913 
"Namespace for imported types in dictionary-service.wsdl is wrong"

--

Includes a workaround for ALFCOM-2628
"Alfresco CIFS registers bogus addresses in WINS when IPv6 is on"

--

Includes fix for ETHREEOH-2478
"Subsystem extension classpath override mechanism not working"

Patch taken from public SVN 15160

--

Includes Workaround for interoperability with Zimbra LDAP 

Zimbra manages group memberships in LDAP in a way not compatible with Alfresco:
Where Alfresco expects to find RFC2253 compliant DNs in the group members 
attribute, Zimbra only stores the members Uids. 
Although this is probably rather a problem with Zimbra than with Alfresco,
a workaround was devised:

LDAPUserRegistry.java was enhanced with a substitution mechanism, allowing for
rewriting the short Uids from Zimbra into compliant DNs:


  	// ====================================== Begin Kludge aw@abcona.de 2009-12-01
  	//
  	// Workaround for Zimbra LDAP: Zimbra does not store a RFC2253 compliant DN
  	// in the groups memberUid attribute, so we need to make one using a 
  	// pre-configured pattern
  	// aw@abcona.de 2009-12-01
  	//
  	if (groupLookupPattern != null) {
  		String attributeAsDN = String.format(groupLookupPattern, new Object[] {
  				attribute
  		});
  		LDAPUserRegistry.logger.info("Substituting: " + attribute + " -> " + attributeAsDN);
  		attribute = attributeAsDN;
  	}

groupLookupPattern was introduced as additional bean property and is configured 
with the usual Spring machinery in common-ldap-context.xml:

    <!-- 
    aw@abcona.de 2009-12-01: Auxillary property to define a lookup pattern for group members
     -->
    <property name="groupLookupPattern">
        <value>${ldap.synchronization.groupLookupPattern}</value>
    </property>    


The default substitution pattern is "%s", so without any additional configuration
this patch should be invisible! 

For the patch to work, you have finally to set the property ldap.synchronization.groupLookupPattern, eg:

    ldap.synchronization.groupLookupPattern=uid=%s,ou=people,dc=abcona,dc=int

--

Includes patch for default Users home folder location

The default location for newly created users configured in authentication-services-context.xml 
was changed from

    <bean name="personalHomeFolderProvider" class="org.alfresco.repo.security.person.UIDBasedHomeFolderProvider"  parent="baseHomeFolderProvider">
        <property name="serviceRegistry">
            <ref bean="ServiceRegistry" />
        </property>
        <property name="path">
           <value>/${spaces.company_home.childname}</value>
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        </property>
        ...
    </bean>

to

           <value>/${spaces.company_home.childname}/${spaces.user_homes.childname}</value>
 

so new users home folder are not created any longer in "Company Home".


