Archive for March, 2011

Alfresco 3.4 – first impressions

A little more than a year ago I worked a lot with Alfresco, mainly with Share. I liked it a lot, although it still missed a lot of functionality at the time, it seemed very promising for the future.

Then I started working with other things and more or less stopped following the development of Alfresco. But now I’ve had a reason to install it again, for a customer project and I must say that it has improved a lot in just one year.

One of the things I missed most in earlier versions was the ability to search in a meningful way. I mean, if you have a site full of content it’s not very useful to be able to search for keywords only and get every single item that matches the keywords in any way at all. But nowadays a more powerful advanced search has been introduced and at a first glance it looks really useful.

I also like the fact that it’s possible to create content directly in the document library. Since that’s basically the same functionality as the Wiki it seems a bit odd that it hasn’t been included before, but still, it’s nice to see that it’s there now.

(Speaking of the Wiki, I really don’t see the need for that as it is today. Sure, you can link between pages, but other than that there’s really not much of a difference between creating a wiki page and a document. I’d like to see a proper wiki implementation, more like MediaWiki.)

Besides that, there are many more new or extended features that I look forward to test out (workflows etc), but the one thing that caught my interest the most is the new replication functionality. Not so much for the possibility to replicate between production sites, but for the fact that it might be a nice backup and disaster recovery tool.

Previously I’ve always found that hot backups were a pain in the *** with Alfresco. Ok, you could backup files with CIFS, but then you’d lose all meta data and what about the rest of the stuff? Backing up the repository could be done, but without exact timing of database backup and file backup there’s a big risk to end up with an inconsistency that might break the entire repository.

I haven’t really looked in to the new replication feature, so I don’t know to what extent it could be useful for backup purposes, but it sure seems interesting at first glance.

Leave a comment »

vTiger 5.1.0 and LDAP-plugin: How to allow SQL-authenticated users to change their passwords

When using LDAP authentication with vTiger, sometimes you want some users to authenticate against the database instead. One example is the admin user, which by default works that way, but there may be other cases as well.

To allow for that you may populate an array in the LDAP config file (config.ldap.php) with users that should be authenticated against the database. It could look like this:

$AUTHCFG['sql_accounts']         = array("user1","admin");

This config means that users admin and user1 will authenticate with whatever password is stored in the SQL database.

The problem comes if user1 wishes to change his or her password in vTiger. If the system is set up for LDAP authentication no users, except for admin, which is an exception, will be able to change their passwords on their profile pages. The password field will only say LDAP Authentication, instead of showing a Change Password-button.

The reason for this is that the code creating the profile page checks which type of authentication that is used as standard, not which type that is used for this particular user.

To fix this you need to edit the file that contains the code creating the profile page: modules/Users/DetailView.php

Locate this section:

        global $AUTHCFG;
        $auth_type = strtoupper($AUTHCFG['authType']);

        // Allow to change the password of the local predefined 'admin' account
        if ($focus->user_name == 'admin') $auth_type = 'SQL';

        switch ($auth_type)
        {
        case 'AD':
                $buttons = "Active Directory authentification";
                break;
        case 'LDAP':
                $buttons = "LDAP authentification";
                break;
        default:
                $buttons = "";
                break;
        }

Comment out this line:

if ($focus->user_name == 'admin') $auth_type = 'SQL';

And instead add something like this:

// A bit of code to see wether the user authenticates through SQL
if (in_array($focus->user_name, $AUTHCFG['sql_accounts'])) $auth_type = 'SQL';

That should fix the problem!

Leave a comment »

Follow

Get every new post delivered to your Inbox.

Join 110 other followers