10-12-2016 02:59 AM
Hello Alfrescians,
I've been using Alfresco Community Edition 5.1 for quite some time now and I've done some changes my Alfresco like: installing some AMP files and created a custom datalist, now suddenly my search engine doesn't work when I'm searching for any files, sites, or people. What has happen to my Alfresco? Is there a way to fix this? I've been searching some time and it leads me no progress.
Thanks in advance.
Best Regards,
June
10-13-2016 03:32 AM
I don't think this problem is caused by namespace name. however for a proper namespace ,you can use your company's domain name plus version ,for example http://www.yourcompany.com/model/datalist/1.0
10-13-2016 04:00 AM
Thanks for the tip, by the way, how would I know if my content model is legal?
Is there an indicator inside these files that I can tell that my content model is legal?
Here are the list of all files inside ${SOLR_HOME}/alfrescoModels folder:
- cm.contentmodel.1505615645.xml
- cmis.cmismodel.1280296084.xml
- cmistest.cmis-query-test.0.xml
- d.dictionary.322997055.xml
- sys.systemmodel.3546861458.xml
- test.solrtest.0.xml
10-13-2016 04:56 AM
These are all files under alfrescoModels? There should be more files than these.
I think you need to rebuild your solr index,do as following:
1.Stop Tomcat that runs Solr
2.Remove index dir of archive core at ${SOLR_HOME}/archive/SpacesStore/index
3.Remove index dir of workspace core at ${SOLR_HOME}/workspace/SpacesStore/index
4.Remove cached content model files at ${SOLR_HOME}/alfrescoModels/*
5 Restart Tomcat that runs Solr
10-13-2016 05:14 AM
I've looked the content of those two files and I can confirm that neither of the two is my custom model.
Here's the content for cmistest.cmis-query-test.0.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- xsi:schemaLocation="http://www.alfresco.org/model/dictionary/1.0 ../../../../../../config/alfresco/model/modelSchema.xsd" -->
<model name="cmistest:cmis-query-test" xmlns="http://www.alfresco.org/model/dictionary/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<description>Test model the cmis query tests</description>
<author>Alfresco</author>
<published>2010-01-22</published>
<version>0.1</version>
<imports>
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
</imports>
<namespaces>
<namespace uri="http://www.alfresco.org/test/cmis-query-test" prefix="cmistest"/>
</namespaces>
<types>
<type name="cmistest:extendedContent">
<title>Extended Content</title>
<parent>cm:content</parent>
<includedInSuperTypeQuery>true</includedInSuperTypeQuery>
<properties>
<!-- d:text -> String -->
<property name="cmistest:singleTextBoth">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
<property name="cmistest:singleTextUntokenised">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>false</tokenised>
</index>
</property>
<property name="cmistest:singleTextTokenised">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="cmistest:multipleTextBoth">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
<property name="cmistest:multipleTextUntokenised">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>false</tokenised>
</index>
</property>
<property name="cmistest:multipleTextTokenised">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:mltext -> String -->
<property name="cmistest:singleMLTextBoth">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
<property name="cmistest:singleMLTextUntokenised">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>false</tokenised>
</index>
</property>
<property name="cmistest:singleMLTextTokenised">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="cmistest:multipleMLTextBoth">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
<property name="cmistest:multipleMLTextUntokenised">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>false</tokenised>
</index>
</property>
<property name="cmistest:multipleMLTextTokenised">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:float -> Decimal -->
<property name="cmistest:singleFloat">
<type>d:float</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="cmistest:multipleFloat">
<type>d:float</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:double -> Decimal -->
<property name="cmistest:singleDouble">
<type>d:double</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="cmistest:multipleDouble">
<type>d:double</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:int -> Integer -->
<property name="cmistest:singleInteger">
<type>d:int</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="cmistest:multipleInteger">
<type>d:int</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:long -> Integer -->
<property name="cmistest:singleLong">
<type>d:long</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="cmistest:multipleLong">
<type>d:long</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:boolean -> Boolean -->
<property name="cmistest:singleBoolean">
<type>d:boolean</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="cmistest:multipleBoolean">
<type>d:boolean</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:date -> DateTime -->
<property name="cmistest:singleDate">
<type>d:date</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="cmistest:multipleDate">
<type>d:date</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:datetime -> DateTime -->
<property name="cmistest:singleDatetime">
<type>d:datetime</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
<property name="cmistest:multipleDatetime">
<type>d:datetime</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
</properties>
</type>
<type name="cmistest:extendedFolder">
<title>Extended Folder</title>
<parent>cm:folder</parent>
</type>
<type name="cmistest:type-that-requires-encoding">
<title>Type that requires encoding</title>
<parent>cm:content</parent>
<includedInSuperTypeQuery>true</includedInSuperTypeQuery>
<properties>
<property name="cmistestroperty-that-requires-encoding">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
</properties>
</type>
</types>
<aspects>
<aspect name="cmistest:aspect-that-requires-encoding">
<title>Type that requires encoding</title>
<includedInSuperTypeQuery>true</includedInSuperTypeQuery>
</aspect>
</aspects>
</model>
Here's the content for test.solrtest.0.xml:
<model name="test:solrtest" xmlns="http://www.alfresco.org/model/dictionary/1.0">
<description>Test Model for SOLR tests</description>
<author>Alfresco</author>
<published>2012-04-11</published>
<version>0.1</version>
<imports>
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
</imports>
<namespaces>
<namespace uri="http://www.alfresco.org/test/solrtest" prefix="test"/>
</namespaces>
<types>
<type name="test:testSuperType">
<title>Test Super Type</title>
<parent>sys:container</parent>
<properties>
<property name="test:neverIndexed">
<type>d:any</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="false"/>
</property>
<property name="test:createdDate">
<type>d:date</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
<property name="test:createdTime">
<type>d:datetime</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
<property name="testrderDouble">
<type>d:double</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="testrderFloat">
<type>d:float</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="testrderLong">
<type>d:long</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="testrderInt">
<type>d:int</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="testrderText">
<type>d:text</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
<property name="testrderLocalisedText">
<type>d:text</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
<property name="testrderMLText">
<type>d:mltext</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
<property name="testrderLocalisedMLText">
<type>d:mltext</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
</properties>
<associations>
<child-association name="test:assoc">
<source>
<mandatory>false</mandatory>
<many>true</many>
</source>
<target>
<class>sys:base</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</child-association>
</associations>
</type>
<type name="test:testType">
<title>Test Type</title>
<parent>test:testSuperType</parent>
<properties>
<property name="test:text-indexed-stored-tokenised-atomic">
<type>d:text</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:text-indexed-unstored-tokenised-atomic">
<type>d:text</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>false</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:text-indexed-stored-tokenised-nonatomic">
<type>d:text</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>false</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:int-ista">
<type>d:int</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:long-ista">
<type>d:long</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:float-ista">
<type>d:float</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:double-ista">
<type>d:double</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:date-ista">
<type>d:date</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:datetime-ista">
<type>d:datetime</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:boolean-ista">
<type>d:boolean</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:qname-ista">
<type>d:qname</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:category-ista">
<type>d:category</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:noderef-ista">
<type>d:noderef</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:verbatim">
<type>d:text</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>false</tokenised>
</index>
</property>
<property name="test:ml">
<type>d:mltext</type>
<mandatory>true</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:null">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="testath-ista">
<type>dath</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:locale-ista">
<type>d:locale</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<!-- Any -->
<property name="test:any-many-ista">
<type>d:any</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<!-- Complex multiples -->
<property name="test:content-many-ista">
<type>d:any</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:mltext-many-ista">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
<property name="testeriod-ista">
<type>deriod</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
</properties>
<mandatory-aspects>
<aspect>test:testAspect</aspect>
</mandatory-aspects>
</type>
</types>
<aspects>
<aspect name="test:aspectWithChildren">
<title>Aspect With Children</title>
<associations>
<child-association name="test:unused">
<source>
<mandatory>false</mandatory>
<many>true</many>
</source>
<target>
<class>sys:base</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</child-association>
</associations>
</aspect>
<aspect name="test:testSuperAspect">
<title>Test Super Aspect</title>
</aspect>
<aspect name="test:testAspect">
<title>Titled</title>
<parent>test:testSuperAspect</parent>
<properties>
<property name="test:aspectProperty">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>true</tokenised>
</index>
</property>
</properties>
</aspect>
</aspects>
</model>
10-13-2016 09:23 PM
Here is some info included in the sample model file produced by generator-alfresco:
Content Model
Defining and Deploying
https://docs.alfresco.com/5.1/references/dev-extension-points-content-model-define-and-deploy.html
You can validate that your model has been deployed by using the webscript
http://localhost:8080/alfresco/service/api/classes?nsp=<%-namespacePrefix%>
The model file format follows modelSchema.xsd in the below link
Additionally, you might consider using "org.alfresco.repo.dictionary.TestModel" before deploying your model. More info is available here: https://community.alfresco.com/docs/DOC-4735-data-dictionary-guide#w_stepbystepmodeldefinition
10-19-2016 05:01 AM
Hi Bindu,
I will review my custom datalist, I did not see this when I'm making my custom datalist.
Thanks,
June
10-13-2016 03:54 AM
Namespace could be anything which uniquely identify your model. So, whatever you are using should be fine unless you have that mentioned in some other model as well.
One more probable issue I see is regarding access. Check access which are available for alfresco user on solr cores and alf_data.
Try to give recursive permission to files and folders and then restart your server.
10-13-2016 05:25 AM
Hi Mittal,
How will I do this?
"One more probable issue I see is regarding access. Check access which are available for alfresco user on solr cores and alf_data.
Try to give recursive permission to files and folders and then restart your server."
10-13-2016 10:24 PM
No,it has nothing to do with permission , the error is thrown during constructing alfresco model definition object from xml model definition file.
As I said Alfresco use JiBX tool to bind xml content model file to java objects,This error means there is something wrong with one of the content model xml file,JiBX can not unmarshal it.
Since your alfreco run correcltly ,I guess there is nothing wrong with content model.The damage maybe caused by the transfering process from alfresco to solr,So you can rebuild solr index,solr will redownload models from alfresco.
About how to rebuild solr index ,please refer to my previous post.
10-14-2016 11:08 PM
If a model file is corrupt in SOLR you can shut alfresco down, delete the contents of the SOLR model cache directory and restart alfresco. You may not need to do a full reindex (of course depending on how messed up things are, you may need to do a full reindex.)
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.