3D ART :- DAZ Studio Content Organization
MANAGE CONTENT DIRECTORIES
Even before using DAZ Studio content organization has been an issue. Because of that I’ve setup my workflow to download, virus check etc., Organize purchased and not purchased items and making sure that Items I do have appear in the content database(s) with appropriate meta data that helps describe my content. Someday I’ll be exporting from DAZ into formats for usage within Unity and Unreal environments, and that management can even be more tedious. I also follow the same and similar formatting rules for using light room, Photoshop and processing my GoPro videos’ So, it’s good to identify and setup a workflow or a workflow that has few well thought out steps so you’ll continue using a method.
Content Is Expensive
Another thing, content is expensive and to not protect it like other assets is crazy stupid. Along with your time to setup organize and process can be very time consuming. So, I’ve started to take a look at how I can organize my content the automated way. With this in mind, this posting covers simple hard drive organization first and foremost and what to look for in the zip files you get from various sources that you’ll be using in DAZ3D. From my usage of DAZ3D, and reading the forums I’ve seen the pattern and structure that exists for content downloads.
Sites For Content Purchase
The best way to learn is to dig in on this issue. Hopefully you’ll find the information useful as well. Before I get to content structure on my
PC, I thought I would start with some break down of zip files and their organization for DAZ and Renderosity which are two sites I’ve purchased content and downloaded free content from.
ZIP File Structure and DAZ Content Downloads
I’m sure that not all sites follow the same format and organization for producing packaged ZIP files for import, either using the DIM :- Daz Install Manager or by manual installation. My topic also covers stuff after January 01 2017 as that’s the month I started using DAZ and don’t really have much older content but this posting should fit for multi methods.
Daz studio names content manually and DIM downloaded zip files with IM99999999-01_NameOfProduct.ZIP. If there are more than one to install for same SKU# It will be IM99999999-02_NameOfProduct.ZIP etc. This is nice as the product SKU# and name is included in the in the name.
For Example This file is called IM00004422-01_MedievalFurniturePack.zip that I manually downloaded. Searching for 4422 in the product store
When you select the product image https://www.daz3d.com/catalogsearch/result/?q=4422 displays the page Medieval-Furniture-Pack. Which is also part of the name.
That makes it easy when you want to look up content pages. It could be important if you want to search for something. If the dashes “-” are missing when trying to run the url you’ll recive a 404 error so just add the “-” back in.
By changing the number
A link like this and you will be taken to the product page where you can download related items that I’ve found to include templates, or additional usage documentation.
Included in the root portion of the zip file is an Manifest.dsx text wise is an XML file as *.XML file which is basically a text file organized kind of like the hierarchy of a folder structure.
The outer tags just tell DAZ Install what version the install manage is and the GlobalID is an identifier called a GUID that identifies the product id.
SIDE NOTE: Powershell can use $myGuid = [guid]::NewGuid()
<DAZInstallManifest VERSION="0.1"> <GlobalID VALUE="7449d014-cc18-e696-c9d6-a90a165153f6"/> <File TARGET="Content" ACTION="Install" VALUE="Content/ReadMe's/MedievalFurnitureREADME.htm"/> THE REST OF THE FILES ….. </DAZInstallManifest>
Some ZIP Files have an additional file called Supplement.dsx. This particular ZIP doesn’t include one. In it's simple form it looks something like this: <ProductSupplement VERSION="0.1"> <ProductName VALUE="Medieval Furniture Pack"/> <InstallTypes VALUE="Content"/> <ProductTags VALUE="DAZStudio4,DAZStudio3,DAZStudioLegacy,Poser9,PoserLegacy"/> </ProductSupplement>
ZIP File Structure
I’ll show why this could be helpful.
Now if you look at the hierarchy you can see that the manifest values are showing DAZ Install Manager where to install content.
Actually it is pretty straight forward way to organize and get thinking along the lines of organizing and managing content.
XML NOTEPAD :- Is Free
If you’re included to. 🙂 you can download a tool from Microsoft called XML Notepad. Its free and that makes
The tool even cooler. Here is the Manifest.dsx for IM00004422-01_MedievalFurniturePack.zip. I’d post a link, you just never know if a link is active or not.
Who knows all of this could change in the future. But, for now this has helped me understand the structure of content and how to manage this content
I also bring up the Manifest.xml file now, as I’ve built a tool that will read thru content folders without manifests and generate manifests for that content
Regardless of where you found freebies and made purchases. I’ve actually used PowerShell for this process as I’m still new to python. I’ve been recreating the same process with Python so hopefully someday can be ran as a python script via DAZ.
DAZ Install Manager-DIM
And, using DIM as it’s called installs the content into the default “Content Files Install To:”
If you downloaded to the default download folder
And looking at that folder for SKU# 4422 (been using all along for this article) You can see the same structure of zip file from above along with its manifest.
Again no supplement file from content downloaded using DIM.
If you notice there is IM00004422-01_MedievalFurniturePack.dsx which is essential an *.XML file that I mentioned.
Included in ZIP(if one were to exist) <ProductSupplement VERSION="0.1"> <ProductName VALUE="Medieval Furniture Pack"/> <InstallTypes VALUE="Content"/> <ProductTags VALUE="DAZStudio4,DAZStudio3,DAZStudioLegacy,Poser9,PoserLegacy"/> </ProductSupplement>
Product download had dramatically more information and is the same name as zip download with *.dsx extension. <?xml version="1.0" encoding="UTF-8"?> <ProductSupplement VERSION="0.1"> <ProductName VALUE="Medieval Furniture Pack"/> <ProductStoreIDX VALUE="4422-1"/> <UserOrderId VALUE="24410813"/> <UserOrderDate VALUE="2017-04-05T20:19:08Z"/> <InstallerDate VALUE="2013-02-22T19:49:20Z"/> <ProductFileGuid VALUE="9857ba43-ad04-d6b1-a258-80799256b889"/> <InstallTypes VALUE="Content"/> <ProductTags VALUE="DAZStudio4_5,DAZStudio4,DAZStudio3,DAZStudioLegacy,Poser9,PoserLegacy,CloudAvailable"/> </ProductSupplement>
Having 2 different essentially supplement files is not good unless that’s how it’s intended to be. From my short example above
There is a <GlobalID VALUE=”7449d014-cc18-e696-c9d6-a90a165153f6″/> and <ProductFileGuid VALUE=”9857ba43-ad04-d6b1-a258-80799256b889″/>
The names are different but I wonder if they are being used for the same purpose and should be the same name and GUID value. One could
be a ProductID and the other could be VendorID I’ll see If I can find out.
Content Organization Hard Drive
Organizing your hard drive is much like the ordering of content free and otherwise. You go to a site order. :-). After the purchase
You can download your content into a decent organized folder structure. I keep mine by order # if purchased and free by “content creator” If
There is a name found.
After my downloads are complete, I run from Powershell command line tools to extract, create manifest and create DUF files for text files.
I start by reading thru the unzipped files and zip to the passed in variable
$CopyFromFolder = “Drive:\Downloads\Purchase from DAZ”
$CopyToFolder = “Drive:\Downloads\Purchase from DAZ\UnZipped”
$CopyFromFolder = “Drive:\Downloads\Purchase from Renderosity”
$CopyToFolder = “Drive:\Downloads\Purchase from Renderosity\UnZipped”
Files are unzipped into folders based on ZIP file names.
That’s it for now. Next time I’ll go over the Powershell that does the work.
Comments are welcome.
Thoughts & Ideas, Joseph Kravis 🙂