Today we'll talk about application design that simplifies the process of creating new content for end users, by carefully choosing the best way to do it. For example, should new content go in a very specific final folder on a complex tree, a temporary import folder or somewhere else? The best option will depend on the use case; adapting to many possible situations is something the Nuxeo Platform is strong at! Let's go over a few solutions and discuss them.
Create Content Directly Into a Target Folder
The first and obvious solution is whatever tree folder you have, you go to your target folder and create the content in that folder. We are very close to the good old file system logic: my content needs to go somewhere, so let's put it where it should go and it will be available to the right people right away!
But...how often have you wondered where that document really belongs? And what if you want to import it into the system but still work on it before releasing it to the others? And, here is perhaps the most problematic case: What if the contributor is not allowed to browse the tree (perhaps they are an external contributor)? Our simple and obvious model does not work quite so simply after all!
Here are a few examples where I think that this solution still makes sense:
- Simple application: Don't over complicate things when you don't have to and let your user put their content wherever they want. Sometimes it's just what they need.
- Very structured process: Users are well trained, they create content every day and know exactly where to go and put that content.
Let's see now how we can handle other situations.
Create Content into a Generic Import Folder
I see this approach more often in the Digital Asset Management (DAM) world. External contributors often must push a lot of content, take some time to enter the metadata that cannot be extracted automatically, and then submit their work. Everyone creates content in the same easy-to-find Import folder. Permissions are set automatically so contributors cannot see each others work, but power users can have a preview of what's coming.
I like this solution because there is no hesitation as to where to put the content in the first place. It's also a good way to work with external users that have restricted access. This solution also helps to manage importing very large files, as you can set up the Nuxeo Platform to import everything that comes into a "hot folder" that can be contributed to via FTP, for instance.
However, there are still a few drawbacks. Content needs to be reviewed. It can't just stay here; someone must step in, review the content and file it in the right place (even if the latter can easily be automated using Nuxeo Automation). Very often people submit contents and assets for a reason; most probably because someone asked them to. You'll want to keep track of that, and perhaps also review several assets related to each other. In that case, why not create a folder kind of object that can handle all of this - something like a Work Order for instance? This brings us to the next option.
Create Content into a Work Order (or Similar)
This is one of the best solutions when you need to assign creative work to someone. The idea is to create a Work Order document type (Nuxeo Studio, our configuration tool, is the best way to go for it). The Work Order holds the required information, such as a briefing note or a due date, but it's also a folder that will receive all the assets to be reviewed.
With this solution, the state of each order is easy to follow. Each individual asset can have its own workflow, but is still linked to the assets of that same batch. Auditing, reporting, and follow up is facilitated. Once the creative process is completed, validated assets can even be moved and shared into folders that are more related to their content (a link to the Work Order can be kept for history). I prefer this solution when there is a clear distinction between the creation process and the tree folder of the validated assets afterwards.
Here is what a Work Order can look like with Studio configuration. We are using foldable containers here so that important information is visible right away (like the notes of the Work Order) while all other information is still just a click away.
In the end, depending on the use case of course, I really like this solution. By putting the Nuxeo Platform and Nuxeo Studio flexibility into good use, the business process is at the center of the application, which simplifies content creation and review.
Tell us what you think about the different solutions presented here. What is your favorite? Do you have a use case that does not fit in? Leave your feedback in the comments below or come talk to us, we'd love to discuss it!