Posts in Category "General"

My BYOD Lab at MAX 2011: Content-Oriented application development using ADEP and Flash Builder.

This year at MAX, I am going to lead a BYOD (Bring Your Own Device) lab. The title of the lab is Content-Oriented Application Development using ADEP and Flash Builder. I know it’s a mouth full of a title, so here’s a simple description of what this lab will cover.

There are two technology parts to the session:

  • ADEP’s Web Experience Management Solution: With the acquisition of Day software, Adobe has re branded and packaged the CQ5 web content management product into the ADEP offering and is now known as Web Experience Management Solution. We will leverage this solution in the lab as a best in class platform for managing web content in a JCR (Java Content Repository). We will take this concept to the next level by not just managing web content, but also managing application functionality. Using an intuitive and fun to use web-based authoring environment, content owners and application specialists are able to publish new content without having to rely on IT. This leaves IT with the ability to focus on more pressing development projects.
  • Flash Builder 4.5.1: We will use Flash Builder to create a mobile application that queries the ADEP content repository for information that should be displayed within the application. We will learn how to parse the result using JCR APis and easily render the content to screen. While this is cool, You’ll really be blown away as we use a very similar approach to use content defined in the content repository to control what views are displayed in the mobile application.

By using this content-driven application development approach for mobile, you will now have the ability to enable content owners and application specialists to manage defined parts of your mobile apps without having to recompile code and re-distribute the apps to the various application stores!

Here is a recording I made that showcases what we will be building, check it out.

If you have not registered for this session, WHAT ARE YOU WAITING FOR? :o)




How to configure white list for the new CSRF filter in ADEP


Today, I installed the latest build of the Adobe Digital Enterprise Platform (ADEP) on one of my servers. I remotely administer this server – so once the installation was complete, the first thing I wanted to do is access the administration ui (adminui) using my browser to perform additional configurations. The URL is http:<fully_qualified_server_name>:8080/adminui. To my surprise, I received a denied access message when I attempted to log in. If I used the browser on the same server I just installed ADEP, it worked fine. I know what you are thinking… firewall blocking the port right? Nope. I have used this server for previous versions of LiveCycle ES and had opened port 8080 previously. Furthermore, if I used the server’s IP address, I could successfully access adminui. Now that’s a head scratcher! Let’s see what the application server log file has to say:

2011-08-05 12:32:08,898 WARNING [] (http- Blocked request for resource:/adminui/login.faces due to invalid referer:http://<fully_qualified_server_name>:8080/adminui/login.faces. More information is available at

What’s this CSRFFilter thing??? After a little digging I found out that in ADEP we have implemented a Cross Site Request Forgery (CSRF) defense filter. The ADEP CSRFFilter ensures that ADEP resources or URIs such as /adminui and /workspace can only be accessed through predefined referers (address of the source page requesting access to the resource). The goal is to prevent malicious requests riding piggy back on an authenticated browser session. During the installation process of ADEP, specifically in Configuration Manager, there is a system bootstrapping process that occurs. During this process, the ADEP document server determines the fully qualified host name of the server you are installing on and adds it (as well as IP address and localhost references) to the whitelist automatically. In ADEP, you can access the whitelist configuration page by logging into adminui and navigating to: Settings > User Management > Configuration > Configure Allowed Referer URL’s.

Why did it not work for me then? If the host name is automatically added to the whitelist, why was my request denied? The issue was actually cause by how the Windows machine name and domain configuration is set when I joined the corporate domain. The domain I joined was (I’ll leave out actual details to be sure the IT guys don’t hunt me down), which means that the fully qualified name is which is what was automatically added to the whitelist during the bootstrap process. Here’s the rub… The way the network is setup at Adobe, that’s not the domain name we use in a URL to access our servers. The suffix we use is, so I would hit my server with which of course is NOT in the whitelist. To correctly configure my ADEP server, I simply added that qualified server name to the whitelist and restart the application server. Yes, a restart of the application is required for the change to take effect. In case I forgot to mention it, remember to restart the application server :o). As I am sure you can tell, I did forget.

I doubt many people will run into this anomaly, but better be on the safe side.

Context is King!


Last week in Washington DC, we began the first in a series of training events for our technical sales field. We delivered quite a few sessions on our upcoming release of Adobe Digital Enterprise Platform (ADEP) as well as some sessions on user experience. One of the things that struck me throughout the event is the divergence of perspective when looking at Customer Experience Management.

On one end of the spectrum, you have the warlords of enterprise transactions. This group of people are desperately hanging on to the database transaction-driven development approach. I found an interesting post by Dennis Howlett that kind of reflects this perspective – Enterprise 2.0: It’s not about people it’s about the process. For them, transaction is king. The reward is in the elegance of the back-office integration while the user experience is a secondary concern. At the other end of the spectrum, we have the "user experience (UX) needs to take over the enterprise" society. For this group, the consumerization of IT is the mantra. Designing the ultimate experience is the catalyst for making enterprise applications bearable at a minimum. Of course, I am being a little excessive. For them, content is king. Success is defined by making content (be it a form, text or digital asset) intuitive and fun to interact with. What happens when these two groups "collide" on a project? Tension, conflict, miscommunication and turf wars.

For Customer Experience Management, I truly believe that neither transaction nor content is king – context is king! With the explosion of devices such as smart phones and tablets, an additional dimension has been added to the complexity of enterprise application development. Earlier this summer, Christophe Coenraets and I were talking about this new application paradigm as it applies to mobile. We discussed how the decision matrix is no longer just two dimensional by representing static vs dynamic on the x axis and then single vs multi-channel  on the y axis as shown below (the dots represent the many combinations of where enterprise applications may find themselves).

In fact, the decision matrix that is now facing enterprise application developers has a third dimension – context. As we mobilize our digital world, people have a reasonable expectation that enterprises have the ability to keep track of their individual context. If I access a website to do some research on a particular product or service, I fully expect that when I access that same organization’s mobile application that they will know what interests me and tailor the experience with that information in mind. And if I walk into a store or branch, the customer facing employee should also have access to that information to deliver the best experience possible.

It’s no longer enough for organizations to simply focus in whiz-bang UX for the web or focus on a seamless transaction into the IT backbone. Customer Experience Management  – specifically Adobe CEM – transcends the single points of contact. It is all about embracing the diversity of customer interactions while removing the burden of context from the customer and placing it where it belongs, in the application tier. Yes, context is in fact king.

This is why I am so excited about the Adobe Digital Enterprise Platform. Having a single platform that provides a shared context and a shared repository while providing the experience and document services required to build this next generation of enterprise applications, enables developers to meet this new challenge and still keep all their hair (or whatever is left of it in my case) in place.

Adobe acquires Day Software

Today, Adobe announced the acquisition of Day software. With this acquisition, Adobe will expand its enterprise software portfolio by adding Web Content Management (WCM). You can read the press release on Also, you can read Rob Tarkoff’s thoughts on our enterprise blog.

Interesting article on HTML 5 and Flash

I just read an interesting article posted by Greg Wilson about the current debate about Flash and HTML 5. While I understand the widespread excitement about something new happening in the world of HTML (it’s been a long time coming), I am surprised by the amount of noise around how HTML 5 will be the Flash killer.  Seriously?!?! I know it’s been a long time since HTML 4, but have we all forgotten the issues around browser fragmentation and compatibility issues? With newer browsers like Chrome in addition to the fragmentation of versions of IE and Firefox for example just screams of managing multiple implementations.

Don’t get me wrong, I truly believe that HTML 5 is a great thing. The more you commoditize features, the more vendors like Adobe have to innovate. Everyone wins. HTML 5 and Flash go hand in hand like HTML 4 and Flash do today. I especially like Greg’s analogy of using Flash to replace all your <IMG/> tags. That is absurd. Just as absurd as thinking that HTML 5 will provide everything Flash can do consistently across browsers and OSes.

My Sessions at MAX 2010

Again this year, I will be presenting at MAX. In addition to the regular track sessions, I have signed up to host a full day pre-conference session called “Creating Enterprise RIAs: From Design to Implementation”. For the past few months, I have been running Adobe Enterprise Developer Days where we take a look at the new possibilities that are now available with the release of CS5. Using a new comer to the CS lineup – Catalyst, we can now bridge the gap between the visual designers and application developers. Catalyst is able to import visual assets from other CS tools such as Photoshop and Illustrator. Once the visual assets are imported, Catalyst can then be used to convert artwork into components – while maintaining visual fidelity!!!!


During these Adobe Enterprise Developer Days, I have been demonstrating how you can take a Photoshop PSD file with multiple layers into Catalyst and actually build a functional prototype. I won’t go into all the features here, but for a sneak peak, check out this recording of Kevin Lynch demonstrating Catalyst at the Web 2.0 conference.

Once all the interactivity is defined in Catalyst, I then import the project into Flash Builder 4. Using a wicked cool plug-in that the LiveCycle ES team has created – The LiveCycle Services Discovery Plug-in for Flash Builder, I can then wire up the project to real enterprise-class services. Trust me, this is a jaw dropper!!! And this is the reason I have agreed to do a full day pre-conference session at MAX this year. The ability to bridge the gap between the visual designers that can deliver on the requirements of usability and experience and the application developers that need to translate them into back-end transactions is invaluable. 

The other session I will be hosting is called “LiveCycle Data Services in the Cloud”. For a while now, Adobe has been working closely with Amazon’s EC2 offering to provide hosted services for our enterprise software. LiveCycle ES has been the first product line to embrace this approach. For over a year now, we have made available to our Adobe Enterprise Developer Program members as a benefit to their membership. is basically a provisioning system to enable EADP members to launch and manage their own instance of LiveCycle ES in the cloud. We have evolved this offering to support customers that whish to use LiveCycle ES in the cloud in production as a single-tenant system.  We launched Adobe LiveCycle Managed Services in January 2010. As this new offering is taking off, it just makes sense to extend the reach to LiveCycle Data Services. During my BYOL (Bring Your Own Laptop) session, I will walk through how to launch your own LCDS instance in the cloud and start building enterprise-class applications that leverage the hosted instance.

Make sure you sign up now at !


Breaking News from MAX

image We are just finishing up the first official day of MAX 2009. So far the LiveCycle ES sessions have been going very well. The pre-conference session held on Saturday and Sunday had over 70 people in the room. I was tearing up watching so many people using Workbench 🙂

We keynote on day 1 was very exciting. Not only did we announce LiveCycle ES2  and it’s availability by the end of this year (finally, I will be able to publicly blog about all the amazing new stuff in ES2) – we also announced the availability of LiveCycle Workspace ES2 for mobile. This app will enable you to access your process management tasks from your BlackBerry, Windows Mobile and iPhone devices. Read more on Matt MacKenzie’s blog. Another cool fact about this mobile application is that it is the very first Adobe application to make it on the iPhone AppStore!!! SWEET.

Adobe to acquire Omniture

Today, Adobe announced that it will be acquiring Omniture. To find out more, click here.

Marcel’s follower appreciation MAX 2009 discount promotion

CashWith MAX 2009 around the corner, you better make sure that you are registered and pumped for all the awesome enterprise sessions we will be offering this year. If you are not yet registered, then what are you waiting for? a promo code??? Fine! if that’s what it takes, that’s what we’ll do!

The first 25 people that send me an email at between August 31st and September 4th and I will supply you with a promo code that you can use to save some of your hard earned money and attend MAX 2009 in Los Angeles.  This offer is for new full pass registrations only and cannot be combined with any other promotion, package or offer.

I can’t make it any easier  🙂

Some Enterprise Software Reminders…

There is a lot of stuff happening at Adobe in the enterprise space, so I thought that a little reminder of what’s available to our community of enterprise developers would be a good idea.

MAX 2009

This year, there is a true focus on the enterprise space. We have put a lot of effort to define and develop a truly valuable session track that will cater to the intermediate / advanced audience. For those of you that are beginners or want an guided tour of the next release of LiveCycle ES, we also have a pre-conference track focused on training. This will ensure that everyone is at the required level to take full advantage of the sessions we have defined during the conference. We even have a LiveCycle@MAX bundle available.

LiveCycle ES Next

Don’t forget about the LiveCycle ES Next prerelease program that is in progress. If you have not had a look at the next version, I strongly recommend that you do. I have to admit that after using the new version, it pains me to go back to the current release. The improvements that have been made around the development experience are tremendous. Workbench is quickly becoming a best in class enterprise application IDE. The installation and configuration experience is effortless.

We have some exciting contests under way as well. Take the time to log a few bugs and win a free copy of Acrobat Professional Extended. Or build a cool application and enter to win a free pass to MAX 2009. All of the details are available on the site.

LiveCycle Data Services 3

LiveCycle Data Services 3 also posted on introduces a set of very compelling features. the least of which is a new technology code-named “Fiber” which provides the ability to create model-driven applications. The Adobe Common Data Model will allow developers to declaratively define a data model that will contain more than just structure and simple constraints. Within the data model you will be able to define business logic, variants, rules, etc. The very powerful approach will dramatically reduce development time while truly enable developers to separate data from presentation. 

ColdFusion 9 And Flash Builder 4

Previews of the next generation of ColdFusion and Flash Builder are still available on There are some very compelling reasons to check these out as well. ColdFusion 9 introduces many new features – a new Eclipse-based IDE (Bolt), turn your CFCs into services, integrate your CF applications with Exchange, etc.

Flash Builder 4 is also got some game… Enabling Flash Catalyst workflows by introducing a new component model called “Spark”, service discovery with auto-code generation, network monitor so that you can see what’s being sent and received by your Flash applications, etc. You will also need Flash Builder 4 if you want to have a look at the new Adobe Common Data Model introduced by LC Data Services 3.