Print Header

My Favorite Blogs

Recent Articles & Presentations

Contact Blue Fish

Blue Fish Development Group
701 Brazos St. #700
Austin, TX 78701
(512) 469-9300

Out of the Blue - Michael Trafton's Blog

Blue Fish Hosting Alfresco Lunch and Learns in 9 US Cities

April 10, 2011

Once a quarter, I spend a few weeks traveling around the country spreading the word about Alfresco by hosting a series of educational Lunch and Learns. This is one of my favorite parts of my job, because I get to meet new people, learn a little bit about their businesses, and turn them onto a product I really believe in.

This time around, I’ll be focusing on how you can simplify document management, achieve a paperless office, and streamline your business processes. The main topics I’m going to cover are:

  • General Document Management - Alfresco works out of the box with your email and office applications, and has some very clever ways to automate routine document processing tasks. I’ve been implementing document management systems for almost 20 years, and I can tell you that it’s the easiest to use system I’ve ever seen for this type of thing.
  • Scanning and Archiving Paper Documents – I’ll show you how you can use the scanner or multi-function printer you already have to turn paper files into electronic images.
  • Workflow and Business Process Automation – Alfresco can help you automate your business processes with it’s powerful workflow engine. From approving invoices to revising documents to automating complex business rules, I’ll show you the full breadth of Alfresco’s workflow capabilities.

I’ve designed a special workflow that really shows off Alfresco’s bells and whistles, and I’ll be showing it for the first time at this lunch and learn.

So if you are curious about what Alfresco does or how it might be able to benefit your organization, now’s your chance to learn more about it. I’ll be giving a full demonstration of the software and answering all your questions.

All events are from 11:30-1:30, and lunch will be provided.

  • Boston, MA - Tuesday, April 26 - Register
  • Orlando, FL - Wednesday, April 27 - Register
  • Miami, FL - Thursday, April 28- Register
  • Austin, TX - Tuesday, May 3 - Register
  • Houston, TX - Wednesday, May 4 - Register
  • Dallas, TX - Thursday, May 5 - Register
  • San Antonio, TX - Tuesday, May 10 - Register
  • Nashville, TN - Wednesday, May 11 - Register
  • Phoenix, AZ - Thursday, May 12 - Register

Social Content Management Features I’d Like to See in Alfresco Share

March 21, 2011

Over the past few months, I’ve heard John Newton (Alfresco founder and CTO) and Todd Barr (Alfresco CMO) speak on a new direction for Alfresco. They are ushering in an era of Social Content Management.

Social Content Management is a term coined by Gartner Group, and adopted by Alfresco. It’s a brand new concept, and the industry hasn’t yet settled on a standard definition. Alfresco uses it to mean managing the content created by social software. That’s a platform-oriented view, and it makes sense coming from a platform vendor like Alfresco.

But when I think about Social Content Management, I think about the user. Folks who know me well know I’m always thinking about the user. I’m constantly asking questions like “what are the users trying to accomplish when they use this application?” or “what’s the best user experience to help them achieve their goals?” At heart, I’m much more of an applications guy than a platform guy.

So I got to thinking about some of the social networking applications I use regularly, and wondering how we could apply those concepts and features to the realm of document management and collaboration. What I came up with is a list of features I’d like to see added to Alfresco that I think would make it more social and improve users’ ability to collaborate. To me, that’s what Social Content Management should be.

Following Users in Alfresco (Inspired by Facebook)

At the heart of any social network are our friends – the people we are connected to. We follow them to find out what’s going on in their personal lives.

But in a business setting, it’s a bit different. We don’t want to follow our colleagues’ personal lives; we want to follow their business lives.

You may want to know when a team member has completed the report he was working on. Or a manager might want to keep tabs on what her employees are doing. There are subject matter experts that you would follow to learn more about your company’s products. People in Sales might want to see what’s cooking over in Marketing, and vice-versa.

The first feature I want to see is the ability to follow my colleagues in Alfresco. The documents they produce, the discussions they participate in, the comments they make on other people’s documents – this is the information I want to see when I follow someone’s business life, and all of this information is stored in Alfresco.

To make it easier to maintain, I want to be able to follow groups as well as users so that I don’t have to constantly be managing my “friend” list as people join and leave the company or move into different departments.

Kicking it up a notch, I also I also want to be able to follow (or subscribe to) a document, folder, discussion thread, site, etc. I want Alfresco to notify me when someone edits a document I’m following or adds a document to a folder I’m following.

To make this concept work, I’ll need an activity feed that’s personalized for me based on the users and groups and documents and folders I’m following. And since Alfresco added status updates in 3.4, it should include status updates for the users I follow.

To keep my activity feed from getting out of hand, I should be able to fine-tune the types of activities that appear in my feed (see below), and to keep the database from growing out of control, administrators should be able to adjust how long feed items are kept before they are deleted.

Configurable Activity Feed Dashlet (Inspired by TweetDeck)

I’d like to see a configurable activity feed dashlet, so that I can filter out activity types I’m not interested in. This way, I could add the dashlet to my dashboard multiple times with different settings. Maybe I would have one dashlet showing me the activities that are related to documents I’ve created, another one that shows activities related to users I follow, and a third that is showing subjects I’m interested in (see below).

The inspiration for this idea comes from TweetDeck, the Twitter client I use on my Macintosh. Using TweetDeck, I’ve created multiple Twitter feeds that let me watch certain subjects or groups of users, and it’s a thousand times easier for me to make sense of the zillion tweets that zoom past me everyday. I’ve got some feeds that I watch closely and others that I’m more casual about.

In large sites, Alfresco’s current activity feed can contains way too much information, so being able to filter out the activities that aren’t interesting to me will help me cut through the noise created by a zillion activities.

Email Digests (Inspired by LinkedIn)

Activity feeds are great for users that spend a lot of time in Alfresco, since they see their feed every time they look at their dashboard. Users that have embraced Facebook in their personal lives are comfortable scanning a feed to stay on top of things.

But the activity feed isn’t going to work for everyone. Some users don’t spend much time in Alfresco, and others will be resistant to constantly checking a giant activity feed. Many of these users still live in an email-oriented world, so for them, I want email digests that recap their activity feeds or notify them when documents they are following have been modified. This is similar to what I get from LinkedIn, a social networking site that I don’t visit very often. LinkedIn sends me emails from time to time that keep me updated and let me easily re-engage.

If I had my way, the email settings would be configured as part of the Activity Feed dashlet. This way, I could elect to have some of my feeds email me a daily digest and other feeds email me in real-time when the activity happens.

According to my friends at Alfresco, a basic version of this feature is coming in the next release or two, but it will likely only be a daily digest of a single global feed.

Include Users and Subjects in Comments (Inspired by Twitter)

The current version of Alfresco lets users comment on documents, folders, blog entries, and links. This is nice, but there are a couple of improvements I’d like to see.

First, the way that the comment is displayed could be improved. Today, when a user comments on a document, a message is added to the activity feed saying, “[User] commented on [Document] in site [Site].”

I have to click the link to view the document details page so that I can see the comment. I don’t like this, because it takes a while to load the document details page, and that just wastes time. Also, it breaks my train of thought. The activity feed is great for quickly staying up to date on what’s happening in Alfresco. But when I click a link in the feed, I’m taken out of that context to an entirely different page, and when I return to the dashboard, I struggle to find where I was in the feed.

So, the next enhancement I want to see is for the text of the comment to be included in my activity feed.

I also want to be able to direct my comments to specific users, similar to how Twitter works. I want to be able to include @username in a comment and have the comment be highlighted in that user’s feed. This would make the discussion around documents much richer, since I could say something like “I think this report needs more detail. @johndoe, what do you think?” This tells John Doe that I’m specifically looking for a response from him.

This notation, used widely on Twitter, will be easy for users to pick up, and if we had configurable dashboards, I’d create a feed just of the comments that referenced my user name. I’d set this feed up to email me in real time as the comments were created, so that I could respond quickly.

Building on the idea of using Twitter syntax, I also want to use hashtag notation in Alfresco comments. For the uninitiated, hashtags (placing ‘#’ in front of a short word or phrase) is a simple way of tagging a tweet so that others interested in that subject will see it. For example, #alfresco is used on Twitter to indicate that the tweet is about Alfresco, and I have a search set up on Twitter that shows me all the tweets tagged with #alfresco, whether I follow that user or not.

Allowing hashtags in Alfresco comments would let users tie their comments to a particular project or subject, and other users could search for the hashtag or create a feed of comments related to that hashtag. It would provide another dimension to staying on top of what’s going on, and would be particularly useful in a large site with lots of users and lots of comments.

What social features do you want to see in Alfresco? Continue the conversation in the comments.

Preventing Accidental Access By External Users in Alfresco

March 18, 2011

Imagine that you’ve set up Alfresco Share as an Intranet within your company, and you’ve created a site for each department. Every site probably has a small number of managers that invite users, maintain the dashboard, and generally keep the information on the site all nice and tidy.

Let’s say that you also have some sites that you use to collaborate with external customers, partners, or vendors. You’ve opened up a hole in your firewall so that these external users can access Alfresco Share, and you’ve been careful to invite those users only to the specific sites that they should have access to.

You may think everything is secure, but no matter how careful you are, when you are letting external users into your Alfresco system, it’s possible for your internal users to accidentally share sensitive confidential information with those external users.

Here’s how it can happen.

1) Creating Public Sites

When you create a new site in Share, the default visibility is Public, which means that every user in the repository can participate in the site as a consumer, even if they haven’t officially joined the site.

Documents in public sites are easily returned in search results, and external users can download them and read them without your knowledge. Public sites are a bad idea if you have any external users in your system.

2) Sharing Documents with Everyone

Users in Share have the ability to change permissions on documents they create. They can share the document with other users, other groups, or with a special group called “EVERYONE”.

It’s not uncommon for a user to share a document with EVERYONE, assuming that it means everyone in the company, and not realizing that it includes every user in the repository. Most casual users don’t even realize that the system is being accessed by external users. But when a document is shared with EVERYONE, it’s available to both internal and external users, and this can allow sensitive information to fall into the wrong hands.

3) Inviting External Users to Internal Sites

Managers of sites have permission to invite other users to join their site. They can invite users that already exist in the repository, or they can invite external users that don’t yet have a user id. Alfresco Share makes it really simple to invite external users, and this can be a problem for some companies.

Let’s say a site manager invites an external user, but the user does not yet have an login ID for Alfresco. No problem – Alfresco will automatically create a user account, give that account access to the site, and send the user an email with their username, password, and a link to join the site.

While this behavior might be just what you want for an external community site, most IT departments would be horrified to learn that random Alfresco users can give strangers access to the corporate document repository without anyone knowing about it. To make matters worse, the current site manager can give the external user manager-level access, and now the external user can invite even more external users.

4) Putting External Users in Internal Groups

Like most enterprise applications, Alfresco has the ability to create groups of users that make managing permissions much easier. In many companies, documents are shared with groups of users, rather than individuals. You might want to give the Marketing group access to the sales team’s documents, for example.

Lets say that several months later, the marketing team brings on a contractor from an external advertising agency. It only makes sense to put that contractor in the Marketing group so she can get access to the marketing documents. But it’s often the case that the left hand doesn’t remember what the right hand has done, and unbeknownst to everyone, this external contractor now has access to all the proposals and sensitive sales documents that you probably wouldn’t want her to see.

The Blue Fish Solution

The way we’ve solved this problem for our clients is to introduce the concept of external users, external groups, and public folders. In our solution, we’ve written a job that executes every 30 seconds, identifies external users, and restricts them to accessing only those documents under a public folder. The nice thing about this approach is that it doesn’t require any customizations to Share or any serious modifications to the Alfresco server.

Here’s how it works.

When our job runs, it identifies all the external users. Any user without a company email address is considered an external user.

Note: Sometimes, you’ll have an external contractor or a board member that you trust the same as your internal users, so we’ve created a group called “Trusted External Users”. Add someone with an external email address to this group, and we’ll treat them like an internal user.

The first thing that the job does is to make sure that no external users are members of your internal groups. This prevents problem #4 above. We consider most groups in Alfresco to be internal groups, so if we find an external user in an Alfresco group, we will remove that user from the group.

Note: You may want to group your external users together, for example, into a Customers group or an External Contractors group, so we have a way to designate a group as an external group. It’s OK for external users to be in external groups.

Our job then finds any sites we haven’t seen before. If we encounter a new site, we create a Public folder in that site and set up a new site role called External User. This role appears in all the normal Share dialogs, so you can invite users to your site and give them the External User role. The External User role has no access to any documents except those in the Public folder.

Our job then starts to examine every existing site, looking at the site roles. If we find an external user with a standard site role (Consumer, Collaborator, Contributor, or Manager), we will remove the external user from that role and assign them the External User role. This solves problem #3 above.

The last thing our job does is to look at all the existing documents and folders. If we find that an external user has access to a document or folder outside of the Public folder, we remove that user from the permissions. So even if you explicitly grant an external user access to an internal document, our job will revoke that access 30 seconds later. If an internal user wants to share something with an external user, she has to move it or copy it into the Public folder.

If our job sees any documents or folders that give access to EVERYONE, we revoke that access since it would be visible to external users. In our system, you can’t give a document access to EVERYONE. This solves problem #1 and problem #2 above.

Whenever our job does takes some action, it emails the Alfresco administrators so they are aware of what’s going on.

Report: State of Client-Side Web Development

February 17, 2011

Every once in a while, Alex Bilstein, our user interface design guru, writes up an internal report to keep the rest of the Blue Fish team up to speed on the rapid advancements that are taking place in the world of web development, particularly as it relates to front-end development in the web browser tier.

We thought it might be helpful to others out there, so we’re sharing it outside of Blue Fish for the first time. Enjoy!

Download Alex’s Client Side Report: January 2011 (pdf).

Webinar Recording: Painless Document Scanning and Indexing with Alfresco

February 16, 2011

If you missed my recent webinar on an easy way to scan documents into Alfresco, there’s a recording available. I also uploaded the slides onto SlideShare, but I recommend you watch the recording for the audio and to see the solution in action.

Watch Painless Document Scanning and Indexing with Alfresco.

New Article: Where to Go to Learn About Alfresco

February 3, 2011

Business analysts, solution architects, developers, and system administrators new to Alfresco all face a similar challenge: figuring out where to go to learn something new about Alfresco.

There are tons of wiki pages, blogs, articles, code samples, and other resources on the internet that contain valuable information about Alfresco, but wading through it all can be a daunting chore. In fact, there’s so much information out there, it’s hard to know where to start.

My colleague, Nicki DuBose, has written the article I’ve been waiting for! It’s a list of best places to go to learn about Alfresco. Nicki and the rest of the Blue Fish team picked out their most helpful articles, web casts, blog posts, wiki pages and compiled them into the ultimate Alfresco resource index on the internet.

Check out Where to Go to Learn About Alfresco.

Webinar: Painless Document Scanning and Indexing with Alfresco

February 1, 2011

Sometimes, you need to scan paper documents and store them in Alfresco, but the volume of documents isn’t large enough to justify a complex, expensive scanning solution. We encounter this problem all the time with our clients - they want to use Alfresco as a repository for scanned images, but they don’t want to hassle with a full-fledged, centralized scanning set up.

On Feb 15th, I’ll be hosting a webinar to show you how you can easily scan documents into Alfresco with the scanner or multi-function printer/scanner/copier you already have, and then process them in easy-to-use indexing queues. I’ll be demonstrating an extension we created for Alfresco Share that supports distributed scanning and indexing without the need for a centralized mail-room scanning system.

If this sounds like something you’d be interested in, click here to Register for the Painless Scanning and Indexing Webinar. I hope you’ll be able to join me.

Tweet Round-Up: Alfresco 3.4 Launch

January 29, 2011

Here’s a round-up of the best articles, videos, and blog posts about this week’s launch of Alfresco Enterprise 3.4.

Video: What’s New in Alfresco 3.4

January 27, 2011

Interested in what’s new in the latest version of Alfresco? I recorded a little demo video to show you the most interesting bits.

Alfresco Lunch and Learns in 6 Cities

January 5, 2011

We’re starting 2011 off with another round of Blue Fish and Alfresco Lunch and Learn events. At this Lunch and Learn, I’ll be demonstrating some of the great things that Alfresco can do out of the box, and I’ll be showing off a brand new extension to Alfresco that makes it easy to scan and index paper documents and manage them in Alfresco.  We’ve never shown it in public before, so you’ll be the first to see it.  If you’ve been considering Alfresco as a solution to scan paper document, you won’t want to miss this Lunch and Learn.

We’ll be hosting these events in 6 cities across 3 states:

  • Austin, TX - Tuesday, January 18 - Register
  • Houston, TX - Wednesday, January 19 - Register
  • Dallas, TX - Thursday, January 20 - Register
  • Boston, MA - Tuesday, January 25 - Register
  • Orlando, FL - Wednesday, January 26 - Register
  • Miami, FL - Thursday, January 27- Register

I’m really excited to share this information and help you plan your 2011 ECM initiatives. Space is limited, so please register early to secure your place. I hope to see you there.