Highlighted

How to tap into the progress scope for publish collection updating

LEGEND ,
Apr 22, 2012

Copy link to clipboard

Copied

By default, Lightroom puts up a progress scope:

title: Updating Published Collections

caption: Updating Publish Collection

I'd like to replace it with a better one, or at least modify the caption.

Any ideas?

Thanks,

Rob

Topics

SDK

Views

1.4K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

How to tap into the progress scope for publish collection updating

LEGEND ,
Apr 22, 2012

Copy link to clipboard

Copied

By default, Lightroom puts up a progress scope:

title: Updating Published Collections

caption: Updating Publish Collection

I'd like to replace it with a better one, or at least modify the caption.

Any ideas?

Thanks,

Rob

Topics

SDK

Views

1.4K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
LEGEND ,
Apr 23, 2012

Copy link to clipboard

Copied

Is this supposed to be a feature? - that all publish service updates look the same, and progress is very un-informative: it's supposed to just work...

I mean, I can always put up a second progress scope for details - but then there's two of them when there should be only one: yuck.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
New Here ,
Apr 24, 2012

Copy link to clipboard

Copied

Hey Rob,

I do this:

  local progressArgs = {

              ["title"] = "This is the main title",

              }

  local progress = exportContext:configureProgress(progressArgs)

  for i, rendition in exportContext:renditions() do

        --- whatever

      progress:setCaption("This is the small text below the progress")

  end

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
LEGEND ,
Apr 24, 2012

Copy link to clipboard

Copied

Optimator,

Have you got this working in a publish service too?

It only works for me when it's being exercised as a reglar export, not as a publish service.

As a publish service its always:

upd_pub_coll_prog_scope.png

Note: the published collection name is "Publish Collection" in this case, but the caption is always "Updating {collection name}".

As a reglar export:

upd_pub_coll_export.png

Same code, similar to your example.

???

Rob

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Explorer ,
Apr 24, 2012

Copy link to clipboard

Copied

I think the problem lies in the fact that, in the case of publishing, the progressScope that you have access to in processRenderedPhotos() is a child of the scope being displayed in Lightroom (the scope being displayed shows the progress of the entire publish operation, spread over one or more published collections, with processRenderedPhotos() being called once for each collection).  In the case of a "normal" export, the scope you get and the one being displayed are one in the same.

I realize this doesn't help, but at least may give you some insight into what (I think) is going on.

-Don

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
ddarz4u LATEST
Explorer ,
Jul 01, 2020

Copy link to clipboard

Copied

Hi,

With the help of @Don_mckee's reply, I found a workaround to get the parent scope.

//this is in global 
local parentProgressScope

function setParentProgressScope(currrentProgressScope)
    if not parentProgressScope then
        if not currrentProgressScope:getParentScope() then
            parentProgressScope = currrentProgressScope
        else
            return setParentProgressScope(currrentProgressScope:getParentScope())
        end
    end
end

//below is in processRenderedPhotos

local progressScope = exportContext:configureProgress({
        title = "title"
    })
setParentProgressScope(progressScope);
// hereafter parentProgressScope will be the first ancester
//you can change the text as below
        parentProgressScope._operation = "replace text for Publishing ...."
//or you can create a progress scope and set as the parent
local childScope = LrProgressScope:new {parent = parentProgressScope}



Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...