In normal published collections I can do this
publishedCollection:addPhotoByRemoteId( photo, remoteId, remoteUrl, true )
and that will add a photo to the collection and set its published status to true and would not appear as photo need to be publsied by pressing the Publish Button. This gives me flexibility to add photos to multiple published collection without the requirements to republish. Also, it can act as update function if the photo is already in the collection. But.. with smart collection the function call addPhotoByRemoteId fail as there is no such method.
I am building a plugin that keep track of a single instance of the photos in the remote server (flickr) and each collection is just a mere photoset where a photo can be available within multiple photosets (collection in lightroom). with the function describe above my plugin worked well... but when I created a smart collection and try to publish that.. you can guess it, the function call fail.. for now I just diasble it for smart collections...
I want to suggest..
publishedCollection:setPhotoRemoteId(photo, remoteId, remoteUrl, status)
a somewhat similar method to the previous one but it only work if the photo is aready in a collection thus will raise error if the photo is not in that collection. This will work both on normal publish collection or smart publish collection.
Or better still.. make the first method addPhotoByRemoteId to work in both normal or smart collection. If the photo exist in smart publish collection because meeting criteria of the smart collection it will update the remote informations but if the photo is not already in smart publish collection method just exit quietly.