<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="36478" data-post-id="36478">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="railsmechanic" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/railsmechanic/120/21830_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  railsmechanic
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Many thanks, that helped me a lot. So can one say that creating a different user schema (referencing to the single “real” user table) per context is the best/preferred way to go when not all data of a user is needed in a context? <img src="https://forum.elixirforum.com/images/emoji/apple/grin.png?v=15" title=":grin:" class="emoji" alt=":grin:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36478" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/contexts-a-barrier-too-high-for-newbies/5929/52">Post #51</a>
	                </div>
	            </div>
              <div id="likers-container-36478" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36478"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #51"></div>
  </section>
</div>
    <div class="postbit" id="36479" data-post-id="36479">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="brightball" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/brightball/120/17192_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  brightball
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I can’t comment on “best” but I can say that’s what I would do.</p>
<p>I tend to look at application design from the database out in a very normalized fashion. At the application level, just think of contexts the same way you’d be thinking of writing a SELECT statement if you were specifying only what you needed. It seems less important with the smaller columns, but leaving out giant blobs of text from an object mapping when you don’t need them is healthy for your application.</p>
<p>I personally wouldn’t start putting things in separate context-specific tables unless the database design itself called for it or unless I was performance tuning for some reason (lots of indexes on a single table so we needed to isolate them, for example).</p>
<p>That’s just me though. I’m very much a “database first” style developer. Some people design interfaces and screens first. I design my database first.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36479" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/contexts-a-barrier-too-high-for-newbies/5929/53">Post #52</a>
	                </div>
	            </div>
              <div id="likers-container-36479" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36479"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #52"></div>
  </section>
</div>
    <div class="postbit" id="36483" data-post-id="36483">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="railsmechanic" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/railsmechanic/120/21830_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  railsmechanic
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="brightball" data-post="53" data-topic="5929">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/brightball/48/17192_2.png" class="avatar"> brightball:</div>
<blockquote>
<p>That’s just me though. I’m very much a “database first” style developer. Some people design interfaces and screens first. I design my database first.</p>
</blockquote>
</aside>
<p>Me too… <img src="https://forum.elixirforum.com/images/emoji/apple/thumbsup.png?v=15" title=":thumbsup:" class="emoji" alt=":thumbsup:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36483" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/contexts-a-barrier-too-high-for-newbies/5929/54">Post #53</a>
	                </div>
	            </div>
              <div id="likers-container-36483" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36483"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #53"></div>
  </section>
</div>
    <div class="postbit" id="36498" data-post-id="36498">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="StefanHoutzager" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  StefanHoutzager
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>You might be interested in task-based ui’s. There is more than the CRUD ui, with relational db’s.</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">Modern applications typically have task-based user interfaces. A properly designed, 
task-driven user interface guides a user through a process, resulting
in a much better user experience.
</code></pre>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://www.uxmatters.com/mt/archives/2014/12/task-driven-user-interfaces.php">
  <header class="source">
      <img src="https://www.uxmatters.com/favicon-32x32.png" class="site-icon" alt="" width="32" height="32">

      <a href="https://www.uxmatters.com/mt/archives/2014/12/task-driven-user-interfaces.php" target="_blank" rel="noopener nofollow ugc">uxmatters.com</a>
  </header>

  <article class="onebox-body">
    

<h3><a href="https://www.uxmatters.com/mt/archives/2014/12/task-driven-user-interfaces.php" target="_blank" rel="noopener nofollow ugc">Task-Driven User Interfaces :: UXmatters</a></h3>

  <p>Web magazine about user experience matters, providing insights and inspiration for the user experience community</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
<p>
also: <a href="http://virtual-strategy.com/2014/11/20/utilizing-task-driven-ui-create-high-performing-and-scalable-business-software/" rel="noopener nofollow ugc">http://virtual-strategy.com/2014/11/20/utilizing-task-driven-ui-create-high-performing-and-scalable-business-software/</a></p>
<pre data-code-wrap="elixir"><code class="lang-elixir">In order to get to a task-based UI, designers need to answer two questions:

How do the end users want to use the software?
How can the software guide the users through these processes?
</code></pre>
<p>A bit of my own fascination (I assume the article in the link has been read already, otherwise the following<br>
text might not make sense at all):</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">BPM brings the task-based UI to a higher level by adding
1. User roles to a task
2. Expiration moments
3. Decisions / ruletasks, servicetasks, realtime events 
4. Low code executable modelling
5. Dashboards for performance management 
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36498" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/contexts-a-barrier-too-high-for-newbies/5929/55">Post #54</a>
	                </div>
	            </div>
              <div id="likers-container-36498" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36498"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #54"></div>
  </section>
</div>
    <div class="postbit" id="36507" data-post-id="36507">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="StefanHoutzager" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  StefanHoutzager
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Ok, “CQRS! DDD!”  (Those buzzwords must ring a couple of bells)</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">One of the largest problems seen in “A Stereotypical Architecture” was
that the intent of the user was lost. Because the client interacted by posting 
data-centric DTOs back and forth with the Application Server, the domain was 
unable to have any verbs in it. The domain had become a glorified abstraction
of the data model. [..]
Many examples of such applications can be cited. Users have “work flow”
information documented for them. Go to screen xyz edit foo to bar, then go
to this other screen and edit xyz to abc. For many types of systems this type 
of workflow is fine. These systems are also generally low value in terms of 
the business. In an area that is sufficiently complex and high enough ROI 
in order to use Domain Driven Design these types of workflows become unwieldy.
</code></pre>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://cqrs.wordpress.com/documents/task-based-ui/">
  <header class="source">
      <img src="https://s1.wp.com/i/favicon.ico?m=1713425267i" class="site-icon" alt="" width="48" height="48">

      <a href="https://cqrs.wordpress.com/documents/task-based-ui/" target="_blank" rel="noopener nofollow ugc" title="12:41PM - 06 November 2010">CQRS – 6 Nov 10</a>
  </header>

  <article class="onebox-body">
    <div class="aspect-image" style="--aspect-ratio:550/326;"><img src="http://cqrs.files.wordpress.com/2010/11/image3.png?fit=440%2C330" class="thumbnail" alt="" width="440" height="261"></div>

<h3><a href="https://cqrs.wordpress.com/documents/task-based-ui/" target="_blank" rel="noopener nofollow ugc">Task-Based UI</a></h3>

  <p>Users Do Things This chapter introduces the concept of a Task Based User Interface and compares it with a CRUD style user interface. It also shows the changes that occur within the Application Serv…</p>


  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36507" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/contexts-a-barrier-too-high-for-newbies/5929/56">Post #55</a>
	                </div>
	            </div>
              <div id="likers-container-36507" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36507"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #55"></div>
  </section>
</div>
    <div class="postbit" id="36550" data-post-id="36550">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Shrike" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Shrike
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>You should remember that the same newbie can choose between Rails which doesn’t require him to learn all those concepts.<br>
Now I ask you as a newbie which framework you would choose.<br>
This is the main issue I get about this whole thread. Most of the ppl adopting Elixir are experienced developers so framework accessibility is not one of the main issues they encounter, learning contexts is easy when you are already familiar with programming but for a newbie those concepts are hard.<br>
Phoenix should be accessible to anyone as easy as possible, yes contexts should be part of the best practices of the framework but they should only be a “best-practice” idea and not the main focus of the framework.<br>
I’m writing this as a newbie developer that has 2 years experience with ruby (not Rails) and 5 years with perl and can see all the beauty in Elixir and I can’t wait to do the move(well I call myself a scripted)<br>
Another thing that bugged me was that a lot of ppl here are missing that most developers never see the business part of their web app and only see their side of the problem so how can you really expect them to see most of the benefits of adding contexts.</p>
<p>Ps - I’m writing this after having only 2 days of experience with Elixir and 2 hours with ecto but never even looked at Phoenix - I think you need an opinion of an outsider because you totally miss that side.<br>
Ps2 - I do understand that contexts are the right concept and should be encouraged but not at the price of accessibility - I am totally going to use it when I would write my rest server for my new project(if it will ever be built)<br>
PS3 - sorry I choose this specific post to reply to but the concept is the same to 90% of what is written here I fell on you as I finally got the true feel of what I should write.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36550" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/contexts-a-barrier-too-high-for-newbies/5929/57">Post #56</a>
	                </div>
	            </div>
              <div id="likers-container-36550" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36550"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #56"></div>
  </section>
</div>
    <div class="postbit" id="36555" data-post-id="36555">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="chrismccord" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/chrismccord/120/24233_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  chrismccord
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Phoenix</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="Shrike" data-post="57" data-topic="5929">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/s/7cd45c/48.png" class="avatar"> Shrike:</div>
<blockquote>
<p>This is the main issue I get about this whole thread. Most of the ppl adopting Elixir are experienced developers so framework accessibility is not one of the main issues they encounter, learning contexts is easy when you are already familiar with programming but for a newbie those concepts are hard.<br>
Phoenix should be accessible to anyone as easy as possible,</p>
</blockquote>
</aside>
<p>One of my main goals since I got involved in Elixir was to help make the ecosystem as accessible as possible for newcomers, since that is what will ultimately make the language successful – Getting folks in the door and keeping them around passed the FP frustration gap. I’m also aware that many folks are coming into to Elixir thru Phoenix, so trust me when I say accessibility is on my mind.</p>
<aside class="quote no-group" data-username="Shrike" data-post="57" data-topic="5929">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/s/7cd45c/48.png" class="avatar"> Shrike:</div>
<blockquote>
<p>yes contexts should be part of the best practices of the framework but they should only be a “best-practice” idea and not the main focus of the framework.</p>
</blockquote>
</aside>
<p>Contexts are <em>not</em> the main focus on the framework by any means. They are only used with our generators and solely about <em>learning tools</em> for folks getting started. There is no <code>Phoenix.Context</code>.</p>
<aside class="quote no-group" data-username="Shrike" data-post="57" data-topic="5929">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/s/7cd45c/48.png" class="avatar"> Shrike:</div>
<blockquote>
<p>Ps -I’m writing this after having only 2 days of experience with Elixir and 2 hours with ecto but never even looked at Phoenix - I think you need an opinion of an outsider because you totally miss that side.</p>
</blockquote>
</aside>
<p>Welcome! We place huge values on the opinion of folks getting started, so your input is appreciated. That said, please realize you just stated you haven’t looked at Phoenix yet, but you are taking a negative stance on contexts without being familiar with the framework or the generators. What would be very valuable for us is if you provide feedback around using the context generators as you’re learning Phoenix. As it stands now, you’ve taken a negative stance without even evaluating things <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36555" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/contexts-a-barrier-too-high-for-newbies/5929/58">Post #57</a>
	                </div>
	            </div>
              <div id="likers-container-36555" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36555"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #57"></div>
  </section>
</div>
    <div class="postbit" id="36556" data-post-id="36556">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="cmkarlsson" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/cmkarlsson/120/23000_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  cmkarlsson
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I don’t think “newbies” would have a problem here. I think the people you may struggle is people who are used to other web application framework such as Rails, Django or similar. Because they are used to another way of thinking.</p>
<p>The problem I have with “Context” is the word. It is made into some big concept that you must learn and that scares people away.</p>
<p>In elixir you have modules and function. Some functions have to be made public. These are your API. Ideally you want your API surface to be as small and to the point as possible. You also don’t want to leak any implementation details out from your API.</p>
<p>By implementing too much in your web layer (controllers) you don’t have a clean API surface and you bleed implementation detail (underlying database concepts for exampel).</p>
<p>Note though, it is <em>hard</em> to come up with the right abstractions. And this is not something you should start implementing straight away. As someone else said it is OK to start with one context and work from there.  Only after you “know” your application you are able to make the right abstractions.</p>
<p>The one thing I do know is that separating the presentation layer (phoenix) from your application will pay off.</p>
<p>WIthout proper modularisation and API design (which is what context is about) it is like developing javascript without any modules and just like loose functions on the window object. It works for a while and as long as your application is small but will give you nothing but hurt later on.</p>
<p>I original looked at phoenix some years ago and the apparent lack of contexts (i.e their generators produced bad practice code) and some of the lacking features in ecto was holding me off it.</p>
<p>But I see the phoenix team moving in the right direction all the time and they are not afraid of admitting they are wrong and can change. The idea of contexts is right but perhaps the communication of it has not been the best (if you look at some of the confusion it causes).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36556" data-batch-url="/posts/batch_likers">
                        5
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/contexts-a-barrier-too-high-for-newbies/5929/59">Post #58</a>
	                </div>
	            </div>
              <div id="likers-container-36556" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36556"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #58"></div>
  </section>
</div>
    <div class="postbit" id="36557" data-post-id="36557">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="OvermindDL1" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/OvermindDL1/120/2677_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  OvermindDL1
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="cmkarlsson" data-post="59" data-topic="5929">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/cmkarlsson/48/23000_2.png" class="avatar"> cmkarlsson:</div>
<blockquote>
<p>The problem I have with “Context” is the word. It is made into some big concept that you must learn and that scares people away.</p>
</blockquote>
</aside>
<p>That is my only issue with it too.  I’ve never seen <code>Context</code> used in this context before, but rather just normal separation of concerns whether via namespaces in C++, modules and submodules in ML languages, modules in Python, etc… etc…  It seems to be a very common pattern that should just always be naturally done, so to this day I’m still confused why it has the special name of <code>Context</code>, or why it is really talked about at all when it should just already be done and used as it is as is normal programming and keeping a Separation of Concerns.  ^.^;</p>
<p>But yeah, Phoenix’s generators were a bit noisy and put way too much in the controllers, I stopped using them very quickly and not touched them since.  It is good that they do that separation of concerns, but I still do not think it should be called a context, even the word <code>Concern</code> would make more sense but I do not like it either…  :-/</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36557" data-batch-url="/posts/batch_likers">
                        10
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/contexts-a-barrier-too-high-for-newbies/5929/60">Post #59</a>
	                </div>
	            </div>
              <div id="likers-container-36557" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36557"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #59"></div>
  </section>
</div>
    <div class="postbit" id="36558" data-post-id="36558">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="sasajuric" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sasajuric/120/991_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  sasajuric
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Author of Elixir In Action</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="cmkarlsson" data-post="59" data-topic="5929">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/cmkarlsson/48/23000_2.png" class="avatar"> cmkarlsson:</div>
<blockquote>
<p>The problem I have with “Context” is the word. It is made into some big concept that you must learn and that scares people away.</p>
</blockquote>
</aside>
<p>I’m also not a fan of this term. Besides sounding quite vague, it seems to be associated with DDD a lot. At our work we use “service” but I think that’s even worse <img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji" alt=":smiley:" loading="lazy" width="20" height="20"> . “Concern” proposed by <a class="mention" href="/u/overminddl1" rel="nofollow">@OvermindDL1</a> sounds better. Or maybe just “business module”?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="36558" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/contexts-a-barrier-too-high-for-newbies/5929/61">Post #60</a>
	                </div>
	            </div>
              <div id="likers-container-36558" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="36558"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #60"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/5929/load_more?page=7">Load more posts (106 remaining)</a>
</div></template></turbo-stream>