Migration Guide

CodeSort to Luster

Move fan code graphics from CodeSort into Luster. Import code categories, sizes, donors, and code images.

Important!

Before You Start

  • Backup your CodeSort database! Do not delete it until you have manually checked that your data has imported correctly. Keep the old database longer if you want extra reassurance. (Your CodeSort install is not deleted or changed.)
  • Backup your Luster database (if you've already settled into Luster)
  • Import order matters. If you are also moving from Enthusiast, Listing Admin, or Fanatically, import those owned listings first. Then import CodeSort. CodeSort codes need to attach to Luster listings that already exist.

CodeSort is different from full fanlisting scripts. It mainly stores codes, code categories, sizes, donors, and code images. For best results, import or create your owned listings in Luster before importing CodeSort.

CodeSort Table Layouts

CodeSort may use tables such as:

Tables
codes
codes_cat
codes_sizes
codes_donors
codes_options

Some installs may instead use tables like:

Tables
codes_codes
codes_cat
codes_sizes
codes_donors
codes_collective

Older, unprefixed installs may instead use bare table names:

Tables
codes
cat
sizes
donors
collective

Luster detects all three layouts automatically.

CodeSort is a code manager, not a fanlisting importer.

It does not replace the Enthusiast, Listing Admin, or Fanatically import. Use those importers first to bring in your owned listings.

Matching

How Luster Matches CodeSort to Luster Listings

Luster needs to know which fanlisting each code belongs to.

Depending on the CodeSort layout, matching works in one of two ways:

  • Default CodeSort installs can match by listing ID.
  • Other CodeSort layouts use title matching from CodeSort’s collective table.

For title matching, the titles need to be the same or very close.

CodeSort fanlisting title Luster listing title Result
Final Fantasy VII Final Fantasy VII Matched
Sailor Moon Sailor Moon Matched
FFVII Final Fantasy VII Not matched automatically

If a listing is not matched, its codes are skipped and shown in the import report.

Walkthrough

Step-by-Step Import Instructions

  1. Import or Create Owned Listings First

    Before using the CodeSort import, make sure the matching fanlistings already exist in Luster.

    If your main fanlisting data is in Enthusiast, Listing Admin, or Fanatically, import that first.

  2. Open the Import Wizard

    In the Luster admin panel, go to Import Data → CodeSort.

  3. Connect to CodeSort

    On the Connect step, choose how Luster should read your old data. You have two main choices:

    • Use Live database connection if your old CodeSort database is still available on the same server or your host allows database connections. In most cases, leave your Host as localhost.
    • Use Upload SQL dump if you exported CodeSort from phpMyAdmin or with mysqldump. The file should end in .sql:
  4. Choose Import Options

    On the Options step, choose what to import. For most users and especially for first time migrations, keep all boxes selected:

    Choose Image Sources

    Luster will automatically detect images and migrate them without you needing to do anything. If you wish to give fallbacks for your image migration, or if your images are hosted on a different website or database, this section can help.

    • Use Server Path if Luster and CodeSort are on the same server:
    • Use Live Site URL if your old images are still publicly reachable:
    • Use ZIP Upload if your host blocks remote image fetching, or if you have the old image folders saved on your computer. ZIP files are matched by filename, so the folder structure inside the ZIP does not need to be perfect.
  5. Preview the Import

    The Preview step is a dry run. It does not import anything yet. Read warnings carefully. If Luster says some fanlistings are unmatched, those codes will not import until the listing titles or IDs line up.

  6. Run the Import

    When the Preview looks right, run the import. The Done step shows what was imported and whether any code images failed to copy.

Examples

Concrete Examples

Import Order

You used Enthusiast for fanlistings and CodeSort for codes. Recommended order:

  1. Import Enthusiast.
  2. Check that owned listings exist in Luster.
  3. Import CodeSort.

This lets Luster attach codes to the correct listings.

Title Matching

CodeSort has: Final Fantasy VII.

Luster has: Final Fantasy VII

The codes match and import successfully!

If CodeSort has FFVII but Luster has Final Fantasy VII, Luster may not match them automatically. Rename one side to match, then re-run the import.

Global Sizes Become Per-Listing Sizes

CodeSort has one global size: 50x50. If that size is used by three matched listings, Luster creates a 50x50 size for each listing that needs it.

This is expected. Luster keeps code sizes per listing.

Global Donors Become Per-Listing Donors

CodeSort donor “Spyder” may be global. In Luster, “Spyder” is created for the listings that actually use Spyder’s donated codes.

Troubleshooting

Edge Cases & FAQ

Codes were skipped because listings were unmatched

This usually means Luster could not connect a CodeSort fanlisting to a Luster listing. Check whether the titles match. If needed, rename the Luster listing or CodeSort collective title, then re-run the import with Skip selected.

Collective-scope codes were skipped

Some CodeSort records may be attached to the whole collective, often with values like code_fl=0. Luster codes are always attached to a specific listing, so collective-scope codes are skipped.

Collective-scope categories were skipped

CodeSort categories attached to the whole collective do not have a direct Luster equivalent. Luster code categories are per listing.

Code images did not copy

Try one of these:

  • Enter the server path to the code images folder.
  • Enter the live URL to the code images folder.
  • Upload a ZIP of the code images.
  • Check whether filenames in the database match files on disk.
Sizes imported more than once

This is normal. CodeSort sizes are global. Luster sizes are per listing.

Donors imported more than once

This is also normal. CodeSort donors are global. Luster donors are per listing.

Should I import CodeSort before or after my listings?

After. CodeSort codes need matching Luster listings.

Will CodeSort create owned listings in Luster?

No. CodeSort imports codes and code-related data. Use the Enthusiast, Listing Admin, or Fanatically importer for owned listings.

What happens to unmatched codes?

They are skipped and listed in the report.

Can I run the CodeSort import more than once?

Yes. Use Skip when re-running so Luster keeps existing records and imports only missing pieces.

Do I need to migrate images?

You can import code records without images, but the public codes page will not be very useful until images are uploaded. It is usually best to migrate images during the import.

Why are width and height sometimes still filled in when images fail?

If Luster cannot read the image file, it may use the CodeSort size record as a fallback.

When can I remove CodeSort?

Wait until codes, images, categories, sizes, and donors look right in Luster. Keep a backup even after removing the old files.