cancel
Showing results for 
Search instead for 
Did you mean: 

How to best implement Metadata for Alfresco

tyler_lovejoy
Champ on-the-rise
Champ on-the-rise

I am a developer who is trying to implement an alfresco community edition.  I am very new to alfresco, but am trying to figure out how to implement a complicated metadata structure for a document library.  I want to be able to assign values to documents which can then be used for the search.  I have taken a look at categories, tags and some other options, but none seem to me to be able to fit my need exactly. 

This is what I want

- want to easily assign values to documents (sometimes using rules if possible)

- I want these values to be pulled from lists, that admin users (non-technical but higher permissions) are able to edit and change

- these values are hierarchical

- I want to be able to filter the document library by these values (and if you filter by a top hierarchy, all inner valued files are shown)

- I want to be able to search the entire system for these values

- When I perform a search, I want faceted results for these fields

- there are 5-8 distinctly different fields that have this same type of information

Please let me know if you need anything explained or have any questions, any tips would be helpful

29 REPLIES 29

openpj
Elite Collaborator
Elite Collaborator

Hi Tyler,

you can do all these things with Alfresco, below some details:

- want to easily assign values to documents (sometimes using rules if possible)

You can define your own content model for using specific content types and you also can define aspects for defining groups of properties and associations that you can attach on contents.

Content modeling | Alfresco Documentation

- I want these values to be pulled from lists, that admin users (non-technical but higher permissions) are able to edit and change

Ok for this requirement you have to implement a custom constraint in Java that allows you to get all the values as nodes or properties value in a specific tree inside the repository. You can use the NodeService or the SearchService for getting contents in the repository.

- these values are hierarchical

The unique way for having an hierarchical approach is using categories for that specific fields or you can implement you own selection field logic for the presentation tier.

- I want to be able to filter the document library by these values (and if you filter by a top hierarchy, all inner valued files are shown)

Again you can use categories or a customized field that manage your own value policy that is aligned with tags or again categories.

- I want to be able to search the entire system for these values

- When I perform a search, I want faceted results for these fields

- there are 5-8 distinctly different fields that have this same type of information

This is just a configuration when you have implemented all the previous point.

Hope this helps.

Thanks for the response, its a lot what I have been seeing out there, but I still cant seem to understand how it will work, so I have a few questions.

- I want these values to be pulled from lists, that admin users (non-technical but higher permissions) are able to edit and change

Ok for this requirement you have to implement a custom constraint in Java that allows you to get all the values as nodes or properties value in a specific tree inside the repository. You can use the NodeService or the SearchService for getting contents in the repository.

If I go the route of using categories, then alfresco I could just leverage the category manager for this, which is win-win.  A question I would have though, is there any way to get rid of the Category Root thing?  or would I have to look into how to do that in certain pages, cause Its kinda annoying.

- these values are hierarchical

The unique way for having an hierarchical approach is using categories for that specific fields or you can implement you own selection field logic for the presentation tier.

- I want to be able to filter the document library by these values (and if you filter by a top hierarchy, all inner valued files are shown)

Again you can use categories or a customized field that manage your own value policy that is aligned with tags or again categories.

I would love to use categories, as they seem to offer a lot of what I want, but I noticed a few things about them that I didnt understand.  First in the search, I was unable to get the search service to index the category field, or atleast to get categories to show up as facets in the search without an custom.  Maybe this is easy to do, do you know if this is possible?

Also, even though categories are hierarchies, it seems in the document library library filtering, if I choose A which has sub cat B and C, I only get documents that are specifically category A, not B and C, which I would want also?  Any idea if this is just a setting I am missing or something more complicated

douglascrp
World-Class Innovator
World-Class Innovator

Hey Tiler

My tip to you for the item below

- I want these values to be pulled from lists, that admin users (non-technical but higher permissions) are able to edit and change these values are hierarchical

For this, you can use my addon available here: GitHub - douglascrp/alfresco-value-assistance: Configurable value assistance module for Alfresco Sha...

This looks like exactly what I want, but when I download it and run the run.bat script, I get the following error.  Do you know if the amps are anywhere to be downloaded? or do I have to build it myself?  if so, how can I get past this error

[INFO] Scanning for projects...

Downloading: https://repo.maven.apache.org/maven2/org/alfresco/maven/alfresco-sd

k-parent/2.1.1/alfresco-sdk-parent-2.1.1.pom

[ERROR] [ERROR] Some problems were encountered while processing the POMs:

[FATAL] Non-resolvable parent POM for org.orderofthebee:alfresco-value-assistanc

e-repo-parent:1.0: Could not transfer artifact org.alfresco.maven:alfresco-sdk-p

arentSmiley Tongueom:2.1.1 from/to central (https://repo.maven.apache.org/maven2): sun.secu

rity.validator.ValidatorException: PKIX path building failed: sun.security.provi

der.certpath.SunCertPathBuilderException: unable to find valid certification pat

h to requested target and 'parent.relativePath' points at wrong local POM @ line

12, column 13

@

[ERROR] The build could not read 1 project -> [Help 1]

[ERROR]

[ERROR]   The project org.orderofthebee:alfresco-value-assistance-repo-parent:1.

0 (C:\Users\tlovejoy\Desktop\alfresco-value-assistance-1.0\alfresco-value-assist

ance-1.0\alfresco-value-assistance-repo\pom.xml) has 1 error

[ERROR]     Non-resolvable parent POM for org.orderofthebee:alfresco-value-assis

tance-repo-parent:1.0: Could not transfer artifact org.alfresco.maven:alfresco-s

dk-parentSmiley Tongueom:2.1.1 from/to central (https://repo.maven.apache.org/maven2): sun.

security.validator.ValidatorException: PKIX path building failed: sun.security.p

rovider.certpath.SunCertPathBuilderException: unable to find valid certification

path to requested target and 'parent.relativePath' points at wrong local POM @

line 12, column 13 -> [Help 2]

[ERROR]

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit

ch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.

[ERROR]

[ERROR] For more information about the errors and possible solutions, please rea

d the following articles:

[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildin

gException

[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableMo

delException

Can you please give more details on how you tried to package the project?

Post here the folder structure you have when you download the sources, and in which folder you were when you tried to run maven.

I downloaded the zip for git, and then I just ran the run.bat in the repo directory to create the amp file to test it out to see if it would meet my needs.

trying to read through the pom files now to see whats going on.

Folder Structure is just like zip

Root

->alfresco-value-assistance-repo

->->run.bat

->alfresco-value-assistance-share

->->run.bat

Bat, so I guess you are on Windows.

The thing is, I never tried to execute a sdk project on Windows.

Can you try another approach, which is to simply build the addon and get the amps to install on your server?

Inside of each of the folders, alfresco-value-assistance-repo and alfresco-value-assistance-share, execute

mvn clean install

Let me know how it goes.

Thats how I got that error I pasted in here, I tried the run first and then that one...

Can you just put the amps in there?

I believe there error has to do with the fact that the pom files are pointing to some parent project that doesn't seem to exist in the git

Ok Tyler Lovejoy​, there you have it

Release 1.0 · douglascrp/alfresco-value-assistance · GitHub