-
Notifications
You must be signed in to change notification settings - Fork 240
Plugin support #1075
Plugin support #1075
Conversation
…es ChangeInfo objects moved to static methods in `ChangeInfoFactory`.
8d85892 to
c5caaff
Compare
# Conflicts: # plugins/versionpress/composer.lock
|
Closed by mistake; reopening. |
… custom Bulk*ChangeInfo classes Note: This commit will not pass the tests. I haven't found any easy way how to do this change in small steps. There remains a lot of related changes but is already too big; thus, I will commit it in multiple commits.
… etc. are now H2 instead of H3. This allows easier structuring inside them.
…:N references when entity becomes tracked
|
Here are some notes as I reviewed
|
| - Hooks are defined in `hooks.php` | ||
|
|
||
| All files are optional so for example, if a plugin doesn't define any new shortcodes it can omit the `shortcodes.yml` file. Simple plugins like _Hello Dolly_ might even omit everything; they just need to have the `.versionpress` folder so that VersionPress knows the plugin is supported. | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How will VP versioning mechanism handle this Empty folder ? Empty folders are not versioned by default.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really know. Originally, I didn't intend to use this directory to let VP know if the plugin is supported. It's maybe question to @borekb.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.gitkeep is an option but it's true that we didn't discuss this yet. The empty .versionpress folder seemed to me like the easiest way for a plugin author to declare explicit support for VersionPress even if no definitions are necessary.
Or maybe it could be a .versionpress file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it should be some service. The main reason is that you don't have the files before you install the plugin; therefore, you cannot say whether the plugin is supported or not on the /plugin-install.php page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. Let's talk about this later, seems like a relative detail.
| ```yaml | ||
| post: | ||
| table: posts | ||
| id: ID |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about multi column id ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
VersionPress doesn't support it yet.
docs/Plugin-Support.md
Outdated
| ### Non-database actions | ||
|
|
||
| Some actions are not directly related to the database entities, e.g. plugin installation, WP update, etc. VersionPress provides function `vp_force_action` for these actions. VersionPress will use only action specified by parameters of this function and ignore all automatically catched. For example: | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add note that priority is ignored when action is forced.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not only the priority – the actions are ignored entirely. Do you have any suggestion how to reword the sentence?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to look at this section anyway ("catched" etc.), will try to reword it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I need an emoji for 🤦 ... catched 🙄
| public function getPriority() | ||
| { | ||
| return $this->commitMessage->getUnprefixedSubject(); | ||
| return 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When no better is found, why priority is not high instead ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UntrackedChangeInfo represents manual commit; thus, there are no other ChangeInfo objects to compare with. Plus, ignoring the fact it will not compare with anything, zero is the highest priority.
- Removed section about how VersionPress stores actions in commit messages (it didn't bring enough value for its length) - More clearly described what an action is and what it consists of - There is now clearer distinction between database and non-database actions - Filters are just mentioned but their signature is not described - Some other smaller edits
# Conflicts: # plugins/versionpress/composer.lock
5954ee9 to
0a29069
Compare
Resolves most of #1036.
Progress: #1075 (comment)
Update 4th Oct 2016: We're mostly done with this, some smaller things have been moved to separate issues and are linked from #1075 (comment). If you want to provide feedback, please read
Plugin-Support.mdand leave a comment.