Tuesday, December 2, 2008

V7: Manually removing orphaned content instances

PROBLEM
-------
You can't delete a content type although the VCM doesn't show any associated
content instances. This error message appears in a JavaScript pop-up box:

The following validation error(s) occurred:
Cannot remove a type that currently has instances

This problem can occur when content instances are still associated with the
content type, even though they are not visible in the VCM.

SOLUTION
--------
You must remove the orphaned content instances from the database manually:

1. To find the ID of the content type in the VgnAsObjectType table, perform
this SQL query:

Select ID,name,displayname from VgnAsObjectType

Find the ID that corresponds to the content type you are trying to delete.
The ID should end in ____ and look something like this:

ac798d60f58b5010VgnVCM100000af3410ac____

2. Perform this SQL query:

select contentmgmtid from vgnasmometadata
where objecttypeid='()';

The query will return the orphaned content instance or instances that are
causing the problem. Each ID should end in RCRD and look something like
this:

e8ed0bd758db5010VgnVCM100000af3410acRCRD

3. Back up the system database.

4. For each item returned in step 2, perform the following SQL:

delete from vgnAsMoMap where recordId='';
delete from vgnAsMoMetaData where contentMgmtId='';
delete from vgnAsExtObjAttribs where recordId='';
delete from vgnAsChannelFileAssociation where vcmObjectId='';
delete from vgnRecord where id ='';
delete from vgnCMSObject where id = '';
delete from vgnObjectBlob where obj = '' AND indexField = 0;
delete from vgnRecordKeyMap where recordId ='';
delete from vgnObjectNote where object = '';
delete from vgnDeploymentData where object = '';
delete from vgnObjectHistory where object = '';
delete from vgnObjectSnapshotSet where obj = '';
delete from vgnCMSObjectGroupObjectSet where obj ='';
delete from vgnAssociation where cmsObjectId ='';
delete from vgnReferenceMap where referrerId = '' or referentId = '';

5. If everything went well, commit.

6. Now you should be able to delete the content type from the VCM.

Monday, November 3, 2008

Important KB Items

Content Schema Modeling Considerations in V7 Releases - KB 6058
Omniture Integration Guide for Vignette Content, Portal, Collaboration, and other products is now available at no charge on the Vignette Development Community - KB 9207
V7: My servlet works great on management stage but doesn't work on delivery stage: what's wrong? - KB 5872
SearchQuery.trackAndExecute() methods fail in stages running in EJB mode [01/23/03] - KB 5069
V7 7.3+: Checklist for setting up Java application that accesses management stage - KB 6900
JSP application to test V7 delivery stage application server or servlet engine - KB 6030
V7 7.3.1: Where the Log Files of V7 7.3.1 Components Are Located - KB 7897

Friday, October 24, 2008

If pages don't display on piocda and come back on refresh

If there is a situation that pages do not display on the site, but on refresh they come back (minus navigation sometimes), most likely piocda.war has been copied over to tomcat when it was running and piocda.xml from conf/Catalina/localhost has been wiped out. Make sure to stop tomcat before deploying and research a way so this does not happen. (piocda.xml should be made part of the webapp).

Update: Added new build file for each environment on VSS, so context.xml is part of the webapp and gets copied automatically to conf/Catalina/localhost on (re)deploy.

Monday, September 15, 2008

DPM cache duplication and FURL format issue

Response from Vignette about issues with DPM cache duplication and FURL format issue:

G’day,
Sorry that it has taken a little time to get back to you on these issues. I wanted to make to confirm my answers with the right ginger beers before replying

We have fixed the issue below in the productized version of furl.

You asked about 2 other things

1. The issue of duplicating the cache per-pre-loaded site. This behaviours remains the same

2. Support for Formats in only 1 of the two mappers. This behaviour is also the same , although we fixed a general problem with query parameters being stripped urls. So if you pass in a format as a query param we will honour it, you could use that as a workaround


The original query:

I wanted to ask for some input on a FURL issue that I am having concerning
formats.
The issue comes up when 2 templates share a common component on a channel
(for example: I have an image query component
on each presentation template) then it will use the default presentation
template's value instead of the format's.

Example:
I have a Channel named "Home Entertainment", that has 2 formats:
- default (Product Page)
- Support (Support Page)

both of these templates have a common image query component with different
values:
- default: Get Image From Channel [currentChannel]
- Support: Get Image From Channel Home > Support

when I use the following URL it displays the correct Layout but uses the
query
component value from the default template (Shows the image from
currentChannel
instead of Support).

/PUSA/Products/ch.Home+Entertainment.Support

however if I add the vgnextfmt variable to the URL it uses the correct
components.

/PUSA/Products/ch.Home+Entertainment.Support?vgnextfmt=Support

is this a known issue? is there a quick fix that you are aware of?

Let me know if you need more information on this.

Monday, June 30, 2008

Portal Form populate

Form populate in Portal's EndUserFormBean cannot handle any data type other than String, so cannot int, long etc.

Portalbean portlets get vs post

Portalbean portlets do not work with "GET" request on submitting to a process view. You get an error saying "java.lang.IllegalStateException: The URI of a single portlet request must either contain one and only one portlet UID or a target portlet UID.".

Thursday, May 1, 2008

DPM cluster.nodes

Found this out as a result of ticket 201930. cluster.nodes needs to contain paths to each context defined for any web app thats based off vgn-ext-templating. So piocda, furl etc. need to be in there apart from vgn-ext-templating of course.