Announcement

Collapse
No announcement yet.

OXMF publish & subscribe missing data

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • OXMF publish & subscribe missing data

    Ubuntu 8.04 LTS
    OX 6.16.0 rev 4

    Subscriptions in contact folders do not populate the target folder with all available contact data.

    To replicate:

    Publish a Contacts folder via OXMF using a custom template that includes all contact data. Confirm that the complete contact dataset is visible using the resulting URL.

    Create a new, empty Contacts folder and subscribe to the published data above using the URL.

    Whilst a lot of information is populated (name, address etc.) not all of it is, most notable telephone numbers.

    For the publishing template I downloaded contacts_full.tmpl from ox.io (http://ox.io/publications/infostore/158/templates) - does this need to be modified in some way to be compatible with a "subscribe" from the same version of OX?

  • #2
    Please try again following these instructions:

    Comment


    • #3
      This is a bug. I just reported it via bugzilla.

      Comment


      • #4
        Thanks for that, Carsten. Any chance of the bug ID so I can track it? Did a couple of searches, couldn't find it...

        Peter.

        Comment


        • #5
          Hi Peter,

          you can check it here: https://bugs.open-xchange.com/show_bug.cgi?id=15640

          Comment


          • #6
            What, where? There is no bug!
            *coughs*
            Well, at least if one uses a working template. The one offered by ox.io when this thread started was maybe a wee bit off. Should be fixed by now. Otherwise, you can
            1. use the following template
            2. replace all occurences of "ox_telephone" with "ox_phone" and replace "ox_phoneHome" with "ox_phonePrivate" in your currently failing template.

            Code:
            <#macro display key value title>
            	<#if value != "">
            		<span class="${key}">${value?html}</span>
            	</#if>
            </#macro>
            
            <#macro display_link_value contact>
            	<#if contact.displayName??>
            		${contact.displayName?html}
            	<#elseif contact.givenName?? || contact.surName?? || contact.middleName??>
            		${contact.title!""?html}
            		${contact.givenName!""?html}
            		${contact.middleName!""?html}
            		${contact.surName!""?html}
            	<#elseif contact.company??>
            		${contact.company?html}
            	<#elseif contact.email1??>
            		${contact.email1?html}
            	<#elseif contact.email2??>
            		${contact.email2?html}
            	<#elseif contact.email3??>
            		${contact.email3?html}
            	</#if>
            	<@display key="ox_suffix" title="Suffix" value=contact.suffix!"" />
            </#macro>
            
            <#macro render_name contact>
            	<#if contact.givenName?? || contact.surName?? || contact.middleName??>
            		<tr>
            			<td class="key">Name:</td>
            			<td class="value">
            				<@display key="ox_title" title="Title" value=contact.title!"" />
            				<@display key="ox_firstName" title="First name" value=contact.givenName!"" />
            				<@display key="ox_secondName" title="Second name" value=contact.middleName!"" />
            				<@display key="ox_lastName" title="Last name" value=contact.surName!"" />
            				<@display key="ox_suffix" title="Suffix" value=contact.suffix!"" />
            			</td>
            		</tr>
            	</#if>
            </#macro>
            
            <#macro render key value title>
            	<#if value != "">
            		<tr>
            			<td class="key">${title}:</td> 
            			<td class="${key} value">${value?html}</td>
            		</tr>
            	</#if>
            </#macro>
            
            <#macro render_mail key value title>
            	<#if value != "">
            		<tr>
            			<td class="key">${title}:</td> 
            			<td class="value"><a href="mailto:${value?html}"><span class="${key}">${value?html}</span></a></td>
            		</tr>
            	</#if>
            </#macro>
            
            <#macro image contact>
            	<#if contact.containsImage1()>
            		<img src="${request.scheme!"http"}://${request.serverName}${utils.getImageURL(publication, contact)}" alt="" />
            	</#if>
            </#macro>
            
            <#macro imageMicroformatted contact>
            	<#if contact.containsImage1()>
            		<img class="ox_image" src="${request.scheme!"http"}://${request.serverName}${utils.getImageURL(publication, contact)}"  alt="" />
            	</#if>
            </#macro>
            
            
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
            
            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
            <head>
            	<title>OX PubSub</title>
            	<style type="text/css">
            	<!--
            	html, body {
            		margin: 0;
            		padding: 0;
            		border: none;
            		height: 100%;
            		width: 100%;
            		background: #e1e4eb;
            	}
            
            	html * {
            		font-family: Helvetica, Arial, sans-serif;
            		color: #000;
            	}
            	#nav {
            		float:left;
            		width: 20%;
            	}
            	#contacts {
            		float: left;
            		<#if (contacts?size > 2)>
            		width: 70%;
            		<#else>
            		width: 95%;
            		</#if>
            	}
            	#disclaimer {
            		clear: both;
            		padding: 10em 35% 0 35%;
            		text-align: justify;
            	}
            	#disclaimer p, #disclaimer h2{
            		font-size: 60%;
            	}
            	#disclaimer h2 {
            		text-align: center;
            	}
            	td.key {
            		width: 25%;
            		text-align: right;
            		padding-right: 1em;
            	}
            	table.a_contact, td.value {
            		width: 100%;
            	}
            	td.value, td.value span {
            		color: #446;
            		font-weight: bold;
            		text-align: left;
            	}
            	.ox_contact{
            		clear: both;
            	}
            	#nav, .ox_contact {
            		margin: .5em;
            		border: 1px solid #999;
            		background: #fff;
            		padding: .5em;
            	}
            	#nav a, #nav a:visited, #nav a:hover, #nav a:link {
            		font-weight: bold;
            	}
            	a, a:visited, a:hover, a:link {
            		text-decoration: none;
            		color: #446;
            	}
            	#nav li, #nav ul {
            		list-style-type: none; 
            		margin: 0;
            		padding: 0;
            		left-indent: 0;
            	}
            	.back {
            		text-align: center;
            		font-size: 75%;
            		text-decoration none;
            		color: #446;
            	}
            	.ox_image{
            		float:right;
            	}
            	.message {
            		margin-top: 2em;
            		text-align: center;
            	}
            
            	-->
            	</style>
            </head>
            
            <body>
            	<#if (contacts?size == 0)>
            		<div class="message">Folder is empty</div>
            	</#if>
            
            	<#if (contacts?size > 2)>
            	<div id="nav">
            		<ul>
            			<#list contacts as contact>
            			<li>
            				<a href="#contact_${contacts?seq_index_of(contact)}">
            					<@display_link_value contact=contact />
            				</a>
            			</li>
            			</#list>
            		</ul>
            	</div>
            	</#if>
            	
            	<div id="contacts">
            		<#list contacts as contact>
            		<div class="ox_contact" id="contact_${contacts?seq_index_of(contact)}">
            			<@imageMicroformatted contact=contact />
            			<table class="a_contact">
            				<@render_name contact=contact />
            				<@render key="ox_displayName" title="Display name" value=contact.displayName!"" />
            				<@render key="ox_streetHome" title="Street home" value=contact.streetHome!"" />
            				<@render key="ox_postalCodeHome" title="Postal code home" value=contact.postalCodeHome!"" />
            				<@render key="ox_cityHome" title="City home" value=contact.cityHome!"" /> 
            				<@render key="ox_stateHome" title="State home" value=contact.stateHome!"" /> 
            				<@render key="ox_countryHome" title="Country home" value=contact.countryHome!"" />
            				<@render key="ox_streetBusiness" title="Street business" value=contact.streetBusiness!"" /> 
            				<@render key="ox_postalCodeBusiness" title="Postal code business" value=contact.postalCodeBusiness!"" /> 
            				<@render key="ox_cityBusiness" title="City business" value=contact.cityBusiness!"" />
            				<@render key="ox_stateBusiness" title="State business" value=contact.stateBusiness!"" /> 
            				<@render key="ox_countryBusiness" title="Country business" value=contact.countryBusiness!"" />
            				<@render key="ox_streetOther" title="Street other" value=contact.streetOther!"" />
            				<@render key="ox_postalCodeOther" title="Postal code other" value=contact.postalCodeOther!"" />
            				<@render key="ox_cityOther" title="City other" value=contact.cityOther!"" /> 
            				<@render key="ox_stateOther" title="State other" value=contact.stateOther!"" /> 
            				<@render key="ox_countryOther" title="Country other" value=contact.countryOther!"" /> 
            				<#if contact.birthday??><tr><td class="key">Birthday:</td><td class="ox_birthday value">${contact.birthday?string("yyyy-MM-dd")}</td></tr></#if>
            				<@render key="ox_maritalStatus" title="Marital status" value=contact.maritalStatus!"" /> 
            				<@render key="ox_numberOfChildren" title="Number of children" value=contact.numberOfChildren!"" />
            				<@render key="ox_profession" title="Profession" value=contact.profession!"" /> 
            				<@render key="ox_nickname" title="Nickname" value=contact.nickname!"" /> 
            				<@render key="ox_spouse_name" title="Spouse name" value=contact.spouseName!"" /> 
            				<#if contact.anniversary??><tr><td class="key">Anniversary:</td><td class="ox_anniversary value">${contact.anniversary?string("yyyy-MM-dd")}</td></tr></#if>
            				<@render key="ox_note" title="Note" value=contact.note!"" /> 
            				<@render key="ox_department" title="Department" value=contact.department!"" /> 
            				<@render key="ox_position" title="Position" value=contact.position!"" /> 
            				<@render key="ox_employeeType" title="Employee type" value=contact.employeeType!"" /> 
            				<@render key="ox_roomNumber" title="Room number" value=contact.roomNumber!"" /> 
            				<@render key="ox_numberOfEmployees" title="Number of employees" value=contact.numberOfEmployee!"" /> 
            				<@render key="ox_salesVolume" title="Sales volume" value=contact.salesVolume!"" /> 
            				<@render key="ox_taxId" title="Tax id" value=contact.taxID!"" /> 
            				<@render key="ox_commercialRegister" title="Commercial register" value=contact.commercialRegister!"" /> 
            				<@render key="ox_branches" title="Branches" value=contact.branches!"" /> 
            				<@render key="ox_businessCategory" title="Business category" value=contact.businessCategory!"" /> 
            				<@render key="ox_info" title="Info" value=contact.info!"" /> 
            				<@render key="ox_managerName" title="Manager name" value=contact.managerName!"" /> 
            				<@render key="ox_assistantName" title="Assistant name" value=contact.assistantName!"" /> 
            				<@render key="ox_phonePrivate1" title="Telephone home1" value=contact.telephoneHome1!"" /> 
            				<@render key="ox_phonePrivate2" title="Telephone home2" value=contact.telephoneHome2!"" /> 
            				<@render key="ox_phoneBusiness1" title="Telephone business1" value=contact.telephoneBusiness1!"" /> 
            				<@render key="ox_phoneBusiness2" title="Telephone business2" value=contact.telephoneBusiness2!"" /> 
            				<@render key="ox_phoneOther" title="Telephone other" value=contact.telephoneOther!"" /> 
            				<@render key="ox_faxBusiness" title="Fax business" value=contact.faxBusiness!"" /> 
            				<@render key="ox_phoneCallback" title="Telephone callback" value=contact.telephoneCallback!"" /> 
            				<@render key="ox_phoneCar" title="Telephone car" value=contact.telephoneCar!"" /> 
            				<@render key="ox_phoneCompany" title="Telephone company" value=contact.telephoneCompany!"" /> 
            				<@render key="ox_faxHome" title="Fax home" value=contact.faxHome!"" /> 
            				<@render key="ox_cellular_phone1" title="Cellular telephone1" value=contact.cellularTelephone1!"" /> 
            				<@render key="ox_cellular_phone2" title="Cellular telephone2" value=contact.cellularTelephone2!"" /> 
            				<@render key="ox_faxOther" title="Fax other" value=contact.faxOther!"" /> 
            				<@render_mail key="ox_email1" title="Email1" value=contact.email1!"" /> 
            				<@render_mail key="ox_email2" title="Email2" value=contact.email2!"" /> 
            				<@render_mail key="ox_email3" title="Email3" value=contact.email3!"" /> 
            				<@render key="ox_url" title="Url" value=contact.uRL!"" /> 
            				<@render key="ox_phoneIsdn" title="Telephone isdn" value=contact.telephoneISDN!"" /> 
            				<@render key="ox_phonePager" title="Telephone pager" value=contact.telephonePager!"" /> 
            				<@render key="ox_phonePrimary" title="Telephone primary" value=contact.telephonePrimary!"" /> 
            				<@render key="ox_phoneRadio" title="Telephone radio" value=contact.telephoneRadio!"" /> 
            				<@render key="ox_phoneTelex" title="Telephone telex" value=contact.telephoneTelex!"" /> 
            				<@render key="ox_phoneTtytdd" title="Telephone ttytdd" value=contact.telephoneTTYTTD!"" /> 
            				<@render key="ox_instantMessenger1" title="Instant messenger1" value=contact.instantMessenger1!"" /> 
            				<@render key="ox_instantMessenger2" title="Instant messenger2" value=contact.instantMessenger2!"" /> 
            				<@render key="ox_phoneIp" title="Telephone ip" value=contact.telephoneIP!"" /> 
            				<@render key="ox_phoneAssistant" title="Telephone assistant" value=contact.telephoneAssistant!"" /> 
            				<@render key="ox_company" title="Company" value=contact.company!"" /> 
            		
            				<@render key="ox_userfield01" title="Userfield01" value=contact.userField01!"" /> 
            				<@render key="ox_userfield02" title="Userfield02" value=contact.userField02!"" /> 
            				<@render key="ox_userfield03" title="Userfield03" value=contact.userField03!"" /> 
            				<@render key="ox_userfield04" title="Userfield04" value=contact.userField04!"" /> 
            				<@render key="ox_userfield05" title="Userfield05" value=contact.userField05!"" /> 
            				<@render key="ox_userfield06" title="Userfield06" value=contact.userField06!"" /> 
            				<@render key="ox_userfield07" title="Userfield07" value=contact.userField07!"" /> 
            				<@render key="ox_userfield08" title="Userfield08" value=contact.userField08!"" /> 
            				<@render key="ox_userfield09" title="Userfield09" value=contact.userField09!"" /> 
            				<@render key="ox_userfield10" title="Userfield10" value=contact.userField10!"" /> 
            				<@render key="ox_userfield11" title="Userfield11" value=contact.userField11!"" /> 
            				<@render key="ox_userfield12" title="Userfield12" value=contact.userField12!"" /> 
            				<@render key="ox_userfield13" title="Userfield13" value=contact.userField13!"" /> 
            				<@render key="ox_userfield14" title="Userfield14" value=contact.userField14!"" /> 
            				<@render key="ox_userfield15" title="Userfield15" value=contact.userField15!"" /> 
            				<@render key="ox_userfield16" title="Userfield16" value=contact.userField16!"" /> 
            				<@render key="ox_userfield17" title="Userfield17" value=contact.userField17!"" /> 
            				<@render key="ox_userfield18" title="Userfield18" value=contact.userField18!"" /> 
            				<@render key="ox_userfield19" title="Userfield19" value=contact.userField19!"" /> 
            				<@render key="ox_userfield20" title="Userfield20" value=contact.userField20!"" /> 
            			</table>
            		<div class="back"><a href="#nav">Back to the top</a></div>
            		</div>
            		</#list>
            	</div>
            	
            	<#if (contacts?size > 0)>
            	<div id="disclaimer">
            		${privacy}
            	</div>
            	</#if>
            </body>
            </html>

            Comment


            • #7
              Thanks, this works.

              Looks like other template fields are misnamed as well, as a more thorough test reveals other missing fields, including attachments. I'll keep digging.

              Peter.

              Comment

              Working...
              X