GithubHelp home page GithubHelp logo

Comments (16)

indirect avatar indirect commented on May 16, 2024

≖__≖

from data.

wagenet avatar wagenet commented on May 16, 2024

@pixelcort Honestly, I can't see how this would ever be a common case. Once something is deleted, it's gone. I can't see that you'd ever want to resurrect an actually deleted item. If you want "Trash Can" like functionality, then you should implement separately from deletion.

from data.

pixelcort avatar pixelcort commented on May 16, 2024

That's too bad. On my current ember app and the last few SC apps, all three APIs had cases where things deleted would come back.

Once again, I would have closed this issue which I opened myself, but apparently it was closed for me. I can't believe it's normal on GitHub for issues to be closed by anyone other than the person who opened them.

from data.

pixelcort avatar pixelcort commented on May 16, 2024

The common case are types of things that have composited ids derived from other things. Conceptually you can think of them deleted, but then later when someone else creates an identical thing, that new thing coincidentally has the same id due to the id being derived from its data.

from data.

pixelcort avatar pixelcort commented on May 16, 2024

Perhaps instead of undelete, a better explanation is, after something is deleted, something new is made that coincidentally has the same id.

from data.

wagenet avatar wagenet commented on May 16, 2024

@pixelcort That explanation makes a bit more sense, I'll reopen for @tomdale and @wycats to review.

As for closing tickets, I'm an admin on this project so I take it that I'm in a position to close tickets. Whenever I close tickets, I always review any additional responses and will reopen if a good argument is put forth.

from data.

wagenet avatar wagenet commented on May 16, 2024

I should say however that it seems very odd for the same ids to be reused, even for similar/identical data. I would recommend changing the API over us changing ember-data.

from data.

wagenet avatar wagenet commented on May 16, 2024

Crap, that close was accidental.

from data.

pixelcort avatar pixelcort commented on May 16, 2024

Yeah one example is a User - Subscriber - Chatroom relationship, where Subscriber id is the composite of the user name and the chatroom name. To unsubscribe from a chatroom, the app would send a DELETE /subscriber/pixelcort-cats . Later, if I were to re-join that cats chatroom, the server would create a new subscriber object with the same 'pixelcort-cats' id.

As more servers move to NoSQL-based databases, I think we're going to see more cases where ids are not going to be serially incrementing integers.

@wagenet , sorry about getting upset about the ticket closing; I'm still getting used to GitHub etiquette and came from a place with different cultural beliefs about who was expected to close tickets.

from data.

wagenet avatar wagenet commented on May 16, 2024

@pixelcort Sorry to cause offense. I hope it makes a little more sense now. I try to stay aggressive on closing tickets otherwise too many build up and it's hard to track them all. Anyway, I'm leaving this one for Tom and Yehuda to discuss.

from data.

wycats avatar wycats commented on May 16, 2024

One approach for us to use would be to totally remove a record from the store once it has been marked by the server as confirmed deleted. Would this work for you?

from data.

pixelcort avatar pixelcort commented on May 16, 2024

@wycats that should work; as the new instances that come in later on would get put into various DS.AdapterPopulatedModelArrays.

from data.

jfgirard avatar jfgirard commented on May 16, 2024

Hi,
one other use case for resurrecting a deleted item is when there is a conflict on commit. In the case of somebody else modified the record just before i commit the deleted record, the server will reject the commit with a conflict flag. Sometimes, the right thing to do will be to put back the record because the update made by an other user make the delete action invalid. I need to move the record from state "deleted.inFlight" to "loaded.saved" and repopulate the modelarrays. I got <DS.StateManager:ember555> could not respond to event didChangeData in state rootState.deleted.inFlight. if I try to update the deleted record...

from data.

wagenet avatar wagenet commented on May 16, 2024

@wycats do we remove the record from the store now?

from data.

sly7-7 avatar sly7-7 commented on May 16, 2024

@wagenet I think this is the purpose of unloading records #200

from data.

igorT avatar igorT commented on May 16, 2024

So I believe unload fixes this, and this hasn't been active for a while so closing.

from data.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.