cancel
Showing results for 
Search instead for 
Did you mean: 

Custom Model - 01200024 Invalid node ref

eddiem
Champ in-the-making
Champ in-the-making
Hi,
I've created a custom model (Special Offer V2) & all was well - however, I changed the model slightly & now I get this error within Explorer. I presume this is because existing documents use the outdated version of the model. I've reverted to the original model but the error persists.

The model file itself validates as xml (within Netbeans), so I can't see where the error ref: 'does not contain forward slash' originates from.
Here's the custom model snippet:

<type name="mz:specialofferV2">
            <title>Special Offer V2</title>
            <parent>mz:doc</parent>
            <properties>
                <property name="mz:soDetailsV2">
                    <type>d:text</type>
                    <mandatory>true</mandatory>
                </property>
                <property name="mz:soOrderingDetailsV2">
                    <type>d:text</type>
                    <mandatory>true</mandatory>
                </property>
                <property name="mz:soAssocProductV2">
                    <title>Product(s)</title>
                    <type>d:category</type>
                    <mandatory>false</mandatory>
                    <multiple>true</multiple>
                    <index enabled="true">
                        <atomic>true</atomic>
                        <stored>true</stored>
                        <tokenised>true</tokenised>
                    </index>
                </property>
                <property name="mz:soHelpSupportV2">
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="mz:soCollateralV2">
                    <type>d:text</type>
                    <mandatory>true</mandatory>
                    <constraints>
                        <constraint ref="mz:collateralList" />
                    </constraints>
                </property>
                <property name="mz:soContentTypeV2">
                    <type>d:text</type>
                    <mandatory>true</mandatory>
                    <constraints>
                        <constraint ref="mz:contentTypeList" />
                    </constraints>
                </property>
                <property name="mz:soRelatedV2">
                    <type>d:category</type>
                    <mandatory>false</mandatory>
                    <multiple>true</multiple>
                    <index enabled="true">
                        <atomic>true</atomic>
                        <stored>true</stored>
                        <tokenised>true</tokenised>
                    </index>
                </property>
                <property name="mz:soChapterV2">
                    <type>d:text</type>
                    <mandatory>true</mandatory>
                    <constraints>
                        <constraint ref="mz:chapterList"/>
                    </constraints>
                </property>
            </properties>
            <associations>
                <association name="mz:soLegalTermsV2">
                    <title>Legal T and Cs</title>
                    <source>
                        <mandatory>false</mandatory>
                        <many>true</many>
                    </source>
                    <target>
                        <class>cm:content</class>
                        <mandatory>false</mandatory>
                        <many>false</many>
                    </target>
                </association>
                <association name="mz:soRegulatoryTermsV2">
                    <title>Regulatory T and Cs</title>
                    <source>
                        <mandatory>false</mandatory>
                        <many>true</many>
                    </source>
                    <target>
                        <class>cm:content</class>
                        <mandatory>false</mandatory>
                        <many>false</many>
                    </target>
                </association>
            </associations>
            <mandatory-aspects>
                <aspect>cm:effectivity</aspect>
                <aspect>cm:versionable</aspect>
            </mandatory-aspects>
        </type>
        <type name="mz:specialoffer">
            <title>Special Offer</title>
            <parent>mz:doc</parent>
            <properties>
                <property name="mz:soDetails">
                    <type>d:text</type>
                    <mandatory>true</mandatory>
                </property>
                <property name="mz:soOrderingDetails">
                    <type>d:text</type>
                    <mandatory>true</mandatory>
                </property>
                <property name="mz:soAssocProduct">
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="mz:soHelpSupport">
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="mz:soCollateral">
                    <type>d:text</type>
                    <mandatory>true</mandatory>
                    <constraints>
                        <constraint ref="mz:collateralList" />
                    </constraints>
                </property>
                <property name="mz:soContentType">
                    <type>d:text</type>
                    <mandatory>true</mandatory>
                    <constraints>
                        <constraint ref="mz:contentTypeList" />
                    </constraints>
                </property>
                <property name="mz:soRelated">
                    <type>d:text</type>
                    <mandatory>true</mandatory>
                    <constraints>
                        <constraint ref="mz:relatedList" />
                    </constraints>
                </property>
                <property name="mz:soChapter">
                    <type>d:text</type>
                    <mandatory>true</mandatory>
                    <constraints>
                        <constraint ref="mz:chapterList"/>
                    </constraints>
                </property>
            </properties>
            <associations>
                <association name="mz:soLegalTerms">
                    <title>Legal T and Cs</title>
                    <source>
                        <mandatory>false</mandatory>
                        <many>true</many>
                    </source>
                    <target>
                        <class>cm:content</class>
                        <mandatory>false</mandatory>
                        <many>false</many>
                    </target>
                </association>
                <association name="mz:soRegulatoryTerms">
                    <title>Regulatory T and Cs</title>
                    <source>
                        <mandatory>false</mandatory>
                        <many>true</many>
                    </source>
                    <target>
                        <class>cm:content</class>
                        <mandatory>false</mandatory>
                        <many>false</many>
                    </target>
                </association>
            </associations>
            <mandatory-aspects>
                <aspect>cm:effectivity</aspect>
                <aspect>cm:versionable</aspect>
            </mandatory-aspects>
        </type>

Here's the start of the error output in alfresco.log - it doesn't give any indication as to where in the custom model the error occurs:
11:55:43,985 ERROR [org.alfresco.web.ui.common.Utils] A system error happened during the operation: 01200024 Invalid node ref - does not contain forward slash: Special Offer V2
org.alfresco.error.AlfrescoRuntimeException: 01200024 Invalid node ref - does not contain forward slash: Special Offer V2
        at org.alfresco.service.cmr.repository.NodeRef.<init>(NodeRef.java:91)
        at org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter$16.convert(DefaultTypeConverter.java:241)
        at org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter$16.convert(DefaultTypeConverter.java:238)
        at org.alfresco.service.cmr.repository.datatype.TypeConverter.convert(TypeConverter.java:120)
        at org.alfresco.repo.domain.NodePropertyValue$ValueType$12.convert(NodePropertyValue.java:309)
        at org.alfresco.repo.domain.NodePropertyValue.getValue(NodePropertyValue.java:986)
        at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl.makeSerializableValue(HibernateNodeDaoServiceImpl.java:4811)
        at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl.collapsePropertiesWithSameQNameAndListIndex(HibernateNodeDaoServiceImpl.java:4753)
        at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl.convertToPublicProperties(HibernateNodeDaoServiceImpl.java:4595)
        at org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl.getNodeProperties(HibernateNodeDaoServiceImpl.java:1396)
        at sun.reflect.GeneratedMethodAccessor350.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.alfresco.repo.transaction.TransactionalDaoInterceptor.invoke(TransactionalDaoInterceptor.java:68)………..

Any clues much appreciated!

Thanks
Eddie
3 REPLIES 3

sselvan
Champ in-the-making
Champ in-the-making
This error is because - NodeRef.java is looking for (in the existing documents) for an index of the forward slash and take the noderef for further processing.
However, due to your extension of the model and those associated documents still exist in your repository.

If I were you, I will remove all the existing documents (if it is not a production system?!) and try uploading the contents again - not a great solution, but it might work! If not, re-indexing (/index full recovery) might help as well?!

Note: I don't have any advice if it is a production system.

eddiem
Champ in-the-making
Champ in-the-making
Hi sslevan,
Thanks for your explanation.

No, this is a dev/test system, so removing the docs is ok - but how to remove them?!

Thanks
Eddie

sselvan
Champ in-the-making
Champ in-the-making
Connect via WebDAV and perform bulk delete of documents going to every folder.
Please make sure you have back up of those documents.

Thank you