-
-
Notifications
You must be signed in to change notification settings - Fork 494
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecate VIP ruleset, and remove from WordPress ruleset #1309
Comments
@tomjn Could you give us a status update please ? |
When it got to the point were I would have to deprecate rather than remove things, the scope of what needed doing far outstripped the available time, so nothing further was done on that front, and I focused elsewhere. I haven't had the time to circle back to this, and I don't know when I will. Having said that, feel free to burn the VIP ruleset with the fire of a thousand suns, with extreme prejudice. It's dead weight |
While I agree with this one, the VIP ruleset does have some useful stuff in it... |
I agree and they should be migrated into the other rules, but right now:
We have the funeral party ready at hand, we just need someone to do the deed and put it out of its misery |
@tomjn Are folks at VIP using https://github.com/Automattic/VIP-Coding-Standards/ and/or https://github.com/Automattic/VIP-Go-PHPCS-Blockers consistently then? |
We use https://github.com/Automattic/VIP-Coding-Standards/, which is ran on all code before it gets reviewed, all commits that arrive in SVN, and via CI for client git repos. If the clients don't run it which we encourage them to do, then it gets ran at our end https://github.com/Automattic/VIP-Go-PHPCS-Blockers can be ignored and needs archiving, it's creation is more of an internal miscommunication, which became the |
Ok, so, let's summarize and formulate an action-plan.
I propose to make the following changes to be included in the
How does that sound? And if agreed, who will send in the PR? |
This sounds good but the steps needed to actually implement this are hazy, and the resources available VIP side limited
Sounds straight forward, this is just removing bits of XML and updating the changelog correct?
I'm unclear on the mechanism for deprecation, for some of the sniffs it's clear that they were replaced, and so the replacements are included, then the originals are changed to something like this: <!-- Prevent deprecation notice when the sniff is not explicitely included. -->
<rule ref="WordPress.VIP.TimezoneChange.DeprecatedSniff">
<severity>0</severity>
</rule> But if a sniff has not been replaced, I'm unclear on the solution, or how the
Sounds straight forward
hmmm how would one do this via the
What's the ETA for v2? Are we talking weeks, months, years? My personal opinion is that we invent a time machine and remove the ruleset in the past. I honestly believe this ruleset is damaging, and the longer it remains the higher the chances of new people finding it and using it. It's already confusing just to talk about VIP rulesets without getting confused between this one and the others. If a deprecation notice is required it should be an ultra high priority to prevent new adoption of the ruleset, and bundled in the next release, be it a point release or a major release. |
The next release is v 1.0.0 and will be released as soon as the last issues for it have been sorted, either next week or soon after - see #1388.
In that case, I suggest VIP should prioritize freeing up some resources to action this issue so it can still be included in the 1.0.0 release. |
:(
That's easier said than done, this ruleset poses a problem for all, not just VIP. I know you would prefer that VIP themselves removed the ruleset, but right now the knowledge to do so simply isn't there. If it was simply removal then it would have been done by now, but deprecation raises unanswered questions, and adds additional time and resourcing cost for unknowns and research. |
I've some suggestions:
|
Sorry, but no. This is a problem for the commercial company Automattic. Adding the advise as per #1403 and possibly removing the ruleset from the I know for a fact that the Theme Review Team actually intend to use some of the VIP sniffs in the new Theme Checker, such as the ones regarding touching sessions and the admin bar. /cc @dingo-d @grappler
Well, resources can take several forms, people or money. You cannot expect/demand that a volunteer from this project spends a few days to solve the problem of a commercial company for free.
See my comment about point of view above, This is not a bug for WPCS.
No, they should not be blindly closed as N.B.: There is also the
No. WPCS uses SemVer and has said it would since it has started keeping a changelog in 2014. The timing of the
Not sure what you intend to say with this. We all know that what's removed, will still be available in the project history, but that's not the point.
We may or may not make that deadline and if a PR for this is expected within a week or two, that deadline can be moved, but we will release version If knowledge or people are the issue, see my remark above. |
As a side-note: there is an open issue in PHPCS to make deprecating sniffs easier, but that won't be implemented until PHPCS 4.0 (if at all) and based on the above discussion, I can't imagine you'd want to wait until that time. |
Yes it's a problem for VIP, but I find it disingenuous to say it is only a problem for VIP. It was only yesterday I was handling a question on stack exchange regarding the VIP ruleset. It's in everybody's interests to Jettison the VIP ruleset, not just VIPs
That was not my understanding, as I understood it, PHP changes and bootstrap files and warnings when ran were needed, not just a Readme change
It's not just a commercial company's problem, it's your problem too, it's a UX problem. Telling us to go acquire them is easily said, but a 48 hour deadline plus a major national holiday is unreasonable, as is a potential years wait. As for contracting or hiring somebody to make those changes, I've already made recommendations to do so, but that decision isn't mine to make, and is dependent on things I'm unaware of and out of my control.
My understanding is that without special measures the VIP ruleset already breaks builds with deprecation notices
I agree that they need reviewing, but question that they should remain labelled as VIP. Perhaps the |
The theme ruleset uses 10 of VIP rules (sanitizations, admin bar removal, plugin menu slug, session usage and timezones). If we would remove the VIP ruleset, we should either move some of the rules from the VIP to the Extras ruleset and see what could be moved to the planned |
The clue is in my "all that's needed from a WPCS point of view". The difference is between "discouraging usage of" (WPCS) or "removing altogether" (Automattic).
This issue has been open since February. You've had four months which I think is quite reasonable.
That's incorrect and has already been solved. |
@dingo-d That's no longer true as a number of those sniffs have been moved out of VIP. Once TRTCS starts using WPCS
That's already been done. See #1261 |
Throwing an idea out:
Since the project follows SemVer, If the VIP team aren't using the ruleset of unique sniffs, I see no point in keeping them around for |
@GaryJones' suggestion could work. I would just like to point out though, that this would involve nearly as much work (if not more) in creating a separate So while it would solve the timing issue, it would still not solve the resources issue. |
I'm in favour of Garys proposal |
@tomjn I'm glad to hear it. In that case, I look forward to seeing two PRs to that effect - one for the 0.15.0 release, one for the changes needed to the 1.0.0 release -, in time before we are ready to release 1.0.0. I guess presuming you will make someone available part-time to handle all the support requests about "phpcs for WP does not work anymore" once the releases are out, would be a bit much ? |
I will give it a best effort attempt, but chances are I'm going to be pulled away to help cover colleagues AFK for July 4th celebrations. The timescale is looking to be towards the end of next week assuming I can figure out all the parts on my own. I'll update here as I go
Unlikely, but I expect all of these would involve a pre-written response with a link to the relevant release posts, this issue, and documentation. I can spend some time and do a sweep every few days to catch items, and I'll see if I can set up some sort of notification With that in mind, what's you preferred approach to documenting this? I expect users of VIP sniffs would simply be told that they can use the 0.15 release, or rename the sniff used in their ruleset to instead reference the migrated version of the sniff should they want to use 1.0? In which case a table of deprecated sniffs and their replacements would be best placed somewhere |
@tomjn The changelog for the As annotated in issue #1388, I've already prepared this changelog for all currently merged PRs in the milestone and will pull it once the last PRs for the milestone have either been merged or re-tagged - see action list in the same issue. The |
The 1.0.0 milestone has a lot of tickets completed and a few outstanding, but I don't have a problem with moving the release date (which was arbitrarily picked) to late in July, or even early August. That would give us time to address this VIP ruleset issue correctly, and with calm supportive mindsets, rather than trying to rush it through and overlooking something. A release date as late as August would still give sufficient timespan before a 2.0.0 release at the start of the year. @jrfnl In terms of workload, what's your gut feeling about the percentage of 💡️ Having future BC-breaking commits messages start with |
@GaryJones While I appreciate how you're trying to be the voice of reason in this discussion, I don't like the idea of moving the release date more than is strictly necessary.
As an alternative, I'd be OK with bringing the
As I indicated before, my gut feeling is that having a separate
Future BC-breaks will be milestoned with a different |
In that case, for |
I think it would be good to remove the VIP ruleset and the VIP sniff category from the Other than that, I think - for this issue - we should be good to go for It would be great if we could release a |
@tomjn Is suggest closing this issue now all the sniffs and the ruleset have been deprecated. The removal will be done in 2.0.0. |
Done |
At the moment there's a VIP ruleset in the WPCS, but this is confusing, especially when VIPs and VIP itself make use of a ruleset located here named
WordPressVIPMinimum
. It's confusing for our clients and misleading for WPCS users.Instead, VIP would like to move the ruleset to our own repo, or integrate it so that it's no longer necessary. At that point talking about the two should become a lot easier, and the possibility of migrating rules back to WPCS should be more feasible. We also have plans to change severity and messages specifically for the VIP ruleset so the extra flexibility of having all VIP stuff in a VIP repo would be good
Are there any particular notes implementation wise or suggestions to keep in mind?
The text was updated successfully, but these errors were encountered: