Skip to content
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

Decentralized meta and links object documentation (Issue #136) #176

Merged
merged 3 commits into from
Feb 19, 2018

Conversation

d-stahl-ericsson
Copy link
Contributor

Applicable Issues

Issue #136

Description of the Change

This PR moves the documentation of the meta object and all link types into the respective event documentations. The reasons for this are outlined in Issue #136. Essentially, documenting these objects (although common) centrally and separately from the individual events is incompatible with the per-event versioning scheme.

This is exemplified by Issue #170, which would require an update of the link-object and a stepping of all individual event versions. The problem is that there is no way to document which version of which event follows which links object syntax, unless that information is included in the documentation of the event itself. Simply put, the documentation of each event type must be self-contained.

The link and meta documentation was consciously not added in alphabetical order or following the event structure. I added ##Links after ##Data members, and ##Meta members last, because I believe this should reflect the most common order of interest (##Meta should just be boilerplate, so that can go at the end). I also listed the link types in order of presumed interest (e.g. all the optional common link types at the bottom).

Alternate Designs

Keeping it as it is is conceivable, but highly impractical. It would require listing event versions from the central documentation location. This would make for poor readability and poor overview. Arguably, even without the versioning problem, this change makes it easier to see which link types apply to each event type.

You could keep the documentation centralized, but in multiple versions, and then link the appropriate version from the event type documentation. I doubt this improves anything for the reader, though. It may be easier for maintainers, but on the other hand, there's always find, xargs and sed :)

Benefits

This PR allows us to make changes to the links and meta objects. Specifically, it is a prerequisite for addressing Issue #170.

Possible Drawbacks

More copy-pasted boilerplate documentation.

Sign-off

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or

(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or

(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.

(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

Signed-off-by: Daniel Ståhl, daniel.stahl@ericsson.com

As described in issue eiffel-community#136, because of the per-event versioning scheme
it is untenable to keep link type documentation central and separate from
event types. When link types are changed, this constitutes an event
version change. Therefore, the link types of each event type must be
documented each respective event type documentation.

the-links-object.md has been preserved, but only contains general
information. The repository has been searched for occurrences of
the-links-object.md and has been updated accordingly.
As described by Issue eiffel-community#136, the per-event versioning scheme
requires that even common syntax be described on a per-event basis,
lest the documentation and/or versioning break down.

This commit moves the meta object documentation into the
documentation of each respective event.
Copy link
Contributor

@l-ohlen-ericsson l-ohlen-ericsson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just found one minior improvment thing to consider.

__Required:__ No
__Legal targets:__ [EiffelTestExecutionRecipeCollectionCreatedEvent](../eiffel-vocabulary/EiffelTestExecutionRecipeCollectionCreatedEvent.md)
__Multiple allowed:__ No
__Description:__ When declared in an EiffelTestSuiteStartedEvent, this link signifies that the test suite groups all test case executions resulting from the [EiffelTestExecutionRecipeCollectionCreatedEvent](../eiffel-vocabulary/EiffelTestExecutionRecipeCollectionCreatedEvent.md).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This when statement is a bit reduntant now, since the description is in the EiffelTestSuiteStartedEvent

Copy link

@erobged erobged left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is a lot of information added in this request...
I have not found anything that concerns me.
Looks good to go from my point of view.
+1

As proposed by reviewer in the PR thread, rephrased the description of
TERC link in EiffelTestSuiteStartedEvent to remove redundant
self-referral to the event type.
Copy link
Contributor

@l-ohlen-ericsson l-ohlen-ericsson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@d-stahl-ericsson d-stahl-ericsson merged commit e8c04ee into eiffel-community:master Feb 19, 2018
@d-stahl-ericsson d-stahl-ericsson deleted the issue136 branch September 13, 2018 10:31
@magnusbaeck magnusbaeck added the protocol All protocol changes label Nov 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
protocol All protocol changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants