AnsweredAssumed Answered

A QName must consist of a local name : InvalidQNameException

Question asked by cshryock on Jul 11, 2011
Latest reply on Jul 11, 2011 by cshryock
Hello.

I've been searching for a solution/fix for the following exception: org.alfresco.service.namespace.InvalidQNameException: A QName must consist of a local name.

[size=150]What I am trying to do:[/size]
Create a new DataList type, persons list. I was planning on extending the Contact Data List. I am getting the exception while trying to start up Alfresco (Community 3.4.d).

[size=150]What I have tried and already fixed:[/size]
  • I fixed my namespace error. (See personsDataModel.xml Line 3)

  • At first I was extending dl:contact, then I moved the fields into my model to see if that was the issue. (See personsDataModel.xml Line 30)

  • I've combed through all of my ids, names and types to ensure that they have the : or no typos.

  • I ran the XML through a validator (XML Nanny (from the Apple App Store)), and it validates properly. If you know of a better way to validate the XML I am all ears.

  • I've Googled through the site:forums.alfresco.com and general web for Alfresco QName, the exception, and various combinations. Haven't found a thread that talks about this yet. But I have checked to ensure that I am not doing the same thing.

  • I've read and tried many different articles and examples. I downloaded this source and modified it (since I saw this in an Alfresco Tech Talk): http://code.google.com/p/share-extras/wiki/DataLists

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'custom.persons.datalist.dictionaryBootstrap' defined in URL [jar:file:/opt/tomcat6/webapps/alfresco/WEB-INF/lib/g3rdmedia-extension.jar!/alfresco/module/PersonsDataList/module-context.xml]: Invocation of init method failed; nested exception is org.alfresco.service.cmr.dictionary.DictionaryException: 06110001 Could not import bootstrap model alfresco/module/PersonsDataList/model/personsDataListModel.xml
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1401)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:557)
   at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416)
   at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:261)
   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:192)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
   at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:63)
   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)
   at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)
   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
   at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675)
   at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)
   at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
   at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315)
   at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
   at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
   at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
   at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
   at org.apache.catalina.core.StandardService.start(StandardService.java:525)
   at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.alfresco.service.cmr.dictionary.DictionaryException: 06110001 Could not import bootstrap model alfresco/module/PersonsDataList/model/personsDataListModel.xml
   at org.alfresco.repo.dictionary.DictionaryBootstrap.onDictionaryInit(DictionaryBootstrap.java:158)
   at org.alfresco.repo.dictionary.DictionaryBootstrap.bootstrap(DictionaryBootstrap.java:105)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1529)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1468)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1398)
   … 37 more
Caused by: org.alfresco.service.cmr.dictionary.DictionaryException: 06110000 Failed to compile model pdl:personsDataListModel
   at org.alfresco.repo.dictionary.CompiledModel.<init>(CompiledModel.java:106)
   at org.alfresco.repo.dictionary.M2Model.compile(M2Model.java:128)
   at org.alfresco.repo.dictionary.DictionaryDAOImpl.putModel(DictionaryDAOImpl.java:270)
   at org.alfresco.repo.dictionary.DictionaryBootstrap.onDictionaryInit(DictionaryBootstrap.java:154)
   … 45 more
Caused by: org.alfresco.service.namespace.InvalidQNameException: A QName must consist of a local name
   at org.alfresco.service.namespace.QName.createQName(QName.java:86)
   at org.alfresco.service.namespace.QName.createQName(QName.java:123)
   at org.alfresco.repo.dictionary.M2ClassDefinition.<init>(M2ClassDefinition.java:175)
   at org.alfresco.repo.dictionary.M2TypeDefinition.<init>(M2TypeDefinition.java:41)
   at org.alfresco.repo.dictionary.CompiledModel.constructDefinitions(CompiledModel.java:147)
   at org.alfresco.repo.dictionary.CompiledModel.<init>(CompiledModel.java:88)
   … 48 more

Here is my model-context.xml

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
   
    <bean id="custom.persons.datalist.bootstrapExtraBundlesBean" class="org.alfresco.web.app.ResourceBundleBootstrap">
        <property name="resourceBundles">
            <list>
                <value>alfresco.module.PersonsDataList.messages.persons-data-list-model</value>
            </list>
        </property>
    </bean>
  
    <!– Registration of new models –>
    <bean id="custom.persons.datalist.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
                <value>alfresco/module/PersonsDataList/model/personsDataListModel.xml</value>
            </list>
        </property>
    </bean>   
</beans>

Here is module.properties:

# module properties
module.id=PersonsDataList
#module.aliases=none
module.version=0.1
module.title=Persons Data List
module.description=Provides an extension of the Contact List.

# The following optional properties can be used to prevent the module from being added
# to inappropriate versions of the WAR file.
module.repo.version.min=3.3

Here is personsDataListModel.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!– Definition of new Model –>
<model name="pdl:personsDataListModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">

    <!– Optional meta-data about the model –>
    <description>Persons Data List Model</description>
    <author>Chad Shryock</author>
    <version>1.0</version>

    <!– Imports are required to allow references to definitions in other models –>
    <imports>
        <!– Import Alfresco Dictionary Definitions –>
        <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d" />
        <!– Import Alfresco Content Domain Model Definitions –>
        <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" />
        <import uri="http://www.alfresco.org/model/system/1.0" prefix="sys" />
        <import uri="http://www.alfresco.org/model/datalist/1.0" prefix="dl" />
    </imports>

    <!– Introduction of new namespaces defined by this model –>
    <namespaces>
        <namespace uri="http://www.informedvoter.com/model/personsDataList/1.0" prefix="pdl" />
    </namespaces>

    <types>
        <type name="pdl:person">
            <title>Persons List</title>
            <parent>dl:dataListItem</parent>
            <properties>
                <!– From dl:contact –>
                <property name="pdl:contactFirstName">
                    <title>First Name</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:contactLastName">
                    <title>Last Name</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:contactEmail">
                    <title>Email Address</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:contactCompany">
                    <title>Company</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:contactJobTitle">
                    <title>Job Title</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:contactPhoneOffice">
                    <title>Phone (Office)</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:contactPhoneMobile">
                    <title>Phone (Mobile)</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:contactNotes">
                    <title>Notes</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
               
                <!– Additional Name Props –>
                <property name="pdl:contactSalutation">
                    <title>Salutation</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:contactMiddleName">
                    <title>Middle Name</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:contactSuffix">
                    <title>Suffix</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
               
                <!– Short Description –>
                <property name="pdl:description140">
                    <title>140 Character Description</title>
                    <type>d:mltext</type>
                    <mandatory>false</mandatory>
                </property>
               
                <!– Social Information –>
                <property name="pdl:twitterUsername">
                    <title>Twitter Username</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:facebookUsername">
                    <title>Facebook Username</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:youTubeUsername">
                    <title>YouTube Username</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:vimeoShortUrl">
                    <title>Vimeo Short URL</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:flickrUsername">
                    <title>Flickr Username</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:websiteUrl">
                    <title>Website URL</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
                <property name="pdl:websiteRssUrl">
                    <title>Website RSS Url</title>
                    <type>d:text</type>
                    <mandatory>false</mandatory>
                </property>
               
                <!– Publish Information –>
                <property name="pdl:published">
                    <type>d:date</type>
                </property>
                <property name="pdl:isActive">
                    <type>d:boolean</type>
                    <default>false</default>
                </property>
            </properties>
           
            <associations>
                <!– Folder –>
                <association name="pdl:associatedFolder">
                    <title>Associated Folder</title>
                    <source>
                        <mandatory>false</mandatory>
                        <many>false</many>
                    </source>
                    <target>
                        <class>cm:folder</class>
                        <mandatory>false</mandatory>
                        <many>false</many>
                    </target>
                </association>
            </associations>
           
            <mandatory-aspects>
                <!– Versionable –>
                <aspect name="cm:versionable"/>
                <aspect name="cm:taggable"/>
            </mandatory-aspects>
        </type>
    </types>
</model>

Here is persons-data-list-model.properties:

# Person
dl_datalistmodel.type.pld_person.title=Person List
dl_datalistmodel.type.pld_person.description=Contacts list including first name, last name, full name, email, job title, phone (office), phone (mobile).
pdl.set.company.title=Company Information
pdl.set.contact.title=Contact Information
pdl.set.social.title=Social Media Information
pdl.set.publish.title=Publish Data
pdl.property.contactSalutation.title=Salutation Name
pdl.property.contactFirstName.title=First Name
pdl.property.contactMiddleName.title=Middle Name
pdl.property.contactLastName.title=Last Name
pdl.property.contactSuffix.title=Suffix
pdl.property.contactCompany.title=Company
pdl.property.contactDepartment.title=Department
pdl.property.contactJobTitle.title=Job Title
pdl.property.contactEmail.title=Email
pdl.property.contactPhoneOffice.title=Phone (Office)
pdl.property.contactPhoneMobile.title=Phone (Mobile)
pdl.property.description140.title=Description
pdl.property.description140.description=A short (approximately 140 characters) description about the person.
pdl.property.twitterUsername.title=Twitter Username
pdl.property.facebookUsername.title=Facebook Username
pdl.property.youTubeUsername.title=YouTube Username
pdl.property.vimeoShortUrl.title=Vimeo Short URL
pdl.property.flickrUsername.title=Flickr Username
pdl.property.websiteUrl.title=Website URL
pdl.property.websiteRssUrl.title=Website RSS URL
pdl.property.associatedFolder=Associated Folder
pdl.property.publishedDate.title=Published Date
pdl.property.publishIsActive.title=Is Active
pdl.property.contactNotes.title=Notes

Here is fck-config-custom.xml:


<alfresco-config>
    <!– dl:contact type create form config–>
    <config evaluator="model-type" condition="pdl:person">
        <forms>
         <!– Create item form –>
            <form>
                <field-visibility>
                    <show id="pdl:contactSalutation" />
                    <show id="pdl:contactFirstName" />
                    <show id="pdl:contactMiddleName" />
                    <show id="pdl:contactLastName" />
                    <show id="pdl:contactSuffix" />
                   
                    <show id="pdl:contactCompany" />
                    <show id="pdl:contactDepartment" />
                    <show id="pdl:contactJobTitle" />
                   
                    <show id="pdl:contactEmail" />
                    <show id="pdl:contactPhoneOffice" />
                    <show id="pdl:contactPhoneMobile" />
                   
                    <show id="pdl:twitterUsername" />
                    <show id="pdl:facebookUsername" />
                    <show id="pdl:youTubeUsername" />
                    <show id="pdl:videoShortUrl" />
                    <show id="pdl:flickrUsername" />
                    <show id="pdl:websiteUrl" />
                    <show id="pdl:websiteRssUrl" />
                   
                    <show id="pdl:description140" />
                   
                    <show id="pdl:associatedFolder" />
                   
                    <show id="cm:taggable" />
                   
                    <show id="pdl:published" />
                    <show id="pdl:isActive" />
                   
                    <show id="pdl:contactNotes" />
                </field-visibility>
               
                <create-form template="../data-lists/forms/dataitem.ftl" />
               
                <appearance>
                   
                    <set id="company" appearance="panel" label-id="" />
                    <set id="contact" appearance="panel" label-id="" />
                    <set id="social" appearance="panel" label-id="" />
                    <set id="publish" appearance="panel" label-id="" />
                   
                    <field id="pdl:contactSalutation" label-id="pdl.property.contactSalutation.title" />
                    <field id="pdl:contactFirstName" label-id="pdl.property.contactFirstName.title" />
                    <field id="pdl:contactMiddleName" label-id="pdl.property.contactMiddleName.title" />
                    <field id="pdl:contactLastName" label-id="pdl.property.contactLastName.title" />
                    <field id="pdl:contactSuffix" label-id="pdl.property.contactSuffix.title" />
                   
                    <field id="pdl:contactCompany" label-id="pdl.property.contactCompany.title" set="company" />
                    <field id="pdl:contactDepartment" label-id="pdl.property.contactDepartment.title" set="company" />
                    <field id="pdl:contactJobTitle" label-id="pdl.property.contactJobTitle.title" set="company" />
                   
                    <field id="pdl:contactEmail" label-id="pdl.property.contactEmail.title" set="contact" />
                    <field id="pdl:contactPhoneOffice" label-id="pdl.property.contactPhoneOffice.title" set="contact" />
                    <field id="pdl:contactPhoneMobile" label-id="pdl.property.contactPhoneMobile.title" set="contact" />
                   
                    <field id="pdl:twitterUsername" label-id="pdl.property.twitterUsername.title" set="social" />
                    <field id="pdl:facebookUsername" label-id="pdl.property.facebookUsername.title" set="social" />
                    <field id="pdl:youTubeUsername" label-id="pdl.property.youTubeUsername.title" set="social" />
                    <field id="pdl:videoShortUrl" label-id="pdl.property.vimeoShortUrl.title" set="social" />
                    <field id="pdl:flickrUsername" label-id="pdl.property.flickrUsername.title" set="social" />
                    <field id="pdl:websiteUrl" label-id="pdl.property.websiteUrl.title" set="social" />
                    <field id="pdl:websiteRssUrl" label-id="pdl.property.websiteRssUrl.title" set="social" />
                   
                    <set id="description" appearance="whitespace" />
                    <field id="pdl:description140" label-id="pdl.property.description140.title" description-id="pdl.property.description140.description">
                        <control template="/org/alfresco/components/form/controls/textarea.ftl" />
                    </field>
                   
                    <set id="associatedFolder" appearance="whitespace" />
                    <field id="pdl:associatedFolder" label-id="pdl.property.associatedFolder">
                        <control template="/org/alfresco/components/form/controls/association.ftl" />
                    </field>
                   
                   
                    <field id="pdl:published" label-id="pdl.property.publishedDate.title" set="publish" />
                    <field id="pdl:isActive" label-id="pdl.property.publishIsActive.title" set="publish">
                        <control template="/org/alfresco/components/form/controls/checkbox.ftl" />
                    </field>
                   
                    <set id="notes" appearance="whitespace" />
                    <field id="pdl:contactNotes" label-id="pdl.property.contactNotes.title">
                        <control template="/org/alfresco/components/form/controls/textarea.ftl" />
                    </field>
                </appearance>
            </form>
           
            <form id="datagrid">
                <show id="pdl:contactFirstName" />
                <show id="pdl:contactLastName" />
                <show id="pdl:contactCompany" />
                <show id="pdl:contactDepartment" />
                <show id="pdl:contactJobTitle" />
                <show id="pdl:published" />
                <show id="pdl:isActive" />
            </form>
        </forms>
    </config>

    <!– dl:person type edit form config–>
    <config evaluator="node-type" condition="pdl:person">
        <forms>
            <!– Data List pop-up edit form –>
            <form>
                <field-visibility>
                    <!– dl:contact type –>
                    <show id="pdl:contactSalutation" />
                    <show id="pdl:contactFirstName" />
                    <show id="pdl:contactMiddleName" />
                    <show id="pdl:contactLastName" />
                    <show id="pdl:contactSuffix" />
                   
                    <show id="pdl:contactCompany" />
                    <show id="pdl:contactDepartment" />
                    <show id="pdl:contactJobTitle" />
                   
                    <show id="pdl:contactEmail" />
                    <show id="pdl:contactPhoneOffice" />
                    <show id="pdl:contactPhoneMobile" />
                   
                    <show id="pdl:twitterUsername" />
                    <show id="pdl:facebookUsername" />
                    <show id="pdl:youTubeUsername" />
                    <show id="pdl:videoShortUrl" />
                    <show id="pdl:flickrUsername" />
                    <show id="pdl:websiteUrl" />
                    <show id="pdl:websiteRssUrl" />
                   
                    <show id="pdl:description140" />
                   
                    <show id="pdl:associatedFolder" />
                   
                    <show id="cm:taggable" />
                   
                    <show id="pdl:published" />
                    <show id="pdl:isActive" />
                   
                    <show id="pdl:contactNotes" />
                </field-visibility>
                <edit-form template="../data-lists/forms/dataitem.ftl" />
                <appearance>
                   
                    <set id="company" appearance="panel" label-id="pdl.set.company.title" />
                    <set id="contact" appearance="panel" label-id="pdl.set.contact.title" />
                    <set id="social" appearance="panel" label-id="pdl.set.social.title" />
                    <set id="publish" appearance="panel" label-id="pdl.set.publish.title" />
                   
                    <field id="pdl:contactSalutation" label-id="pdl.property.contactSalutation.title" />
                    <field id="pdl:contactFirstName" label-id="pdl.property.contactFirstName.title" />
                    <field id="pdl:contactMiddleName" label-id="pdl.property.contactMiddleName.title" />
                    <field id="pdl:contactLastName" label-id="pdl.property.contactLastName.title" />
                    <field id="pdl:contactSuffix" label-id="pdl.property.contactSuffix.title" />
                   
                    <field id="pdl:contactCompany" label-id="pdl.property.contactCompany.title" set="company" />
                    <field id="pdl:contactDepartment" label-id="pdl.property.contactDepartment.title" set="company" />
                    <field id="pdl:contactJobTitle" label-id="pdl.property.contactJobTitle.title" set="company" />
                   
                    <field id="pdl:contactEmail" label-id="pdl.property.contactEmail.title" set="contact" />
                    <field id="pdl:contactPhoneOffice" label-id="pdl.property.contactPhoneOffice.title" set="contact" />
                    <field id="pdl:contactPhoneMobile" label-id="pdl.property.contactPhoneMobile.title" set="contact" />
                   
                    <field id="pdl:twitterUsername" label-id="pdl.property.twitterUsername.title" set="social" />
                    <field id="pdl:facebookUsername" label-id="pdl.property.facebookUsername.title" set="social" />
                    <field id="pdl:youTubeUsername" label-id="pdl.property.youTubeUsername.title" set="social" />
                    <field id="pdl:videoShortUrl" label-id="pdl.property.vimeoShortUrl.title" set="social" />
                    <field id="pdl:flickrUsername" label-id="pdl.property.flickrUsername.title" set="social" />
                    <field id="pdl:websiteUrl" label-id="pdl.property.websiteUrl.title" set="social" />
                    <field id="pdl:websiteRssUrl" label-id="pdl.property.websiteRssUrl.title" set="social" />
                   
                    <set id="description" appearance="whitespace" />
                    <field id="pdl:description140" label-id="pdl.property.description140.title" description-id="pdl.property.description140.description">
                        <control template="/org/alfresco/components/form/controls/textarea.ftl" />
                    </field>
                   
                    <set id="associatedFolder" appearance="whitespace" />
                    <field id="pdl:associatedFolder" label-id="pdl.property.associatedFolder">
                        <control template="/org/alfresco/components/form/controls/association.ftl" />
                    </field>
                   
                   
                    <field id="pdl:published" label-id="pdl.property.publishedDate.title" set="publish" />
                    <field id="pdl:isActive" label-id="pdl.property.publishIsActive.title" set="publish">
                        <control template="/org/alfresco/components/form/controls/checkbox.ftl" />
                    </field>
                   
                    <set id="notes" appearance="whitespace" />
                    <field id="pdl:contactNotes" label-id="pdl.property.contactNotes.title">
                        <control template="/org/alfresco/components/form/controls/textarea.ftl" />
                    </field>
                </appearance>
            </form>
        </forms>
    </config>

</alfresco-config>

This is my first Alfresco project. So I am faced with the steep learning curve. If I forgot to list any piece of data, I would be happy to supply it. Thanks in advance for your assistance!
-Chad.

Outcomes