Rebuilding Daz Manifest
BlueFingers
Posts: 921
I recently migrated to Linux. Due to the migration to a new system, I am currently in the process of reconstructing my library manifests (.dsx files) so that the DAZ Install Manager (DIM) and DAZ Studio can "see" my 3k+ installed products on my external SSD. I have successfully mapped my library, but DIM requires specific metadata, specifically the Order ID and Purchase Date, to populate the "Installed" tab correctly. Does anyone have an idea how to rebuild these manifest files in the ManifestFiles directory?
Alternatively, I am looking for a way to obtain a CSV or JSON export of my complete order history. Specifically, I need a list that contains:
- SKU Number
- Order Number (The DAXX-XXXX-XXXX... format)
- Order Date (Date of Purchase)
Is there a way to request this from DAZ Help, or is there a script/tool known to the community that can export this data from the "My Orders" page? I want to avoid scraping the many pages of order history manually if possible. Is there a DAZ API for this?
To be clear: I have the actual content files, I am simply trying to rebuild the .dsx "identity cards" for the manifest so my database is restored without having to re-download all my assets.
Any advice or assistance in getting this data in a structured format would be greatly appreciated.

Comments
If you still have the original manifests from when you installed the products, they have all that info in them. You can move them to the external drive, if you like, but be sure to change the path in DIM for the Manifest Archive. One important change is needed for the manifests themselves, though, wherever they might be. The original manifests have the full path to where the contents were installed. For DIM to "see" the assets, you need to change that path in each .dsx file. Look for <UserInstallPath VALUE="[library path]/> and change the path to your new one. Use a program that can batch modify files (like Notrepad++) to do them all at once. Try a couple first to make sure you get it right. Should take all of five minutes...
Oh, DIM can export a ton of data to CSV. Select products in DIM in each tab, right-click and choose "Export Selected to CSV..." and pick the fields you want to include. Another five minutes.
Thanks for the tips! To clarify: I don't have the original manifests (they were lost in the move), which is why I'm trying to rebuild them from scratch using the support files on my SSD. Since DIM doesn't "see" my 3k items yet, I can't use the "Export to CSV" feature.
There is no way to rebuild the manifests easily, if at all. You will have to re-install everything, sorry. The support file has the metadata for the product, but nothing regarding the order itself. That is why I actually back up my manifest files.
I appreciate the insight! I'm actually already past the "proof of concept" stage. I’ve successfully rebuilt a few manifests manually and they work perfectly in DIM. You're right that the support files don't have the order data, which is one of the reasons why I'm hunting for that CSV. If I can get a list of my Order IDs and SKUs, my script can generate all 3,000+ manifests in a few seconds, saving me a gigantic re-download.
Does anyone know if Daz Support has provided this type of data export to users in the past?
Well, if scripting is your game, you could extract that info from the Order pages. Product name, SKU, order number and date are all there.
Load the ONE order page in your browser (BIG hint: the url ends with ?limit=50 ... by default...)
View Source and Copy
Paste into notepad++ and find the tbody tag - copy <tbody>***</tbody> to a new notepad++ tab
Follow this: https://notepadok.com/blog/en/posts/how-to-remove-all-html-tags-in-notepad
Do some more replacing (tab characters etc) / trim whitespace etc <-- just copy the lines you don't want and paste into the "find" box of the Search/Replace... leave Replace box blank. Hit Replace button. (the html is nicely formatted, so one copy/paste/replace will nuke almost all of it)
In much less than 5 mins you'll have just the data you're needing
voilà
Sorry, maybe I am confused but I don't see how an order page (I assume you mean the overview of multiple orders) would help. I need the SKU Number, Order Number and Order Date of every product I own, this can not be found under "Orders". These details can be found if I open a specific order (View Order), but there is no way to extend it to see multple orders or limit to manipulate as it only contains products specific to that particular order number.
I am afraid I am going to have ask Customer Service for a CSV file. I am pretty sure they can make one, only thing is, downloading everything all over again is probably way faster. Ugh,...
Oh. Everything but SKU
The SKU and Order date are in the HTML of your Product Library, but no order number

File a ticket... I've always found them helpful
(I once did a download all... It's a wait but it is easy...)
Ah well, I decided downloading is probably going to be the way to go. Lesson learned, always back-up your manifest.
If you have access to a Windows PC, you can get the SKU, Order Date and Order Number for all your products as CSV from this app (free):
https://3dcontentmanagers.com/software/pm-daz
You need however to download the Library pages (you can skip the product page data and promos) for all your products with it, to get the data, this may take some hours if you have many products.
If you already have a list of SKU's for all your products you can also get these data from the ajax files on the server, using a bit of programming. You can also get an SKU list from the app, that only takes a few seconds to download.
Note however, that some products are manually added and do not have any Order Number or -Date in the library (see screenshot), I'm not sure how DIM handles these but that should be easy to find out I guess.
Thanks for the suggestion! I really appreciate the link to the PM-Daz software, sounds like exactly the kind of utility that should have been built into Daz.
However, since my primary workstation is running Linux, I am a bit wary about relying on a third-party Windows scraper. Even if I can get it to run via Wine, the "hours-long" process you mentioned might be risky if the compatibility isn't 100% stable.
However, I am at the point that I am going for the option that is just the easiest and that is re-downloading my library.
The SKU can also be found in each product .dsx file in Runtime/Support, as should most of the information you need to rebuilt the manifest files.
From what I saw yesterday, the biggest exceptions are UserOrderId, UserOrderDate, ArchiveDate, InstallerDate (these last two seems to be identical) and ProductFileGuid (I don't know if it's the same for everyone or if it's randomely generated by DIM). InstalledSize can likely be calculated by looking adding the size of all files included in the product (pulled from the .dsx file in Runtime/Support).
The first two UserOrderId, UserOrderDate are visible on our Daz3D Library, so with an HTML scrapper and a way to use cookies from Daz3D.com, it should be possible to pull them all automatically (hopefully doing it slowly enough to, first, be a responsible user and, second, avoid triggering any DDoS security likely used by Daz to protect their servers from abuse).
Having said that, is it really necessary to have them properly filled for DIM to be able to check for an update? Maybe you can get away with looking for them by ignoring UserOrderId, UserOrderDate (the couple of freebies I installed with DIM doesn't seem to have them filled), by generating ProductFileGuid randomly and by setting ArchiveDate, InstallerDate a couple of weeks in the past in case DIM is using them to check for an update.