 
     # send this off for async processing
     Task.start_link(fn ->
+      series_count = Enum.count(series)
+      progress_step = div(100, series_count) / 100
+
       for s <- series do
         new_path = Path.join([category.cfg.upload_path, s.slug])
 

        |> Brando.repo.update

        Brando.Portfolio.Utils.recreate_sizes_for_image_series(s.id)
      end

      orphaned_series = Brando.Images.Utils.get_orphaned_series(series, starts_with: category.cfg.upload_path)

          gettext("Category propagated, but you have orphaned series. Click <a href=\"%{url}\">here</a> to verify and delete",
                    url: Brando.helpers.admin_portfolio_image_category_path(conn, :handle_orphans, id))
        else
          nil
        end

      Brando.SystemChannel.set_progress(1.0)
      
      if msg, do: Brando.SystemChannel.alert(msg)
    end)

    conn
    |> render(:propagate_configuration)
  end
