Skip to content

Instantly share code, notes, and snippets.

@imkingdavid
Created November 2, 2013 21:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save imkingdavid/7283795 to your computer and use it in GitHub Desktop.
Save imkingdavid/7283795 to your computer and use it in GitHub Desktop.
<imkingdavid> EX|away: i think one of the main reasons for install/enable/disable/uninstall was to rename "purge". But if we have "uninstall" it doesn't make sense to not have "install"
<EX|away> uninstall makes sense to me without having install
<EX|away> this should be in an RFC to have others who are not strictly developers comment on
<imkingdavid> alright, i'll make one
<-> EX|away is now known as EXreaction
<imkingdavid> https://area51.phpbb.com/phpBB/viewtopic.php?f=108&t=44881
<EXreaction> ty
<naderman> replied
<naderman> I disagree with both changes
<nickvergessen> will reply i disagree with anderman in both
<nickvergessen> thats my experience as a support team member and mod author
<naderman> you even introduced two different modes in the acp
<naderman> that both do exactly the same thing ?_?
<naderman> wtf
<nickvergessen> because we have pre_enable
<naderman> ?
<naderman> that should be called in both cases?
<imkingdavid> the fact that enable performs both installation and enabling the extension is a design flaw. running migrations should be a separate action from enabling the extension to be recognized by the rest of the software
<nickvergessen> and i can not get the state in the actual enable step anymore, when it needs to refresh
<naderman> imkingdavid: I disagree, you can simply run migrations before actually enabling?
<imkingdavid> well, install performs enable, but it's two separate actions
<EXreaction> enable performs install when not installed basically
<naderman> why does a user have to understand there are two things happening
<EXreaction> the user only cares that it's working, not what's going on to make it work
<naderman> exactly
<naderman> maybe two separate steps may seem logical to a developer
<naderman> but to a user it should just be one click on "make this damn thing work"
<naderman> aka enable
<nickvergessen> remove - Packages installed are removed (Does NOT include configuration files)
<nickvergessen> purge - Purge is identical to remove except that packages are removed and purged. Purge meaning that any configuration files are deleted too.
<imkingdavid> but it should be called "install" because that is what happening
<nickvergessen> lol read it , the description is even the wrong way round
<naderman> nickvergessen: no?
<naderman> nickvergessen: in this case config files == schema changes
<naderman> we have no "remove"
<naderman> currently anyway
<naderman> imkingdavid: not necessarily
<naderman> if you disabled an extension
<naderman> deleted its files
<naderman> and then put the files back
<EXreaction> imkingdavid, the user doesn't need to know that it's installing or what it's doing
<naderman> then you're enabling not installing?
<naderman> really
<naderman> the user should not need to "install" anything
<naderman> he should just enable it when he wants it to be enabled
<imkingdavid> naderman: you never uninstaled, so yes, you're enabling
<naderman> this some kind of windows concept
<naderman> installing or uninstalling is not something we do at all
<naderman> we enable or disable extensions
<nickvergessen> naderman: but users want to do it
<nickvergessen> really
<naderman> you need to run migrations on enable even if you only disabled them
<naderman> since you may have updated the extension
<nickvergessen> you create tones of support requests with that
<naderman> and new migrations could be there
<nickvergessen> "how do i uninstall that stuff"
<naderman> nickvergessen: no I disagree
<naderman> everyone will understand that if you want to turn something on
<nickvergessen> trust me
<naderman> you click on the enable button
<naderman> trust me
<naderman> ...
<nickvergessen> i answered 2k support requests for my mods
<nickvergessen> people are like that
<naderman> none of thos related to this issue
<naderman> people understand "enable" means "enable"
<nickvergessen> yes
<naderman> what do you expect people to ask?
<EXreaction> the separation of install/enable is looking at it from the old 3.0 style of modifications, which did have to be separately installed/enabled
<nickvergessen> but not that purge is uninstall
<naderman> nickvergessen: ok that terminology we can discuss
<naderman> but we're at install/enable now
<naderman> I agree entirely with EXreaction
<EXreaction> purge may be confusing or too technical for users
<naderman> fair enough
<naderman> that we can rename
<naderman> but I really don't want an "install"
<EXreaction> we can either make sure it's described or find a better name for it
<nickvergessen> okay
<nickvergessen> so
<nickvergessen> enable disable and uninstall?
<naderman> well I would have used something like "Purge from database" in lang files
<nickvergessen> and later we add delete which will then also delete any files
<naderman> which is perfectly clear I think?
<EXreaction> naderman, also most users I think are not sure what a "database" is :P
<naderman> EXreaction: "Purge data"?
<nickvergessen> naderman: purge from db is wrong
<naderman> "Purge extension data"?
<naderman> nickvergessen: that's what it does though?
<imkingdavid> i don't like using the word "purge" here I think
<nickvergessen> on unisntall i would also remove the image files from the gallery
<naderman> nickvergessen: ah ok
<naderman> then
<naderman> "Purge extension data" works
<naderman> imkingdavid: what would you prefer
<nickvergessen> then people wonder whether they need to purge + disable
<nickvergessen> :P
<naderman> nickvergessen: the UI should make that clear
<imkingdavid> not sure
<naderman> and if people disable first and then purge, nothing bad happens anyway
<naderman> and if they purge it'll clearly not be disablable anymore
<EXreaction> if they hit purge it should give a full and clear explaination of what's going to happen
<naderman> so that'll be clear too
<naderman> EXreaction: yes
<naderman> but I would not label the button just "purge" anyway
<EXreaction> that's the most important thing
<EXreaction> Uninstall might work best or be most understandable for users
<EXreaction> the key is that they recognize generally what's going to happen, then we fully explain what will happen
<naderman> well uninstall is a very bad term though
<EXreaction> I agree
<naderman> as it is entirely unclear about what exactly happens
<nickvergessen> naderman: but everyone gets what it does
<naderman> nickvergessen: no
<naderman> nickvergessen: nobody will know if that deletes files
<naderman> or the database
<naderman> or both
<naderman> or only disables it
<nickvergessen> let me make a screen for you
<naderman> or if it deletes all config
<naderman> etc.
<naderman> uninstall is ambiguous
<naderman> so I want to find some clear term
<naderman> that describes it will delete data
<naderman> and nothing else
<imkingdavid> just for reference, and i'm not saying that this is what we have to/should do: wordpress has "install", "activate", "deactivate", and "delete"
<naderman> let's go with "Delete data"?
<imkingdavid> delete only shows up when the plugin is deactivated
<naderman> or "Delete extension data"?
<naderman> imkingdavid: we can even do that
<EXreaction> Delete data seems good to me
<imkingdavid> delete data is fine
<imkingdavid> no need to specify 'extension' since they're in the extensions management module
<EXreaction> it might be safer to require disabling before deletion
<naderman> we can even call it deletedata rather than purge internally
<naderman> imkingdavid: right
<naderman> EXreaction: yeah makes sense
<naderman> let's do this then
<naderman> nickvergessen: ^
<nickvergessen> http://files.flying-bits.org/2013-11-02_22_32_33.png
<nickvergessen> http://files.flying-bits.org/2013-11-02_22_32_34.png
<naderman> so?
<naderman> I do not want uninstall as an action
<naderman> let's do what we just said
<nickvergessen> this is my current patch
<naderman> delete data
<naderman> same explanation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment