Alfresco just released an early version of 5.1 Community including a graphic tool to model your content model. This release doesn't include only that, but it's the part that I was the most interested by. You can find the complete release note, here: https://wiki.alfresco.com/wiki/Alfresco_Community_Edition_EA_201508_Release_Notes.
After I installed this version on a new VM, I was able to start my test. The feature to create new custom models is easy to find in the "Admin tools" section:
I decided to create a very simple simple about invoices. So, I just had to fill some required information about my model:
Then, I clicked on my newly created model, and I was able to add new types and aspects:
To create a new type, you'll need to fill the name, to select the parent type and optionally to fill a label and a description. For an aspect, it's almost the same except that you need to select a parent aspect, instead of a parent type.
Then, you can click on your new type or aspect, and you'll be able to create new properties. For each property, you'll need to define a name, a display label, a type... You are even able to define your constraints. So, if you pick "Constraint" equals "List of Values", you'll be able to enter the list of allowed values. It's possible as well to specify how this new property will be indexed. You'll notice that the list of options will vary depending of the type of your property.
When your model is created, you can just activate it and it will be directly available. There is no need to restart your Alfresco instance. An interesting feature is that you can download your newly designed module. It will download an XML file that matches the syntax that you are used to if you already defined custom model manually.
But, it's not finished! For each aspect and type, you have an action called "Layout Designer":
It will open a new page where you can design your edit and view forms. Below, I just created a simple form with 2 panels. For each panel and property, you can easily change the design of your form.
After created my model, activated it, and designed my forms, I created a new site in Share and added some rules. I uploaded a PDF file and it worked perfectly:
This tool is really interesting, I was able to design my model, and to make it available in few minutes. The Alfresco team did a very good job! The only feature that I didn't find is how to make an aspect mandatory for my custom type.