The Working with Custom Content Types tutorial has just been given a major revision. I’ve updated it to match the refactored code. Here is a summary of the high-level changes:
Instructions now assume you are using the Alfresco Maven SDK. If you haven’t played with the Alfresco Maven SDK yet, check out my recently published tutorial on the subject.
Removed all mention of Alfresco Explorer. The tutorial is now exclusively focused on Alfresco Share for the user interface part.
Removed all mention of the Alfresco Web Services API. The tutorial is now exclusively focused on CMIS as the preferred API for performing CRUD functions against the Alfresco repository.
The code and the tutorial text reside in GitHub. If you find issues or make improvements, please fork the repository and send me a pull request.
I’ve written a new tutorial about Getting Started with the Alfresco Maven SDK. I hope it helps newcomers to Alfresco get started writing customizations quickly. And if you are an experienced Alfresco developer who still uses Ant-based builds, I hope it motivates you to make the switch to Apache Maven.
The Alfresco Maven SDK is the preferred way to bootstrap, manage, and build your Alfresco modules. The cool thing is that you don’t need anything to get started–if you already have a JDK and Apache Maven installed, you are ready to write custom Alfresco modules for the Alfresco repository and Alfresco Share, whether you are using Community Edition or Enterprise Edition.
The tutorial itself is an HTML page on this site, but I wrote it using Markdown. It lives in a GitHub repository, along with my older tutorials on custom content types, actions, behaviors, web scripts, and advanced workflows. Those tutorials have also recently been converted to Markdown and the accompanying source code has been refactored to use the Alfresco Maven SDK and AMPs, but I am still busy revising the tutorial text to match the refactored code.
I hope that by writing these tutorials in Markdown and storing them in GitHub the Alfresco community will be more likely to help me maintain them over time by forking the repository and sending me pull requests.
I used to be of the opinion that when it came to books about Alfresco, the more, the better. But with about a dozen on the market at this point, I think it is probably past time to start focusing on quality over quantity.
A big driver of quality is relevance. We’re at a point where the old web client, Alfresco Explorer, is no longer relevant to any new project and most existing implementations. And yet Alfresco Explorer keeps showing up in new books. Come on, people. Alfresco Share made its debut in Alfresco Labs 3a way back in September of 2008. Granted, it needed a few releases before it became the preferred web client, and there are still a few minor things you cannot do in Share, but Alfresco Explorer has been virtually unchanged since then.
Alfresco Share is the preferred web client and has been for quite some time. Yes, there are people who still run old versions of Alfresco. Yes, there are people who like JavaServer Faces. But I’m pretty sure the existing catalog has those folks well-covered. I’d rather see authors spending their energy (and the readers’ time) elsewhere.
I say it all of the time and it seems like it ought to be common knowledge, but I’ll repeat it: No new customizations should be happening with Alfresco Explorer. Talking about Alfresco Explorer customizations is almost a disservice to the community, so let’s stop.
From time-to-time, publishers ask me to review book proposals. I know many of you get the same emails. Let’s all make a stand: No more green lights for books that feature significant coverage of Alfresco Explorer from here on out. Sound good?
Alfresco Explorer was a great web client in its day. It’s not that I dislike it at all. I’m just saying it’s time to say goodbye. So let’s all bid a fond farewell and let it go gently into the good night. We can remember it fondly over drinks at meetups, but for goodness sake, let’s stop writing about it.
This year we tried something new at Alfresco Summit. Rather than have all of our keynotes delivered by Alfrescans we invited some external speakers to both Barcelona and Boston.
Day 1: Big ideas, big opportunities–Doug Dennerline, Jimmy Wales, Andrew McAfee, & John Newton
In both cities we opened the conference with our new CEO, Doug Dennerline. This was Doug’s first annual conference since joining Alfresco, so it was a great opportunity for him to introduce himself to the community and talk about the tremendous opportunity he sees in front of us.
Then, in Barcelona we had Jimmy Wales, founder of Wikimedia Foundation. Jimmy spoke of the phenomenal growth of Wikipedia, particularly in emerging countries and in various languages. He talked about an initiative called Wikipedia Zero, which seeks to provide free access to Wikipedia over cell phone networks. He showed a never-before seen video of school children in South Africa who wrote an open letter to carriers to explain how much Wikipedia helps them with their studies and how much free access would mean to their community. That video totally got to me–I’m such a softy.
One of the things that stuck with me from Jimmy’s talk is that we should be asking what our community needs to get done and then help them make that happen rather than constantly asking what our community can do for us. It’s tough to do because our community is so diverse but this might be a useful guiding principle in the coming year.
In Boston the first day keynote was Andrew McAfee. Andrew is Principle Research Scientist for Digital Business at the Sloan School of Management. You may know him as the guy who coined the term “Enterprise 2.0”. His talk was about the unbelievable growth of content in our lives and businesses–“Content is growing faster than our ability to find words to describe it,” he said.
He talked about the importance of following the data rather than always deferring to the HiPPOs (Highest Paid Person in the Organization). He spoke of various studies that showed how areas once ruled by pundits (politics, wine, real estate) are now more accurately forecast using big data techniques.
There were all kinds of amazing stats Andy shared with us that morning. The one most shocking to me was that 500 million searches every day are completely new to Google (here is an article where that is referenced). Apparently 15% of Google searches have been new to Google for each of the last 15 years. Wrap your head around that!
We monitor all kinds of stats related to the Alfresco community. Each quarter we pick a few and see if we can make improvements in those numbers. Andy’s talk was a reminder to me that we need to pay attention to what the community is trying to tell us through data.
That evening John Newton, Alfresco co-founder and CTO, provided a Back to the Future themed keynote focusing on the future of work. John pointed out how unimaginable the work environment of today was ten years ago and asked for all of us to try to predict what work might be like ten years from now. If you have ideas, he’d love you to tweet them with the hashtag “#Work2023”. John’s slides are here. We’ll post the video soon.
Day 2: The Inevitability of Change. Simon Wardley and Dries Buytaert
Day two brought a new set of speakers. In Barcelona we kicked off with Simon Wardley, researcher at the CSC Leading Edge Forum. His talk covered a lot of ground. It was about the best way to think strategically about your organization (find the “why”, not just the “what”) and the inevitability of change and the incredible phases of discovery and innovation that follow major shifts in technology.
He compared cloud, which is simply the shift in computing from product to commodity, to the mass commoditization of electricity. He expects a period of unfathomable new products and services that will be achievable thanks to the cloud much in the same way radio, television, and other major innovations appeared after electricity was commoditized.
I agree with Simon that cloud is not an if but when. Even organizations that say there is no way they will ever put certain data in the cloud will ultimately shift to that style of computing. It will take time–probably less time than any of us think–but it will happen. Until then, Alfresco thinks that 20% of your content will stay on-premise, 20% will move to the cloud, and 60% will be in or moving between both.
Simon’s talk got me thinking about how our community will change over time. On-premise is still a huge part of our business and will be for some time, but SaaS is definitely the direction we’re headed. That will certainly change the make-up, goals, and tactics of the Alfresco community. It’s important for people to know, though, that our values around openness and transparency are fundamental to who we are. We may evolve our products and services, but you should continue to hold us to those values.
In Boston we kicked off day two with a keynote from Drupal creator and Acquia founder, Dries Buytaert. Dries talked about the evolution of content management. He took us from those humble beginnings in his Antwerp dorm room to today where Drupal runs 5% of all web sites and one-size-fits-all approaches are being abandoned in favor of best-of-breed, often incorporating open source software like Drupal and Alfresco.
I loved the “Do Well, Do Good” slide in Dries’ talk because it speaks to a reason why I like working in commercial open source. We can do well as a company–grow the business, earn profits for our stakeholders–but we can also do good for our fellow humans. Software like Drupal and Alfresco are helping all kinds of people fulfill their missions despite their lack of budget. We spend a lot of time worrying about the people who have huge budgets who aren’t paying us and we forget about the tremendous good we do for those who can’t.
Directly relevant? Maybe not always. Inspiring? I hope so!
It’s tough picking keynote speakers. Regarding the exact same speaker I had some people who asked, “Was that talk really relevant to what we do?” and others who exclaimed, “Wow, that was spot-on!”. It’s sort of like art–the perceived relevancy is totally in the beholder. I found elements from all four talks that were relevant to me–the themes played right into my community keynote on day 3–I wish I could say that was totally planned.
The goal wasn’t to have industry visionaries talk to us about our own products or even our own market. The goal was to have someone inspiring give a talk that opened your mind to new possibilities. That’s the best frame of mind you could be in when you go to a conference like Alfresco Summit, I think.
This year I asked our Alfresco Summit room monitors to capture the number of attendees in each session. It’s interesting to look at the data. For the most part, it’s as I expected, although there are a few surprises here and there.
It’s important to note that a well-attended session reflects topics in which people are interested, a well-written title and/or abstract, position in the schedule, and potentially the reputation of the speaker. It may not be an accurate indicator of how great the session turned out. We also didn’t capture the attendance for every session nor did we get a perfect count every time.
With that disclaimer out of the way, let’s look at the attendance of the non-technical sessions first. This was the first year we’ve included business sessions in our annual conference and I think it worked really well. Here are the top 5 non-technical sessions in terms of attendance for Barcelona:
In Barcelona, the technical sessions were attended by almost twice as many people as the business sessions, on average, while in Boston the average attendance was almost the same for both technical and non-technical. This isn’t surprising as the conference has been historically more technical in EMEA than the Americas both in terms of content and attendees.
Technical Sessions
Here are the most well-attended technical sessions in Barcelona. If the session didn’t make the top 10 well-attended list in Boston (either because it wasn’t presented or because it wasn’t as well-attended relative to the other talks) it is marked with an asterisk (“*”):
Top 10 Technical Sessions by Attendance (Barcelona)
The list for most well-attended technical sessions in Boston has some of the same talks as Barcelona with a few exceptions (talks only appearing on the Boston list are marked with “*”):
I should note that the “top 10” cutoff is completely arbitrary. In Barcelona, for example, the next 10 sessions still had 65 to 70 people in attendance.
What about lightning talks?
The lightning talks were extremely well-attended in both cities. In fact, most of the lightning talk sessions had enough attendees to make it into the top ten well-attended list, but I wanted to call them out separately.
Richard Esplin did a bang-up job pulling together two dozen lightning talks in each city. The overwhelming majority of lightning talks used the Ignite format which meant the slides advanced themselves after 30 seconds. Delivering these talks requires a ton of prep and practice and the presenters did not disappoint.
I didn’t see every lightning talk but my personal favorites out of the ones I did see were Boriss Mejias’ hilarious talk on “Alfresco Related WTFs in the Wild” in Barcelona and three talks in Boston: Peter Monks’ “Advice for Building an Alfresco Extension”, Tony Parzgnat’s talk on “Dynamic Datalist Driven Constraints in Share”, and “Help Your Users to RTFM!” by Andy Healey.
The lightning talk sessions were so impressive and so popular, I wonder if we ought to have an Alfresco Ignite event at some point.
Highly-Rated Talks
Now if you only followed the crowds you would have caught sessions that were not only well-attended but also highly-rated (and potentially a few that failed to live up to expectations). You would have also missed some hidden gems. Here are sessions that stood out in terms of ratings received regardless of how well-attended they were:
So that’s a little taste of what you missed in Barcelona and Boston. There are many great talks I haven’t called out in this post (I haven’t even talked about the keynotes yet!). You should explore the Alfresco Summit web site to find ones that suit your interest.
Most presentations are attached to their session page on the web site. By mid-December we hope to have the recordings embedded on each session page as well, so stay tuned for that.
It is hard to believe that the Alfresco Developer Guide was published five years ago this month (really, the tail end of October). My goal at the time was to help flatten the learning curve around the Alfresco platform and encourage people still using legacy ECM systems to make the leap. Based on the number of people who come up to me at meetups, conferences, and other events to tell me how much the book helped their projects, their teams, and even their careers, I’d say that goal was met and that makes me very happy.
The product and the company have definitely evolved a lot since 2008. The chapter on WCM is no longer relevant. The section on Single Sign-On is out-of-date. The book was written before Alfresco Share existed. And, at the time, jBPM was the only workflow engine in the product and Solr was not yet on the scene, nor was mobile. Both JCR and the native Web Services APIs have given way to CMIS as the preferred API. And Maven and AMPs are the recommended way to manage dependencies, run builds, and package extensions.
But the fundamentals of content modeling haven’t changed. Rules, actions, and behaviors are still great ways to automate content processing. Web Scripts are vital to any developer’s understanding of Alfresco, including those doing Share customizations. And, though the preferred workflow engine is Activiti rather than jBPM, the basics of how to design and deploy content-centric business processes in Alfresco haven’t changed that much.
So where do we go from here? The book was originally based on a set of tutorials I published here on ecmarchitect. Last year I created second editions of many of the tutorials to catch them up with major advancements in the platform. For example, the custom content types tutorial now includes Share configuration and CMIS. The custom actions tutorial now includes how to write Share UI actions. And the workflow tutorial now assumes Activiti and Alfresco Share rather than jBPM and Alfresco Explorer.
The source code that accompanied the book lives in Google Code, but I recently moved the source code that accompanies the tutorials to GitHub. I’m busy refactoring the tutorial source code to use Maven and AMPs. I’ve also started moving the actual tutorial text to markdown and am checking it in to GitHub so that the community can help me revise it and keep it up-to-date.
I learned a lot writing that first book. One of the lessons is to always work with co-authors. That made a big difference on CMIS and Apache Chemistry in Action. I hope that book helps as many people as the Alfresco Developer Guide did and I look forward to reflecting back on how CMIS has changed on that book’s fifth birthday in 2018.
The Alfresco engineering team has just released Alfresco Community Edition 4.2.e (Download, Release Notes). This is the final Community Edition release in the 4.2 line before 4.2 Enterprise is released.
This Community Edition release is mainly fixes for bugs found since 4.2.d and contains no new major features.
In a recent press release, we announced that Alfresco One 4.2 as well as the much-anticipated Records Management 2.1 release will be available on October 29. However, on the 4.2.e file list page on the wiki I notice that there is an RM 2.1 module available for download.
If you need the source, the public SVN revision number for Alfresco Community 4.2.e is 56674 and it has been tagged as COMMUNITYTAGS/V4.2e.
Don’t forget, folks. If you are planning on arriving in time for Day 0 of Alfresco Summit in either Barcelona (Nov 4) or Boston (Nov 12) so that you can participate in the hack-a-thon, you need to let us know so we can plan for food. Space is limited, so people who sign-up ahead of time using of these forms will be given priority (Barcelona, Boston).
Today we had another Live Alfresco Office Hours session on Google Hangouts on Air. If you missed it, here is the recording. Below that I’ve got rough notes on what was discussed.
Folder Templates in Share (Yes, rules come across)
Manage permissions
Admin console
User Trashcan
Did you know you can do a proximity search? Allows you to search for words within a specified proximity of one other. Examples: big *(2) apple finds results where those two words are within two words of each other.
Did you know you can index inside of zips? There is a setting that must be changed in order to enable this.
Did you know you can use the “ALL” keyword to search all metadata instead of the default fields that are normally indexed? Example: ALL:SomeCo finds any document with “SomeCo” in any property. (Thanks, Peter Lofgren, who contributed that tidbit via IRC during the session).
Nightly build now includes PT and Norwegian language packs, both community contributions.
Question from IRC: Alfresco and NoSQL–Any plans to support NoSQL as a back-end for metadata?
These days every conference seems to provide a pretty standard letter-to-your-boss template. And they may be helpful for people who have normal, rational bosses. But we all know there are many different types of bosses out there and some require specialized strategies for getting them to do what you need them to do. That’s why the Alfresco Summit team has put together a list of letter-to-your-boss templates with one for every type of boss.
Don’t see your boss type listed? Let us know. We don’t want you to miss out on the conference!