Alfresco share customization in out of the box modules - alfresco

I am new to alfresco (community) and I want to make some basic customization in alfresco's out of the box modules,Discussion module,specifically I want to add some new fields in it and that should be reflect in database of alfresco.
As first step I configured alfresco maven SDK?
And is it possible with Maven SDK or I have to go for any other programming model.
I want a new field in this form..

I think that you don't need SDK, try to use Alfresco Model Manager:
Content modeling with Model Manager - intro
This video shows you how to create models in Alfresco

Have you tried creating a rule that would add the classifiable aspect to topics when they are created? That would be the most straightforward way to go.
If that doesn't work you can always just create your own aspect with a custom property. The property can be defined in the content model to have a constraint if your list of categories is hard-coded.
Once you've defined your property in the content model, you'll need to add the aspect to topics. You can do that with a rule, or you can write a Java-based behavior to add it.
With that in place you should be able to edit your Share form configuration to expose the new property as a dropdown.

Related

Alfresco evaluator to get all documents not in a workflow

I'm quite new to Alfresco, pardon my imprecise question.
I have an Alfresco version 5.2.4, with share.
I have a custom action on documents I can call with a button inside document details page, but this button needs to be visible only when that document is not inside a custom workflow I created.
Can I do that with an evaluator? If so, how? Have I to add some custom property to the document model?
Thanks to all
I found the answer, I should just use
evaluator.doclib.indicator.activeWorkflows
basic type

Create Alfresco Content Types using a UI

I am just starting out with Alfresco and am interested in creating content types that are specific to my business needs. From what I have read so far, I can do this by creating an XML file that defines a content type and then creating an AMP to customise Share to handle my new content type.
But Drupal, another CMS, allows you to create a content type using it's UI without having to write or deploy any code.
Is there a similar feature in Alfresco that will allow an admin to create a content type using a UI?
There aren't a lot of options, but there is one addon:
beCGP designer
I would also strongly suggest reading Jeff Potts' tutorial on working with custom content types
Here is another interesting Alfresco Form & Model Management tool:
https://code.google.com/p/alfresco-form-model-management/

Setup Alfresco to, upon upload, automatically set a custom content model and bring up aspect management

So I'm working on a project with pretty specific client requirements. The want a document that, once uploaded, is automatically given a custom content model (which I've already made) and then, immediately after upload, allow the user to select aspects to add to it. If the user cancels out of the aspect selection, the document needs to be deleted.
We have a full Maven space setup for alfresco and share development and have our standard-document.xml in alfresco/src/main/resource/alfrescco/extension/model.
The question I have is, where in my share environment do I start working on this process? Would it be best to make a custom dashlet that deals with the upload process, or is there some class or function I can rewire within the Slingshot/Spring Application Context. I couldn't find any existing plugins or share amp files that I could use as a reference. Is there anything out there that currently has something similar to this functionality?
I guess you're using Alfresco's Share client, right?
you'll have to have to tweak Share's JavaScript components:
add a custom flag to "metadataRefresh" event object that is fired in x-upload.js
tweak handling of "metadataRefresh" event in documentlist.js to call the relevant action
it's gonna be a though JavaScript implementation task.

What's a Non-Delivery Custom Renderer?

SDL Live Content describes the use case for Renderers as "manipulating the output produced by the rendering process" for Component Presentations. This falls between Content Manager and Content Delivery, specifically under Content Distribution / Publishing.
Rather than adding a Template Building Block (TBB) to all templates, we can use a custom renderer to "globally" change all CP's output. We can also use a renderer to publish item types not currently rendered. We can add a custom resolver for this item type along with a custom renderer and CD-side code.
We would implement IRenderer under Tridion.ContentManager.Publishing.Rendering in a .NET project and add the resulting dll to the CMS's GAC.
Questions
I can see how we would use a renderer to maybe manipulate or even wrap all outputted markup or maybe wrap all CPs.
Is this for "raw" manipulation of whatever our templates output? In other words, do we get access to any of the CM or CD APIs?
Does this renderer logic apply to all publications and templates in a given CMS instance?
The documentation refers to item types, are those Tridion item types such as TBBs?
Bart Koopman also describes how Custom Renderers work in the context of the other extension points in How To Tackle Integrations article on SDLTridionWorld.
I understand is distinct from Delivery-Side Renderers described by Jaime Santos Alcón?
This is indeed something that would be executed every time the standard renderer is invoked. While the use case for Custom Resolvers is easier to understand, the principles are the same and they're both part of the Publishing Pipeline.
I will always advise that instead of creating a custom renderer that will execute every time you render a template, you should use a Template Building Block that is added to all of your templates with that same functionality. Creating a custom renderer will likely be forgotten at some point in time and then you'll wonder why the output is different all of a sudden when nothing changed.

How to create a node reference field using the CCK API?

We're currently building a module which automatically create content type, which allow to quickly install content types on any Drupal platform, without having to manually create hundred of content types and fields. In our previous versions, we were manually creating node reference fields and it works great. Now, we want to create it using our module since we have to add those content types and fields on dozen of platforms already under production; creating manually the fields would be a crazy idea. Do we have to use the node reference API? We are close to being able create it but, in VIEWS, the node reference fields do not appears. It seems we missed something. We're trying to check in the CCK php files to understand how the CCK API is used (if we can create it in a form then, for sure, we can code it). Any idea? Which API and functions should we use? I would like to know the proper method on how to do this.
You should use features rather than write code to create content types. Take a site w/ all the types you need, export them to a feature, integrate that with your module, easy as pie!

Resources