Skip to content
This repository has been archived by the owner on Sep 5, 2018. It is now read-only.

Diagram Request Lifecycle #118

Closed
lancehalvorsen opened this issue Jan 9, 2015 · 13 comments
Closed

Diagram Request Lifecycle #118

lancehalvorsen opened this issue Jan 9, 2015 · 13 comments

Comments

@lancehalvorsen
Copy link
Member

Originally suggested by @hiphoox on twitter:

It will be great to have a diagram explaining the flow of a request through the apps and processes in Phoenix.

Agreed!

@willykaram
Copy link
Contributor

@lancehalvorsen I can do some work on this if it hasn't been completed yet, but I figured I should confirm first.Where in the guides do you think it would be best for this to live?

Do you have a preference for how this is created? e.g., should be do it in a public Google Apps diagram we can collaboratively edit, or just in a static image/diagram?

@lancehalvorsen
Copy link
Member Author

Hi @willykaram,

Thanks so much for volunteering for this! The work has definitely not been completed yet.

My initial sense is that this would make a great bonus guide, but I'm open to suggestions for other locations. I also think that a static image/diagram would be fine. Depending on the level of detail, we might add some text to round out/highlight the meaning.

Thanks once again for helping out!

@willykaram
Copy link
Contributor

@lancehalvorsen sounds good. I'll prepare a static diagram with some accompanying text.

@willykaram
Copy link
Contributor

@lancehalvorsen @chrismccord This is a long to the early starting point on the diagram which I sharing for you to skim (but not fully review):

https://drive.google.com/file/d/0B13qZbZnapZ8ZXV6VmxzclNnbFE/view?usp=sharing

It's going to take at least another day or so to get the layers of the diagram and the accompanying text accurate. However, I wanted to share an early version to confirm if this is what you had in mind for the diagram. Ideally it'll walk the reader though the full request response lifecycle of an app, with some context relating to how apps are packaged in Phoenix (and perhaps some context on Channels).

If this is on the right track then I'll continue onward, and finish up a draft for thorough review/feedback.

@willykaram
Copy link
Contributor

Attached is a slightly updated version of the diagram. I'll put in some more work (particularly in relation to the discussion of Conn, Controller, Plug, and Pipeline).

I can also create an .md file where we can break it down by section with text and the related portion of the diagram.

Would this live in the Overview, Guides or Bonus Guides section.

If this ins't what you had in mind, just provide some pointers and I can revise accordingly.

phoenix request cycle diagram

@sashaafm
Copy link

@willykaram you have a typo in the View. "Presetnation" -> "Presentation"

@willykaram
Copy link
Contributor

@sashaafm thx, appreciate you catching that, if you have any other feedback or corrections please LMK

@dmitrinesterenko
Copy link
Contributor

Hi all, is there anything outstanding on this issue? I see the digram as a good companion to looking through the code. Can something be added to this to make it a more complete PR that I could contribute?

My thoughts are around helping folks trace the different components mentioned in this PR for example using the https://github.com/phoenix-examples/hello_phoenix app but providing instructions on adding iex.pry to familiarize oneself with the components in @willykaram's presentation.

@willykaram
Copy link
Contributor

I think @dmitrinesterenko suggestion of could be really useful (building on a post like this one: https://medium.com/@diamondgfx/debugging-phoenix-with-iex-pry-5417256e1d11#.13j6034pm)

I think that @scrogson 's presentation from Erlang Factory (https://www.youtube.com/watch?v=eSWNi5vRxU8) does a good job of covering the topics we need to address in this diagram. So I was thinking that making some updates/improvement to reflect the content be presented would be good.

Although before forging to far ahead with the written guide, I'm also curious to hear if @lancehalvorsen or @jeregrine have any feedback in the initial draft. We can do some work on this at the hack night / meetup we're running in NYC tonight the XO group. We can also tackle it next month during the contribution sprints that we'll be running as part of the Phoenix Camp NYC (http://nyc.phoenix.camp) that we're running at the UN as part of Open Camps). @ybur-yug is going to help lead some of the contribution sprints that we're running there, that will have a focus on documentation.

@jeregrine
Copy link
Member

@willykaram I think it looks good, I'll put this on my list to review more closely tomorrow morning. Thanks for doing this

@jsonify
Copy link

jsonify commented Jun 26, 2016

@willykaram great diagram. Any update on whether this effort is still in motion to be updated where the diagram states that more information will be added? I really appreciate your work on getting this laid out too. It really helps someone new, like myself, to visualize where things happen in the chain of events.

@willykaram
Copy link
Contributor

@jsonify I have had a chance to update it yet, however we discussed it at our last meetup/hack night in NYC. We're aiming to work on it at the contribution sprints work hosting at your upcoming Phoenix conferences in NYC: http://nyc.phoenix.camp/

However, If you or anyone else want to jump in and help please feel free to do so. We don't want to hold up any progress on that documentation or moving this forward. If anyone has trouble accessing the diagram to edit, please just LMK and we'll ensure you have edit access to help.

@jeregrine
Copy link
Member

Lets talk about moving this into a Community Guide.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants