Updated tutorial: Creating Custom Actions in Alfresco

I have published an updated version of the Creating Custom Actions in Alfresco tutorial. Similar to the recently updated Working With Custom Content Types in Alfresco tutorial, this version has been updated to match the refactored code which now assumes you are using the Alfresco Maven SDK to produce AMPs and that you are using Alfresco Share as the user interface. I’ve removed all references to Alfresco Explorer.

The Custom Actions tutorial covers:

  • What is an action
  • How to write your own custom action in Java
  • How to invoke the custom action from a rule or from the Alfresco Share UI
  • Configuring an evaluator to hide the UI action when certain conditions are true
  • Configuring an indicator to show an icon in the document library when documents meet certain conditions
  • Writing and executing unit tests with the Alfresco Maven SDK

If you aren’t familiar with the Alfresco Maven SDK and you need help diving in, take a look at this tutorial.

All of the tutorial source code and text for the Alfresco Developer Series of tutorials is on GitHub. Please fork the project, make improvements, and send me pull requests.

Next on the to-be-updated list is the Custom Behaviors tutorial. I expect that to go live sometime next week.

Posted in Alfresco, Alfresco Developer Series, Alfresco Tutorials | Tagged , , | 5 Comments

Deal of the Day: 50%-off CMIS & Apache Chemistry in Action

The book I mueller_cover150co-authored with Florian Mueller (SAP) and Jay Brown (IBM), CMIS and Apache Chemistry in Action, is 50% off today (January 30). Use code dotd013014au when you checkout.

If you are doing anything with CMIS, whether that is with Alfresco or some other CMIS-compliant Enterprise Content Management server, like Nuxeo, SharePoint, FileNet, or Documentum, you should really take a look at this book. It provides Java, Python, PHP, and .NET examples including a working web application.

Posted in Apache Chemistry | Tagged , , , | Leave a comment

Updated tutorial: Working with Custom Content Types in Alfresco

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.

Posted in Alfresco, Alfresco Developer Series, Alfresco Tutorials | Tagged , , , | 13 Comments

New Tutorial: Getting Started with the Alfresco Maven SDK

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.

Posted in Alfresco, Alfresco Developer Series | Tagged , , | 20 Comments

Let’s stop writing books about Alfresco Explorer

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.

Posted in Alfresco, Alfresco Book | Tagged , , | 23 Comments

Kids these days: Learning to code then and now

300px-Epson-hx-20This little beauty is an Epson HX-20. It’s one of the first laptop computers. What makes it special to me is that its 4 line LCD screen is where I took my first coding steps in the early 1980′s.

My Dad was an IT guy. He’d bring home the Epson so he could work remotely. I’d been to his office before and had spent hours playing hide-and-seek in the data center with my sister or hucking write protect rings from mag tapes across the room like frisbees. To this day a raised floor and the smell of chilled, vaguely plastic, air brings back fond memories. But what he did all day at work was completely abstract to me until he brought that little Epson home.

Learning those first few lines of BASIC removed a lot of the mystery about how computers worked. It was clear I could tell the computer to do anything I wanted and it would follow those instructions to the letter. I quickly caught the bug and eventually got my own computer (We were a staunch Atari family–sorry Commodore fans!).

Fast forward 30 years…

Now I work in software and my own son is learning to code. When he was 12 or so he was running Linux on his laptop. Then he became interested in coding so I taught him Python. He has since picked up JavaScript, some HTML/CSS, and is now learning Java in high school.

When I think about his experience learning to code compared to mine, there are some similarities:

  • Exposure. He has access to various devices (laptops, PCs, Macs, tablets) and operating systems at home and at school.
  • Curiosity. More than using these devices for entertainment, he’s curious about how they work. I see plenty of kids with their faces buried in a tablet for hours on end. But if they don’t care to know how those apps or that game or that web site came to be they may not be ready to dive into coding.
  • Encouragement. What’s great is that not only does he have his Dad and Grandpa encouraging him to dive in, he’s got lots of teachers who understand the importance of code. (More on the curriculum in a minute).

So those are the ingredients that were the same for both of us. What’s different for this generation of kids learning to code? A lot, and it’s not just about ever-increasing computing power at lower and lower prices.

There are a ton of great resources kids have to help them learn to code these days. Let me call out some of them. I’ll put them in three buckets: Tools, Curriculum, and Communities.

Tools

When I learned to code the tools were virtually non-existent. I had a computer, the BASIC programming language, and a reference manual. Now there are all kinds of freely-available, cross-platform tools that are great for teaching kids to code. Here are a few.

For many kids, Lego Mindstorms is a great entry point into coding. This is coding that feels like play. Mindstorms comes with a drag-and-drop programming app that you use to build apps as if you were assembling building blocks. The app is then downloaded to the robot and boom–the kid sees their own creation obeying their commands.

If you don’t like the drag-and-drop IDE there are several traditional coding environments for a variety of languages that work with Mindstorms.

Scratch was the first coding tool my son was exposed to in school. Hosted at MIT, Scratch was purpose-built for teaching kids to code. Its graphical interface is similar to Mindstorms in some respects.

One of the things I love about Scratch is that kids can share their projects and use the projects of others as a starting point for their own creations. It’s never too early to start teaching kids about open source-style collaboration!

Alice is a story-telling tool. Kids manipulate 3D objects on a canvas. By giving instructions to the objects in the virtual world, kids learn the basics of object oriented programming.

Jeroo is another tool that teaches kids programming by manipulating objects in a virtual world. In this one you have an island. On the island are these mammals–Jeroos–who like to eat flowers. Coding lessons involve instantiating instances of Jeroos and getting them to eat instances of flowers.

Whereas Scratch, Alice, and Jeroo are similar to multiple object-oriented langauges, Greenfoot is about teaching kids a specific language: Java. Working in Greenfoot students write standard Java to build all kinds of programs. It’s a nice tool for learning Java before moving into a full-fledged IDE.

The RaspberryPi is a tiny computer and a code-learning tool all wrapped into one for $25 – $35. About the size of a credit card, you plug this little guy into a keyboard, mouse, and monitor and you’ve got yourself a Linux box with 512 MB of RAM that’s ready for code. Python, Java, C, C++, Ruby, Scratch are all installed by default.

Curriculum

I grew up in a small rural town. In the mid-80′s, my high school computer science curriculum consisted of a year of typing (on these things called typewriters) and a year of programming. The programming class was divided into a semester of typing and 10-keying (this time, on a computer) and a semester of BASIC.

In our school system programming starts fairly early in 7th grade using tools that don’t really feel like coding and then is offered every year, gradually getting more complex throughout high school.

Here is the curriculum by grade. I’ll include rough age equivalents so my readers outside the U.S. can map it to their grade levels:

  • 7th Grade (~13 years old): Technology, Tools: HTML, Scratch, Alice
  • 8th Grade (~14 years old): Principles of Communication in Business & Technology, Tools: HTML, Scratch, Alice
  • 8th Grade (~14 years old): Engineering, Tools: Google Sketch-Up, Lego MindStorms, Vex Robotics
  • 9th Grade (~15 years old): Pre-AP Computer Science, Tools: Scratch, Alice, Jeroo, Greenfoot (Java)
  • 10th Grade (~16 years old): AP Computer Science, Tools: Eclipse (Java)

Unfortunately, that’s it. Nothing is offered beyond AP Computer Science.

Community

When I was a kid there was no Internet, CompuServe was out of my financial reach, and Bulletin Board Systems were just taking off. That meant learning to code (especially in a small town) was largely a solitary pursuit.

With ubiquitous network connectivity, today’s kids have instant access to a globally connected community of learning resources, mentors, and others who are also learning to code. Here are a few examples of resources and communities my son has found helpful:

  • Codecademy is a community of educators and students. There are courses on Python, JavaScript, Ruby, HTML, and others, all available for free.
  • Khan Academy is another free learning community that offers computer programming.
  • Once kids know a little bit about programming, if they are interested in learning Python, my son found Google’s Python Class very useful.

The Role of Open Source in Teaching Kids to Code

Open source software plays a huge role in teaching kids to code. All of the tools I’ve mentioned in this blog post are open source and freely-available. But, more importantly, kids can dig into the hundreds of thousands of open source projects that are out there to see how they work and, eventually, to participate in those projects by writing documentation, helping with QA, and coding bug fixes. Open source doesn’t care how old you are. Mozilla, in particular, has been a wonderful and supportive project that my son has been participating in.

One of the ways high school students can get introduced to open source is through the Google Code-In. Each Fall various open source projects create a bunch of tasks they need done. Students participating in the Code-In work on these tasks. Tasks might be things like writing documentation, creating unit tests, working on a web site, you name it.

At the end of the Code-In, the open source projects select the students who made the most and best contributions and those students (and a parent) are flown to San Francisco for a tour of the Googleplex.

Encourage Your Kid and/or Somebody Else’s Kid

Today kids are exposed to computing nearly all day, every day. A small percentage of them will be curious enough to want to learn how it works. You can use some of the tools and resources I’ve listed here to encourage them to dive in and you can get them plugged in to open source and code-learning communities on the Internet so they can dig deeper on their own.

The hardware, software, and network have changed a lot since I was a kid, but one thing hasn’t changed: A wonderful world of discovery and opportunity awaits for young coders.

This week, December 9 – December 15, is Computer Science Education Week. They are encouraging people to spend an hour teaching someone to code. They’ve got tutorials ready to go. All they need is your time!

What tools, resources, or communities has your kids leveraged as they’ve learned to code? How does your local high school’s computer science curriculum differ from this one? Let me know!

Posted in Open Source | Tagged , , | 7 Comments

My takeaways from the Alfresco Summit keynotes

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.

Posted in Alfresco, Alfresco Community, Alfresco Summit | Tagged , , , | 12 Comments

The most well-attended and highest-rated sessions at Alfresco Summit

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:

Top 5 Business Sessions by Attendance (Barcelona)

  1. The NextGen ECM Goes Social, Mobile & Cloud (Hanns Koehler-Kruener)
  2. Alfresco for Salesforce (Jared Ottley, Will Abson)
  3. Share in Action at University of Westminster and iMinds (Multiple speakers)
  4. Putting Content to Work in the Public Sector (Multiple speakers)
  5. The Missing Link: E-Mail-Integrations for Alfresco to Increase Acceptance, Enrich Experience, Enhance Quality & Simply Do Better Work (Hofkens)

And here is the list of the most well-attended business sessions in Boston:

Top 5 Business Sessions by Attendance (Boston)

  1. Getting Users to Adopt the Technology That IT Loves (Multiple speakers)
  2. The Extended Enterprise: The Future is Cloud but Hybrid is Reality (Multiple speakers)
  3. What You Need to Know: Running a Successful Content Management Project (Multiple speakers)
  4. Managing Mobile Content in the Enterprise (Marc Dubresson & Mike Hatfield)
  5. Centralizing and Optimizing All Kinds of Content: Panel on Digital Asset Management (Gauss)

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)

  1. Querying for Metadata (Andy Hind)
  2. *Beating the Benchmarks with a Billion Objects (Robin Bramley)
  3. What’s New in the Bulk File System Import Tool (Peter Monks & Richard McKnight)
  4. *The Share Widget Library (David Draper)
  5. Inspecting Alfresco: Tools & Techniques (Nathan McMinn)
  6. Share Page Creation Live (David Draper)
  7. Alfresco Backup and Recovery Tool: A Real World Backup Solution (Toni de la Fuente)
  8. Getting Started with Alfresco Development (Gethin James)
  9. *What’s Coming in CMIS 1.1 (Greg Melahn)
  10. Enabling Test-Driven, Rapid Dev, & Continuous Delivery of Alfresco Apps (Gabriele Columbro)

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 “*”):

Top 10 Technical Sessions by Attendance (Boston)

  1. Getting Started with Alfresco Development (Ray Gauss)
  2. Alfresco Backup and Recovery Tool: A Real World Backup Solution (Toni de la Fuente)
  3. Inspecting Alfresco: Tools & Techniques (Nathan McMinn)
  4. *Boost Your Productivity with Next Gen BPM Tooling (Joram Barrez)
  5. What’s New in the Bulk File System Import Tool (Peter Monks, Richard McKnight)
  6. Enabling Test-Driven, Rapid Dev, & Continuous Delivery of Alfresco Apps (Gabriele Columbro)
  7. *The Art of the Upgrade (Kyle Adams)
  8. Querying for Metadata (Andy Hind)
  9. *Performance Troubleshooting & Tooling (Romain Guinot)
  10. Share Page Creation Live (David Draper)

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:

Highly-rated Sessions in Barcelona

Highly-rated Sessions in Boston

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.

Posted in Alfresco, Alfresco Summit | Tagged , | 22 Comments

Happy 5th Birthday, Alfresco Developer Guide!

Birthday Cake by Will ClaytonIt 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.

Posted in Alfresco, Alfresco Developer Series | Tagged , , | 10 Comments

Alfresco Community Edition 4.2.e Now Available

Alfresco Community LogoThe 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.

Posted in Alfresco, Alfresco Community | Tagged , | Leave a comment