Skip to content

Conversation

@jan-molak
Copy link
Member

@jan-molak jan-molak commented Jul 6, 2021

Hi @aslakhellesoy! I'm happy to see that Serenity/JS and the Screenplay Pattern continue to inspire :-)
This commit adds attribution and links to the original sources. Hopefully, you're OK with it?

Thanks,
Jan

Hi @aslakhellesoy! I'm happy to see that Serenity/JS continues to inspire :-)
Would you mind attributing the original sources, please?

Thanks!
Jan
@jan-molak jan-molak requested a review from aslakhellesoy July 6, 2021 09:32
@aslakhellesoy
Copy link
Contributor

Hi @jan-molak,

My primary source of inspiration from this library is the original screenplay article that you co-authored.

However, I wouldn't say the library is inspired by Serenity/JS - quite the contrary :-). Serenity/JS is a much more feature-rich (and perhaps, faithful) implementation of the originally described screenplay pattern than @cucumber/screenplay. My goal with this library is to provide a gentler learning curve and a smaller API surface than what Serenity/JS offers (trading off some of the great functionality that library offers).

  • There are no abilities (instead, there is a mechanism to load different interaction implementations)
  • There are no tasks

I'm all for giving credit where it's due though! What do you think about changing the proposed attribution to something like:

## Prior and related work

* [Beyond Page Objects: Next Generation Test Automation with Serenity and the Screenplay Pattern](https://www.infoq.com/articles/Beyond-Page-Objects-Test-Automation-Serenity-Screenplay/) by Andy Palmer, Antony Marcano, John Ferguson Smart and Jan Molak
* [Serenity/JS](https://serenity-js.org) - the first JavaScript/TypeScript implementation of the Screenplay pattern by Jan Molak
* [Screenplay Pattern](https://serenity-js.org/handbook/thinking-in-serenity-js/screenplay-pattern.html) as described by Jan Molak
* [Understanding Screenplay](https://cucumber.io/blog/bdd/understanding-screenplay-(part-1)/) - blog series by Matt Wynne

@jan-molak
Copy link
Member Author

jan-molak commented Jul 6, 2021

Hi @aslakhellesoy, the Prior and related work section looks good, thank you!
And thanks for explaining your implementation in more detail, I appreciate it.

I don't think, however, that calling an implementation without abilities, tasks, and with questions interchangeable with interactions an implementation of the "Screenplay Pattern" is accurate.

Would you agree that choosing a different name for the pattern proposed here would be perhaps more appropriate and less confusing to people new to the Screenplay Pattern? It feels like the differences are substantial enough for this implementation to be its own thing.

@aslakhellesoy
Copy link
Contributor

aslakhellesoy commented Jul 6, 2021

Yes, I think changing the name would be a good idea. @mattwynne, how about @cucumber/playwright as you suggested in your article?

I also quite like @cucumber/dollshouse - a nod to the famous Henrik Ibsen play. More catchy!

Relevant tweet

/cc @vincent-psarga

@mattwynne
Copy link
Member

+1 to playwright

@aslakhellesoy
Copy link
Contributor

Superseded by #29

@jan-molak jan-molak self-assigned this Jul 7, 2021
@aslakhellesoy aslakhellesoy mentioned this pull request Jul 7, 2021
@antonymarcano
Copy link

Interesting choices of attribution there Jan. To be fair, myself and Andy Palmer showed Aslak an early example of ScreenPlay (before that name had been given to the pattern – I think only to a spike I'd done) at Agile 2009... I presented it at CukeUp 2012 (that version demonstrated a "millisecond acceptance" tests type method near the end)... While Aslak and Matt may remember the more recent articles and talks – Screenplay is something they encountered via me on several occasions before over the years.

In fact, I think one of the early Java examples I called screenplay4j - which now is sadly lost in an old bitbucket mercurial archive (which was the inspiration for the name in the end – despite many iterations of the name in between).

I'll comment on the purity of the pattern on the other thread (#31).

@jan-molak
Copy link
Member Author

jan-molak commented Jul 10, 2021

@antonymarcano - my impression when I studied this library was that it was a continuation of the work I did with @aslakhellesoy, @mattwynne and @jbpros in early 2017. Back then we looked into applying the Screenplay Pattern, as implemented in Serenity/JS, in acceptance tests of Cucumber Pro. Hence my original proposal.

I do like how @aslakhellesoy presents the "Prior and related work" section in this latest version of the readme. While the history of the Screenplay Pattern is described in much more detail in the Serenity/JS handbook, surfacing the relevant links in the readme should make it much easier for the readers to get to the relevant sources.

Do you feel the attribution section here requires any further tweaks, or are you happy with it too?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants