Adding information to add items to "Product" list
kaotkbliss
Posts: 2,914
I was wondering what file/information would I need to add (if I can add) to a package either self made or purchased on another site like rendo so that the pieces for that product show up in the content library tab under "products"?
For example, I have the BnB Cobra Lily from RDNA (which has now moved to Hivewire) so I would like to add whatever it is I need to add so that when I go into my content library tab and click on products, then go to "B", the Cobra Lily is listed there with all it's textures, poses and other options.
Comments
I thought I had it, but apparently not.
I looked inside a DIM-ready zip file and in newer packages has .dsa and .dsx files in the Runtime\support folder but older products like Babydoll just have a regular txt file in Readme's\ProductLists.
So I wrote 2 programs, 1 to read the directories and files inside of a zip and create a txt file of the contents
and another to do the same except write a dsa and a dsx file leacing things like author blank and using 0 for the ID and zip name for Product.
Neither worked and I noticed that Wilmap's freebies that are installed manually show up in my product list and there's even some Daz packs like the moon lander that don't have either the txt or the dsa/dsx files and still show up. What am I missing?
The txt readme files aren't read by DS. If you install an item using DIM that doesn't have the Runtime/Support files in the zip then DIM will create a .dsx file so that it shows up in Products. If you use one of those as a model, that's the info it needs. I'm not sure what you need to use for ID, etc.
I must be missing something then. I'll have to go back through a dsx file and see what I'm missing.
Thank you
To answer your original question, how to add a Product:
Select the folder containing <your product>, right click and select Create Product. This will create a product containing the files in the selected folder, including files in any sub-folder(s).
To create the .dsa and .dsx files, go to the newly created product and from the Active Pane Options menu, select Content DB Editor.
Store: Leave blank
Token: This adds a prefix to the dsx/dsa files. I enter Rendo, RDNA or some other text to indictate the product origin.
Support: Leave Auto Fill checked
Files: You can add to this box all files associated with your product (can add the files later)
Click Accept.
A .dsx and .dsa file will be created for the product in /Runtime/Support. In order to add an icon to the Product Library and Smart Content tab, you need to add a .jpg or .png file with the same name as the .dsx/.dsa files. Look at the other .jpg/.png files in the /Runtime/Support folder for suggested pixel size. Note: Currently in 4.9/4.9 beta the icons are failing to display for me. In 4.8 didn't have any problems getting the icon to display in Products or Smart Content>Products tab.
There is a fix for this, which I posted elsewhere:
"It seems you have to re-import metadata for the product you created (Content DB Maintenance/Re-import metadata) [Only select your newly created product] then the product icon will be loaded in SC and Products. There is still a problem though in that the product icon I created shows a gap at top and bottom, despite it being the regulation size (110 x 143/114 x 148)."
Since I've got hundreds of items from all over the place, I'd rather not spend a month or more adding them 1 at a time manually. That's why I was trying to add whatever is needed for Daz to do it automagically like it does with Daz product manual installs or Wilmap's free stuff. I just haven't been successful yet.
I'm creating 2 files for each zip
the first dsa file always looks like this:
// DAZ Studio version 4.6.3.50 filetype DAZ Script
if( App.version >= 67109158 ) //4.0.0.294
{
var oFile = new DzFile( getScriptFileName() );
var oAssetMgr = App.getAssetMgr();
if( oAssetMgr )
{
oAssetMgr.queueDBMetaFile( oFile.baseName() );
}}
the 2nd dsx file ends up like this:
<?xml version="1.0" encoding="UTF-8"?>
<ContentDBInstall VERSION="1.0">
<Products>
<Product VALUE="davo_3_PACK">
<StoreID VALUE="Other"/>
<GlobalID VALUE="0"/>
<Artists>
</Artists>
<Assets>
<Asset VALUE="Runtime\libraries\Character\davo_3_PACK\EGWA.pz3"/>
</Asset>
<Asset VALUE="Runtime\libraries\Character\davo_3_PACK\KLUTH.pz3"/>
</Asset>
<Asset VALUE="Runtime\libraries\Character\davo_3_PACK\THE-SACK.pz3"/>
</Asset>
</Assets>
<SupportAssets>
<SupportAsset VALUE="\Runtime\"/>
<SupportAsset VALUE="\Runtime\libraries\"/>
<SupportAsset VALUE="\Runtime\libraries\Character\"/>
<SupportAsset VALUE="\Runtime\libraries\Character\davo_3_PACK\"/>
<SupportAsset VALUE="\Runtime\libraries\Character\davo_3_PACK\EGWA-SKIN.bmp"/>
<SupportAsset VALUE="\Runtime\libraries\Character\davo_3_PACK\EGWA.pz3"/>
<SupportAsset VALUE="\Runtime\libraries\Character\davo_3_PACK\KLUTH.pz3"/>
<SupportAsset VALUE="\Runtime\libraries\Character\davo_3_PACK\KLUTHSKIN.bmp"/>
<SupportAsset VALUE="\Runtime\libraries\Character\davo_3_PACK\SACK-SKIN.bmp"/>
<SupportAsset VALUE="\Runtime\libraries\Character\davo_3_PACK\THE-SACK.pz3"/>
<SupportAsset VALUE="\Runtime\libraries\Character\davo_3_PACK\UVSACKA.bmp"/>
</SupportAssets>
</Product>
</Products>
</ContentDBInstall>
I guess that it could be I need all the other stuff in there (like COMPATABILITY for each asset) but just leave it blank....
I don't think you should have the </Asset> lines.
For the Wilmap items that work, what do they have for Store ID and Global ID?
Does Re-Import Metadata list the .dsx files you've created?
That did the trick, Mike. Thanks for reposting your tip! Some of the 4.9 threads get so large, I haven't been keeping up with them. I made this icon 182x254 so it displays full size if I hover the cursor over it, but I don't remember why I chose that size... could be from noticing a tip icon pixel dimension.
Oh, great. I wondered how that was done. So you just make the "support" folder icon that bigger size and then it's small in the normal icon but you get the bigger one when you mouse over it?
I'm pretty sure each product needs to have a unique GUID or KEY, in this case it's the "Global ID" field, for the CMS database to identify each product.
This is just one of the files from the Steam Bike Pro dsx
<Assets>
<Asset VALUE="Props/VaL SteamBike Pro/Barrels.dsa">
<ContentType VALUE="Preset/Materials"/>
<Audience VALUE="Teens"/>
<Categories>
<Category VALUE="/Default/Materials/Props"/>
</Categories>
<Compatibilities>
<Compatibility VALUE="/Steam Bike Pro/Barrels"/>
</Compatibilities>
</Asset>
So maybe I should have all the sub vlaues listed, but left blank?
Wilmap's doesn't have a store ID (I didn't at first either, but figured it couldn't hurt to add since it didn't work without one)
<?xml version="1.0" encoding="UTF-8"?>
<ContentDBInstall VERSION="1.0">
<Products>
<Product VALUE="Genesis Pyjamas">
<GlobalID VALUE="63a25853-78d1-409f-bf84-a8e946870f47"/>
<ProductToken VALUE="WILMAP_0013"/>
<Artists>
<Artist VALUE="Pusey Designs"/>
<Artist VALUE="Wilmap"/>
</Artists>
Yes, and the icons enlarge when viewing the Product Library and Content Library too. I'm perplexed why in the content library products that contains both a small file icon and a larger tip icon that have identical images. If you just have one large file icon, it will display small in the Content Library, but acts as a tip icon when you hover the cursor over it. I like how some PA's are using a tip icon to give usage tips for their products.
So either there is a specific field that needs filled for this to work, or I'm looking at the completely wrong files.
Since Wilmap's dsx is pretty large (Lots of files in the product)
I've attached one of their dsx saved as txt for easier opening
and I've attached one of my script-created dsx saved as a txt for easier opening.
I think the problem is not having a unique GlobalID.
I can try generating a random one for each item and see what that does.
*edit*
well that didn't work :(