Trick to Submitting a POST Request with Java DXA 1.7

We had a scenario while building a form on Java DXA 1.7 and tried to have it submit via POST, not GET. We had the form working perfectly via GET, but when we changed the method to POST the response was a 403 Forbidden. We poked in many directions, such as directory security settings and web.xml configs. In the end it was the CSRF configuration built into DXA that was the answer…

Continue reading

TDS 2017 : Was it different than last year?

YES!

Why was it different this year (TDS2017)? And why should I go next year?

This year, as ever, was a festival of information packed presentations with lots of opportunities to network with developers and some customers too. Not only that – Content Bloom were the Diamond Sponsors so it was great to have a strong contingent from our various offices across the globe (including Nova Scotia, New Orleans, Belgium, UK, India, Czech Republic, Ukraine).

So what’s new.

Well, SDL Web 8.5 is new, Translation monitoring for in-workflow items is new, and a whole heap of other stuff was new – see the Agenda for a full list of the presentations (with more videos to follow shortly).

The thing I found quite notable was, what seems to me, a shift in approach. There seemed less of the pure technical presentations showing how to implement something specific and flashing beautiful code on the screen to wow the technical audience.

There seemed to be more discussion on challenges encountered and novel ways of overcoming them – and more importantly – the opportunity to then discuss with peers and the like “was there a better way” and to discuss with representatives from SDL “should we make a better way for the future”.

Technical, of course.

Of course, deep technical dives are still a very important part of the TDS – it’s specifically aimed at technical folks and we’re told they love to see the nuts and bolts of the solutions. Stanislav Kroshchenko from SDL presented a great introduction to a new DXA Forms Module (read more on Mukesh’s blog).

See here for the TDS video; here are time breaks for the different lightning talks:

  • 00:00:00 – 00:12:40 – Siawash Shibani delivered a lightning talk about G4TM (GUI for Topology Manager), “the first alternative UI for SDL Web’s Topology Manager”.
  • 00:14:30 – 00:34:30 – Guus Beltman continued the acronym generation with a very interesting presentation on CG4T (Code Generation 4 Tridion) and also provided a tool for Visual Studio)
  • 00:35:45 – 01:04:00 – Atila Sos, Exlrt, helps those with the situation that they have content mismatches between CM and CD status in “Orphan Delete
  • 01:05:00 – 01:31:00 – Ivan Milosevic, Exlrt, Load Balancing SDL Microservices in Azure

For the second set of lightning talks – here are more time breaks:

 

00:00:00 – 00:11:30 –  Robert Stevenson Legget presented some insightful experiences from “Using Docker with SDL Tridion/Web

00:12:50 – 00:31:00 – Michael Mannhardt from Acrolinx, TDS Drink Sponsors present how their software can be used to automate the creation of content – something they are likely to be looking into more in the future with SDL Languages

For the more design oriented.

Nicholas Whetmore’s presentation and walk-through on “Theming using the theme zip file functionality” went down well. For something that was designed to be quick and easy but hasn’t been received so intuitively once you really want to delve deep into design changes – in addition to being informative, it brought challenges from the crowd with other approaches/issues that they’ve seen.

For the editors.

Damian Jewett provided a great presentation aimed and showing how the technical folks could – with great ease – make the editorial teams’ day to day working with the CMS more pleasurable through the addition of new tools (quickly and easily installed through the Alchemy Framework).

Also, in “An author-centric approach to SDL Web 8“, Chris Summers and Justin Fansler presented some custom interfaces they had worked on and explained how this approach is now much better facilitated with a task-oriented Web API layer exposing the core SDL functionalities.

For those working with clients.

Paul Russell provided a great opportunity for participants to understand what it really takes to work with a client with “Large Scale Releases in Enterprise Environments“. In addition to the expected blood, sweat and tears, he highlighted improving and refining communications; thinking out of the box for some tools, and automating many steps being key.

For those looking to architect new solutions.

The presentation “Where did the servers go?” from Nuno Linhares and Julian Wraith will prove interesting, giving a highlight of the move from physical servers to the cloud environment now to what arising in terms of serverless computing. With this was the obligatory “Web 8.5 – What’s New” which is well documented out there but a great addition here was the lightning talks that showed on extensions for the likes of easier Taxonomy setup or management.

Something coming up is the SDL Unified Delivery Platform (UDP). Discussed in the presentation below, by Ben Middleton, it’s something Content Bloom, with our interest and collaboration in Knowledge Center, have been evaluating with our knowledge center clients! Watch this space!

Translation and workflow both made their way in with a presentation from Jan Horsman and a lightning talk from Mario van der Hoeven-Riesebos. Interestingly, the ensuing discussion from Jan resulted in the agreed creation of the SDL Idea to improve error logging!

Next year – why go again?

Well, it’s the same question anyone’s boss will ask “what’s the benefit for the Company”?

Directly – you’ll be happier, more informed. It’s possible you could even bring back new connections to help your ongoing development or sales and help you stay on top of your game.

Indirectly – you’ll be happier and more informed. The connections you make can be great introductions to start new ideas, seek or offer help for you or your colleagues; the discussions around new and forming technologies can also help ensure your Company as a whole stays aware and relevant.

Perhaps ask your boss why you shouldn’t go, I mean, what’s more important than knowing who’s who, what they’ve done and what they are doing – in your domain?!

DXA’s Golden Image Rule

DXA is a reference Tridion implementation that contains tons of pre-configured rules and automated features.  These features reduce the time to market for simple Tridion-backed websites.   However, there are a few “features” in DXA which are not defined in the documentation and may not be desirable for all sites.  One of these “features” is the fact that DXA will crop any image rendered in an RTF to the Golden Ratio of 1.62.

Some of you might have completed DXA implementations without even realizing that DXA does this, and indeed it took us months before anyone noticed that DXA forces a width/height ratio on images in RTF fields.  We recently attempted to render a tall image only to find that most of the image was cropped away.  We assumed it was a bug that we had introduced somehow but after some digging we found out that this is the desired default DXA behavior (as explained here by Will Price) https://tridion.stackexchange.com/questions/13643/applying-advanced-styles-to-embedded-rtf-images-in-dxa.  All images imbedded into RTF fields are automatically cropped to a ratio of 1.62 (the golden ratio) despite any attributes you give them in the RTF editor.  This was undesirable for our implementation so we decided to fix it.

Luckily, the fix is easy.  To fix this you will have to locate the BaseMediaHelper class within the DXA framework source code.Untitled2

After that, you will need to create a new project with a CustomizedBaseMediaHelper class.  You can then copy all of the guts for this class from the default DXA one but you will need to make one change: the DefaultMediaAspect variable should be set to 0 instead of 1.62.

class

Once you compile the new CustomBaseMediaHelper class and place your new DLL in the bin of your DXA webapp, you just have to point the app to it.

To have the app use your new CustomBaseMediaHelper class you will need to update the following in your Unity.config file:

  1. A reference to your new assembly and namespace needs to be added at the top of the config file.
  2. The <type> element with the attribute type=”IMediaHelper” should be changed to point to the name of your new class instead of the old one.

You may need to refresh your application pool to see the change take effect.  Once all of that is done, your images will be free to fill any dimensions that they please.

Using and debugging DXA (Java) with Web 8.5 on Amazon

So I finally got around to having enough time to set up a Java-based DXA connecting to a Content Service in the Amazon cloud.

It was a fun adventure, to say the least, and most of it is due to my rustiness in Java. I have tried with both Eclipse and IntelliJ Idea, and definitely IntelliJ made it a lot simpler by detecting project dependencies and installing them for me – which actually made it harder to get Eclipse to work, as I hadn’t noticed what it had done.

Anyway – below are the steps I followed to get a local instance of DXA running within Eclipse. As with the .NET install, you need to make sure you have a proper firewall configuration allowing communication between your machine and the CIS, as well as having the right mappings set in Topology Manager (I used the default of “localhost:8080″ for this). I will not cover those steps in this post.

Continue reading

What the RTF!

Summary:

I know time’s precious so let me give you the summary – read on for the rationalisation!

An RTF field is exactly that – a Rich Text Field – it was never intended to facilitate how the combination of text and images are presented across multiple views in different devices; that is what we use CSS, HTML, JS and-the-like for.

Control’s important and should be in the hands of the people with the tool for the job. Tridion is an excellent content management system and affords editors with a multitude of tools to manage content across hundreds (if not thousands) of publications.

Continue reading

How Big Can CMS Infrastructure Get?

How big can a production CMS server get?

The short answer is as big as your blank check allows.

serverInfra

As you add users, workflow, translation, heavy publishing, and lots of opening/changing components, the CMS server size will inevitably increase.

Often times, multiple CM services are all enabled on one large machine for the enterprise, but the downsides of that are when one problem happens, all aspects of your CMS fail with it. Below I show what an infrastructure looks like that handles very large publishing loads and is scalable to add more load. The CMS also handles workflow services and translation integration with World Server.

Continue reading

Improve the Publishing “Experience”

booksSo, you’ve got a release going on and some 20 people are publishing. A few of the editors only have a page or two to publish but some of them then select to publish the whole site and a few have published only whole Structure Groups!

How many of these publish by Structure Group! And, I ask, Why?

Why do it in the first place?

The first answer I hear a lot is

I don’t know exactly what to publish

man-typing-thoughtless

Continue reading