Category Archives: Content Management

Software is hard

Most people who know me know that I spent large parts of my twenties and early thirties in various Arctic and Alpine locations around the world. If it’s cold and remote (and not Russia) there’s a good chance I’ve been there. Life in these areas often involves helicopters, small aircraft, snow machines, power equipment, shotguns, 30-06 rifles, chainsaws, and other noisy things.

Which means that today I am blessed with significantly damaged hearing along with my other superpower of being able to predict upcoming rain and snow. Last year I finally got my hearing tested and decided to address the issue (thanks to Kim and Steve D for the push). Over the counter hearing aids have only recently been available in the US and I did all the research and took the plunge first with Eargo 7s and then with Eargo SEs after I was unable to get a good fit with the former.

Which leads to my point – making in-ear medical devices is hard and I am in awe of the engineering that has gone into these. But devices like this require integration with a tuning app and ongoing fixes and updates (like all software / hardware couplings). Here’s where things get tough – I’m currently on my third set of Eargos and each time the issue has been that updates have failed and basically bricked the hardware or prevented it from working as designed.

I think in many ways it’s a similar situation to the software and OTA update capabilities in modern cars. Renting cars has shown me the many different ways that manufacturers can break and degrade Apple Car Play, and manufacturers’ own UIs are almost universally worse than Apple or Google’s. Special shout out to the awful Mercedes MBUX which apparently has the ability to integrate with CarPlay but hides that so efficiently that I have only ever found it by accident.

I am very curious to try out Apple’s new AirPods Pro 2 hearing health enhancements because I believe that Apple have the ability to manage software and updates effectively – something that medical hardware and vehicle manufacturers could learn from.

Why I changed my mind about the cloud

I was very skeptical about cloud deployments for quite a while. I had seen the failed promise of application service providers (ASPs) and virtual desktops in the late 1990s and early 2000s and was very cautious about committing our company’s or our clients’ most sensitive data to “computers that belong to someone else”.

What changed my mind? I think it was primarily security and management and I remember being at an AIIM meeting in NYC (at the Hotel Pennsylvania, across 7th from Penn Station and MSG) and the speaker asking people if they thought their own security people were as good as those that Amazon and Microsoft could attract. Like all good scientists, I knew to re-examine my assumptions and conclusions when faced with new data and that comment really resonated with me.

I thought about where the vulnerabilities and issues were with self-hosted systems. How their ongoing stability often relied on heroic efforts from overworked and underpaid people. How I had started my tech career at a 2000-era dotcom and had been the manager of the team desperately trying to scale for growth, manage security and also fix email and phone issues in the office. I remembered the ops manager at doubleclick (when they were based at the original skyrink building in Chelsea) telling me how they treated their commodity servers to reboot after an error, then a reimage, then straight to the dumpster if that didn’t fix it – the earliest instance I had come across of treating servers “like cattle not pets”.

Over time, my thinking changed and I now think that cloud server deployment is the best solution for almost all use cases. We’ve deployed complete cloud solutions for ministry clients in NZ on private cloud engineered systems and on government cloud virtual servers. TEAM IM moved all of our internal systems to the cloud and gave up our data center 6 or 7 years ago – now everything is Azure, AWS, or Oracle Cloud.

Is it right for everyone? No; here are some examples I’ve encountered where it is not:

  • Insurance client that does 40+ data validations against internal (AS400) systems with every process
  • National security client managing extremely secure archival data in house (although that may change in the future)
  • Oil exploration company deploying to remote sites with very limited bandwidth (although we did some backend sync nightly).

But for most of you? Can you hire better engineers and security staff than Microsoft or Amazon? Can you afford to deploy servers around the world in different data centers? Can you afford to have additional compute and storage capacity sitting in racks ready to go? Do you operate in an environment where connectivity is ubiquitous and (relatively) cheap and fast?

Rethink your assumptions and biases. Change your mind when presented with new data. Make the best decision for your organization or clients. Good luck!

Alfresco integration with Salesforce

Back to meat and potatoes – or their vegetarian equivalent in my case.

We are working with a client to deploy Alfresco One as a content and records management platform for their business.  An important requirement is that we be able to integrate with Salesforce as that’s where their contracts are currently stored as attachments and where their workflow exists.  During the scoping process we knew that Alfresco had created a Salesforce integration app that was available on AppExchange.

However, there are some limitations and “gotchas” that are good to know about  when designing a solution around this integration.

  1. The integration is only supported for my.alfresco hybrid cloud integration.  This is driven by Salesforce’s security requirements.  If you have an on-prem or hosted Alfresco installation you will need to synchronize with the cloud extranet.
  2. The integration is really designed to be initiated from the Alfresco end rather than (as in our case) putting attachments from Salesforce into Alfresco.  The developers at Alfresco have been very helpful in giving us guidance on how to work with this, but understanding this “normal flow” would have helped us earlier in the process. Learn from my mistake!
  3. All the content from Salesforce is put into a single “attachments” folder in a single site. However, if the SF record has an account record as parent record it becomes the root for that structure and then each object becomes a child of that folder.  For example: Attachments ->ClientA->OpportunityZ                                       Attachments ->ClientB->CaseY
  4. You can use Alfresco rules to move content around if it makes better sense in your existing organization because nodes are tracked no matter where the files are moved to.
  5. All the content in the SF site will have common security, so you will have to assign security to content.  Again, the integration is built from the PoV that content is initiated in Alfresco, synced to the cloud, and from there to SF. If you are reversing that flow, things become WAY more complex.
  6. The current release of the Alfresco integration app only supports a default set of metadata for Accounts, Opportunities, Contracts, and Cases – these need to be mapped to Alfresco properties. However, we hear that there may be support for custom metadata in the next release.

Overall the integration is great if you are following the use case it was designed to address.  The documentation is good, installation is easy, and the developers have been helpful and responsive to questions. But we may need to look at other ways to extract the existing content and populate our Alfresco repository.  I’m currently looking at Data Loader as a tool to extract existing objects for import into the Alfresco instance.

(Thanks to Jon Chartrand, Jared Ottley, and Greg Melahn for their help in gaining this insight – all mistakes are mine)

Corporate Scar Tissue

A couple of weeks after monktoberfest, there are a number of ideas that have stuck with me (along with the Stillwater Once in a Lifetime and the LoverBeer BeerBera).

The first is the concept of corporate scar tissue that Adrian Cockcroft brought up.  Complex rules, procedures, and processes that we all chafe against when dealing with large organizations have evolved as responses to previous injuries  in the same way that scars record past injuries on a person or animal.  So they are there for a reason, but mostly to record what not to do, and to prevent against recurrence of identical bad situations.

I found it a useful analogy, because all too often these frustrating rules and processes seem to have been designed to inhibit efficiency and progress (and even if they weren’t designed that way, that’s their net effect).  You could say the same thing about the vast majority of laws in any country, too – always drafted to prevent the recurrence of a past issue; almost never looking forward in anticipation.

I’m currently working with a client on an information governance project and using this analogy helped them to see that their rules on retention were almost entirely focussed on addressing bad things that had happened in the past.  Our job is to look forward to try and reduce the future development of more inflexible and painful hypertrophic scars or keloids; instead we should develop robust, flexible, pro-active ways to avoid future injuries (while remembering what caused the old ones).

Dishonesty in business – a crisis of late capitalism?

Cross-posted from my personal blog, because I think it’s very applicable to tech and I plan on exploring this in more depth in the future.

After my latest experience of being lied to and misled by a business (Chase credit cards this time) I reflected on the peculiar pathology that seems to be all around us.  A certain subset of businesses (usually the larger ones, but not always) have chosen not to compete for customers and revenue through developing better products and service, but instead have made the choice to grow revenue through deception and cheating.

Everyone reading this will be able to think of numerous recent examples – the landlord who dishonestly kept the security deposit, the cable or phone company who “mistakenly” charged you extra for months (it’s funny how these “mistakes are *never* in the consumers’ favor), the car or software salesperson who lied about what their product could do or disparaged the competition unfairly, the bank that chose to extract the payments before applying the deposits and then charged you multiple times, etc. etc.

I’m an honest and straightforward person. Although (because?) I have no religion, I have a very strong sense of morality and ethics and thus it’s hard for me to get into the mindset of the liars and cheats around us.  But time goes on and you become cynical and jaded – this offer is too good to be true, those claims can’t be valid – and generally you are right.

The ubiquity of this dishonesty in business suggests it’s a deliberate policy.  Lack of enforcement in most societies has educated white-collar criminals that their risk is low compared to regular criminals on whom far more resources are focused. I would consider the upper and middle management at Bank of America, Comcast, or Hertz to be as much white-collar criminals (although to a lesser extent) as the crooks who fixed the LIBOR rate or bankrupted Lehman.

It’s also odd, because in some aspects society is in a golden age of discovery and business growth.  Etsy and Kickstarter facilitate small craft and product development businesses; Tesla has successfully started the electric car revolution; Apple, Google, Microsoft, Blackberry, Citrix, and Cisco (and many others) have successfully unchained many workers from the cubicle and daily commute; Amazon and AliBaba allow people to live outside big cities and still have access to an enormous array of goods and supplies; ZipCar allows people to live in big cities and not own a car that sits unused most of the time; etc.

At the other extreme, the legacy businesses – banks, airlines, cable companies, property management companies, car companies (for example) – have by and large chosen not to innovate or create and instead to gouge their customers to improve their bottom lines.  Maybe in this current business climate there’s no viable way to keep United afloat other than fucking over their frequent and infrequent travelers through endless fees, charges, and erosion of service and benefits? Maybe the whole banking system operates on such small margins that BoA (and all of the rest) have to charge 12-23% interest on credit cards, while paying 0.03% on savings? Perhaps the only way GM and Ford dealers can compete with Tesla is by preventing Tesla from selling cars in that state?

I wish I knew what to do about this.  It’s just depressing, really, and I call it a crisis of capitalism because this certainly doesn’t feel like the operation of a rational market.  I don’t think it’s THE crisis of capitalism, and I suspect that as more and more people recognize what’s going on they will pressure their elected politicians to do something and eventually there may be a little more semblance of oversight and enforcement.  Of course that is tougher to do when politicians in the US and UK are primarily funded by the beneficiaries of this broken system – but I don’t think I can give up on both democracy and capitalism in the same week.

New features in Alfresco 5.0 Enterprise

Alfresco Summit was last week in San Francisco and there were quite a few interesting announcements timed to coincide with the show.  There was the news that Alfresco had raised another $45M to continue the expansion and “SaaS-ification of the content market” (seriously?).  I’m not at all interested in that apart from the fact that it means Alfresco will be around in the medium term to develop and update the suite. I’m outraged by the bastardization of the language in that quote above, but I’ll let that go for now.

There was less press hoopla about the new features in Alfresco 5, although those were covered more in various twitter feeds from the show.  Maybe official press releases are just for marketing fluff and actual technical stuff is covered elsewhere?

As far as I can tell, the new functionality listed here for Alfresco Community 5.0 is what is also in Enterprise 5.0 – but if I’m wrong I hope someone will correct me.  The main areas called out as new are:

The press release also talks about improvements in reporting and analytics, encryption, scalability, etc., but I’ll wait until we get more details to cover those.

I’ll be starting a new project next month in which we deploy Alfresco on AWS as an information governance solution, so I’ll be looking forward to digging into these capabilities in more detail and I will report on my impressions here.

Fascinating – insight into Larry Ellison’s early career at Oracle

I tweeted this – but for those of you who don’t follow me or are not on twitter here’s the link.

Some choice quotes:

  • “Larry always had a 10-year technical vision that he could draw on the whiteboard or spin like a yarn.  It wasn’t always perfect, but it was way more right than wrong…”
  • “I remember a brilliant young programmer whom Larry allowed to live anywhere he wanted in the US or Canada, didn’t care about hours, where he was or any of that stuff. We just got him a network connection and that was it. This was unheard of back then…”
  • “Lessons Learned
    Great entrepreneurial DNA is comprised of leadership; technological vision; frugality; and the desire to succeed.”

It’s a quick read, but fascinating.

 

WebCenter on Exalogic and Exadata

There’s currently a lot of interest in moving virtualized environments to Oracle’s engineered systems.  This is partly because they are good systems and, for organizations that can use their capabilities, provide good value for money and high performance. Partly because Oracle licensing makes it tough to virtualize cost-effectively on other platforms (looking at you, VMware). And partly because Oracle sales people are extremely motivated to sell hardware along with software.

Unfortunately, though, there is still a lot of confusion about how this might impact deployment of WebCenter on these engineered systems.  Here are a few scenarios you may come across and how to deal with them.

  • Exadata (or Database Appliance) – no impact at all from an installation point of view.  The database is still just a database from the application’s point of view and will continue to connect via jdbc.
  • Exalogic with native OEL – this is a rare configuration, but Exalogic does support install of OEL natively on compute nodes.  In this case there is no difference to installing on any other Linux OS.  Assume (and ensure) networking is handled by the Exalogic administrator because that is where the issues may arise.
  • Exalogic with virtualized compute nodes – the most common deployment.  Thestandard/supported approach is to install all the WebCenter components on virtual OEL servers as usual.  Installation of WebLogic and WebCenter on Elastic Cloud (Exalogic) is exactly the same as on a regular server. Networking can be challenging when configuring virtual environments on Exalogic, so be sure that is all worked out ahead of time. Domain configuration and data stores should be on the ZFS storage appliance.

A major value add for Exalogic is the optimization for WebLogic that is designed into the system.  All of these optimizations have to be configured on a domain or server basis, though, they are not OOTB. This is a good resource for working through the optimizations.

Larry stepping aside at Oracle?

A shock announcement from Oracle yesterday that Larry Ellison will be stepping aside as CEO to a new position as CTO, with Safra Catz and Mark Hurd stepping into the new co-CEO roles.  BUT, Larry was also named executive chairman of the board – so Larry will report to Mark and Safra who report to the board of which Larry is chair.

As a former Oracle employee, Larry’s presence always loomed large at the company in a way that Safra or Charles Philips  did not (I pre-dated Mark).  I’ve always respected the guy because I admire someone who grew up  poor as the child of a single mother and had the vision and tenacity to grow such a huge company from nothing.  I have never met him face to face, but people I know who have reported that he is very, very sharp technically and had a grasp of detail even when he was running this behemoth of a company.

Mark Hurd, on the other hand, is almost universally described as a spreadsheet-driven bean counter and was widely loathed at HP when he was there. A friend of mine was in an HP office in London when the news came via email that Hurd had resigned and described the celebration and joy that greeted that news.  I don’t know much about Safra Catz other than she is seen to be efficient and somewhat scary (although there may be some sexism colouring that viewpoint).

Over a few beers with friends earlier in the year, we came up with the idea that Oracle would merge with Salesforce at some point and put Marc Benioff in the CEO seat of the combined company.  I see more  charismatic leadership style from Marc than from Safra or Mark – but maybe the latter will grow into their roles as Tim Cook has at Apple.  And there’s still time for Oracle and SFDC to merge – seems like almost everyone at SFDC used to work at Oracle anyway.

FWIW – here is what Marc Benioff had to say:

beniioff copy