<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@vertical+block@chap-03-seq-06-ver-01" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-03-seq-06-ver-01-html-01">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-03-seq-06-ver-01-html-01" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<div class="edit-link-wrapper"><div class="edit-link"><p style="text-align: right;"><a href="https://gitlab.com/-/ide/project/mooc-floss/mooc-floss/edit/master/-/course/html/chap-03-seq-06-ver-01-html-01.html" target="_blank"><i class="fa fa-pencil mr-1"></i> Edit on Gitlab</a></p></div><div class="edit-link-original-content"><p>As new contributors, we need to show that we are capable community members, who can be trusted and actively help the project. But the project and its community also have to show <em>you</em> that they are welcoming contributions, and that it will be possible to work with them. To see if a project is is a good fit for a first contribution, review:</p>
<h3>Activity</h3>
<p>When was the last activity, and how frequently is there activity on the project? This is important, because it reflects how much attention your own contributions and interactions are likely to get -- it would likely be only a small portion of the overall project activity. It can be communication frequency, but also more tangible activity like code being committed, merge requests, etc. We need a project showing at least some activity every week, and the last activity being no older than 1 week -- though it's best to pick a project with much more activity: many interactions per day, every day.</p>
<p style="text-align: center;"><a href="https://github.com/django/django/graphs/contributors" target="_blank"><img src="/assets/courseware/v1/60cc10f2279b9a6c4f43f9425535bcc0/asset-v1:MOOC-FLOSS+101+2021_1+type@asset+block/django-github-activity.png" alt="Django's activity page on github" width="800" height="567" /></a></p>
<p style="text-align: center;"><em>Django's activity page on github</em></p>
<h3>Communication</h3>
<p>Check that this project has a place to communicate, that people answer. Did people answer you in the previous module's activity? Did they interact with you? It can be in a forum, chat, mailing-list, or simply a ticket system -- what counts is that there is a track record of people discussing and answering there. When we can't find any place, or if most of the posts/issues posted there are left unanswered, it's probably best to pick another project, as this would make contributing very difficult.</p>
<p style="text-align: center;"><a href="https://docs.djangoproject.com/en/dev/internals/mailing-lists/" target="_blank"><img src="/assets/courseware/v1/a9e02a0291b6ea8a490c1d2cef886f08/asset-v1:MOOC-FLOSS+101+2021_1+type@asset+block/django-mailinglist.png" alt="Django's mailing list archive" width="800" height="563" /></a></p>
<p style="text-align: center;"><em>Django's mailing list archive</em></p>
<p>How much time, on average, does it take to get an answer (on tickets, pull requests, forum posts, chat...). It's best to aim for a project on which this isn't more than a few days on average, ideally within a day. Otherwise, it's probably best to pick another project, as the turn-around time on our contributions is likely to be too slow to allow to make meaningful progress in a reasonable amount of time.</p>
<h3>Openness</h3>
<p>Is the project fully open? The code, but also the development itself -- is everything done in the open? It's important that the merge requests, design documents, discussions, etc. are all in the open, otherwise it will be difficult to gain the necessary context.</p>
<p>And is the project welcoming new contributors? Some are open source but <a href="https://github.com/benbjohnson/litestream#open-source-not-open-contribution" target="[object Object]">not open to contributions</a> or new contributors; for example, consider a company project that only accepts code from its employees, or a project in maintenance mode that doesn't accept new contributions. Look for recent merge requests from new contributors, ie their first contribution, to see how the project maintainers react to it. Do they consider it? Accept it? Is there a licensing agreement to sign?</p>
<p style="text-align: center;"><a href="https://github.com/django/django/pulls?q=is%3Apr+" target="_blank"><img src="/assets/courseware/v1/d0ef78351a171c0e3e8a4892257127bf/asset-v1:MOOC-FLOSS+101+2021_1+type@asset+block/django-github-merge-requests.png" alt="List of merge requests from the django project" width="800" height="567" /></a></p>
<p style="text-align: center;"><em>List of merge requests from the django project</em></p>
<h3>Onboarding</h3>
<p>Check whether any documentation exists for new contributors on how to get involved in the project - often in a <code>CONTRIBUTING.md</code> file, or in the project developer documentation. Projects sometimes include a list of ways to contribute, or a list of "small bites" bugs, which are great signs.</p>
<p style="text-align: center;"><a href="https://docs.djangoproject.com/en/dev/internals/contributing/" target="_blank"><img src="/assets/courseware/v1/7f0257c430a5e38efe9402a7dc386932/asset-v1:MOOC-FLOSS+101+2021_1+type@asset+block/django-contributing.png" alt="Django's page about contributing" width="800" height="567" /></a></p>
<p style="text-align: center;"><em>Django's page about contributing</em></p>
<h3>Evaluation</h3>
<p>If you see any red flags with any of the above categories, then try to find an alternative project. Learning to contribute in a project that's not welcoming to new contributors can be very discouraging. Even after picking your project, if you ever realize that the project isn't reactive or welcoming enough, don't hesitate to change -- there is very little you can do to fix it as a new contributor, and there are plenty of other FLOSS projects.</p>
<p>Note: If you do change project, now or later in a subsequent module, make sure to redo the "Project tips" activities from previous modules for the new project, to still ramp up your contributions progressively.</p>
</div></div>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.a28baef97506.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@vertical+block@64953274a72f4df792a3de1d052fdd9c" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@25690e73ee3348db834aa8568966b708">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@25690e73ee3348db834aa8568966b708" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<div class="edit-link-wrapper"><div class="edit-link"><p style="text-align: right;"><a href="https://gitlab.com/-/ide/project/mooc-floss/mooc-floss/edit/master/-/course/html/25690e73ee3348db834aa8568966b708.html" target="_blank"><i class="fa fa-pencil mr-1"></i> Edit on Gitlab</a></p></div><div class="edit-link-original-content"><p><a href="/courses/course-v1:MOOC-FLOSS+101+2021_1/jump_to_id/chap-02-seq-05-ver-05">In module 1, we have started interacting with a project</a>. Sometimes the interactions outcome are immediate, sometimes they happen more asynchronously. So it's a good time to revisit the seeds we have planted in the last module, and see if any new answer or follow-up would be useful.</p>
<p>The goal is also to start forming an idea of how receptive the project is to new contributors joining it, and begin assessing whether that's a good fit for a contribution.</p></div></div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MOOC-FLOSS+101+2021_1+type@problem-builder+block@d8e3b40c589449959653ecfd1ec12b18">
<div class="xblock xblock-public_view xblock-public_view-problem-builder" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-block-type="problem-builder" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@problem-builder+block@d8e3b40c589449959653ecfd1ec12b18" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="True">
<div class="page-banner"><div class="alert alert-warning"><span class="icon icon-alert fa fa fa-warning" aria-hidden="true"></span><div class="message-content">Assessing the response to your initial interaction is only accessible to enrolled learners. Sign in or register, and enroll in this course to view it.</div></div></div>
</div>
</div>
<div class="vert vert-2" data-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@4534463b996e4af1915fb02af9c40c2c">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@4534463b996e4af1915fb02af9c40c2c" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<div class="edit-link-wrapper"><div class="edit-link"><p style="text-align: right;"><a href="https://gitlab.com/-/ide/project/mooc-floss/mooc-floss/edit/master/-/course/html/4534463b996e4af1915fb02af9c40c2c.html" target="_blank"><i class="fa fa-pencil mr-1"></i> Edit on Gitlab</a></p></div><div class="edit-link-original-content"><article class="xblock-render" lang="en">
<div class="xblock xblock-student_view xblock-student_view-html xmodule_display xmodule_HtmlBlock xblock-initialized" data-init="XBlockToXModuleShim" data-runtime-class="PreviewRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:MOOC-FLOSS+101+dev+type@html+block@b7c68453bf9346ea8c1a93556a7b394b" data-request-token="8f60b062b39b11edad38afb5da137b06" data-graded="False" data-has-score="False">
<h3>Project Assessment</h3>
<p>Based on the the outcome of your interactions, as well as the information gathered so far, we'll start evaluating if the project looks like a good fit.</p>
</div>
</article>
<p></p></div></div>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.a28baef97506.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@vertical+block@chap-03-seq-06-ver-02" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-03-seq-06-ver-02-html-01">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-03-seq-06-ver-02-html-01" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<div class="edit-link-wrapper"><div class="edit-link"><p style="text-align: right;"><a href="https://gitlab.com/-/ide/project/mooc-floss/mooc-floss/edit/master/-/course/html/chap-03-seq-06-ver-02-html-01.html" target="_blank"><i class="fa fa-pencil mr-1"></i> Edit on Gitlab</a></p></div><div class="edit-link-original-content"><p>Not all contributions have the same level of complexity -- technically, but also socially, to manage to get them accepted by the project's community. The interaction we had in module 1, to contribute support help, is one of the simplest ones to get accepted. The questions answered can be technically difficult, but as long as the answer given is accurate and kind, contributing an answer will usually be very welcomed. At the other extreme, getting the project governance rules changed would generally require great amounts of efforts and trust.</p>
<h3>Contribution complexity scale</h3>
<p>To avoid overwhelming ourselves, it's smart to start with the smallest type of contribution and gradually work our way up to larger and more complex levels, especially when it comes to social aspects:</p>
<ol>
<li><strong>Contributing support</strong>: Answering a question on the mailing list or IRC from someone who asks it</li>
<li><strong>Micropatch</strong>: Fixing a typo in the documentation</li>
<li><strong>Documentation contribution</strong>: Improving the documentation contents</li>
<li><strong>Bug triage</strong>: Reproducing an easy simple bug, helping to classify bug reports</li>
<li><strong>Bug unit test</strong>: Write a test that reproduces an easy simple bug (half the work of fixing the bug is writing the test that the fix resolves)</li>
<li><strong>Bug fix</strong>: Fixing a easy simple bug in trivial way</li>
<li><strong>Adding a new feature</strong></li>
<li><strong>Reorganizing the governance</strong> of the project</li>
</ol>
</div></div>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.a28baef97506.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@vertical+block@chap-03-seq-06-ver-03" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-03-seq-06-ver-03-html-01">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-03-seq-06-ver-03-html-01" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<div class="edit-link-wrapper"><div class="edit-link"><p style="text-align: right;"><a href="https://gitlab.com/-/ide/project/mooc-floss/mooc-floss/edit/master/-/course/html/chap-03-seq-06-ver-03-html-01.html" target="_blank"><i class="fa fa-pencil mr-1"></i> Edit on Gitlab</a></p></div><div class="edit-link-original-content"><p>In the previous module we did the type 1 contribution ("Contributing support"), and are ready to attempt the following contribution types:</p>
<h3>Activity: Micropatch</h3>
<p>Before considering doing a substantial contribution, it's useful to start exploring the project's contribution processes. An effective way to do this is to post a <em>micropatch</em>, which is a pull request so small and straightforward that it should not require any debate with the reviewer, while still being useful to the project. For example, <strong>fixing typos</strong> in the documentation or code.</p>
<p>The idea here is to not attempt anything complex, to be able to go through the contribution process once, while making the contribution itself as small as possible. We want to focus on gaining knowledge about the contribution process, both from a technical and an interpersonal point of view. The knowledge will come in handy later, once we start considering larger contributions -- we will know what to expect.</p>
<p style="text-align: center;"><a href="https://github.com/python/cpython/pull/7348" target="[object Object]"><img src="/assets/courseware/v1/c8ad787620f62ce2f47b5c7ce90f70c3/asset-v1:MOOC-FLOSS+101+2021_1+type@asset+block/python-micropatch.png" alt="Example of a micropatch" width="800" height="567" /></a></p>
<p style="text-align: center;"><em>Example of a micro-patch: <a href="https://github.com/python/cpython/pull/7348">https://github.com/python/cpython/pull/7348</a></em></p>
<p></p></div></div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MOOC-FLOSS+101+2021_1+type@problem-builder+block@46b0802c578e4d8ca5fff6866a95c5d5">
<div class="xblock xblock-public_view xblock-public_view-problem-builder" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-block-type="problem-builder" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@problem-builder+block@46b0802c578e4d8ca5fff6866a95c5d5" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="True">
<div class="page-banner"><div class="alert alert-warning"><span class="icon icon-alert fa fa fa-warning" aria-hidden="true"></span><div class="message-content">Micropatch is only accessible to enrolled learners. Sign in or register, and enroll in this course to view it.</div></div></div>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.a28baef97506.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="VerticalStudentView" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="vertical" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@vertical+block@chap-03-seq-06-ver-04" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-03-seq-06-ver-04-html-01">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-init="XBlockToXModuleShim" data-runtime-class="LmsRuntime" data-runtime-version="1" data-block-type="html" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@html+block@chap-03-seq-06-ver-04-html-01" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="False">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<div class="edit-link-wrapper"><div class="edit-link"><p style="text-align: right;"><a href="https://gitlab.com/-/ide/project/mooc-floss/mooc-floss/edit/master/-/course/html/chap-03-seq-06-ver-04-html-01.html" target="_blank"><i class="fa fa-pencil mr-1"></i> Edit on Gitlab</a></p></div><div class="edit-link-original-content"><h3>Activity: Documentation contribution</h3>
<p>Contributing to documentation can be a great intermediate step. It requires a deeper understanding of features and parts of the codebase than just participating in casual discussions, but is still less demanding than contributing code. Updating documentation also provides the chance to familiarize yourself with the contribution process through small documentation changes, similar to micropatches. Documentation is usually versioned in the same way code is and goes through a similar review process, but with less strict constraints compared to code. These types of contributions are highly valued because documentation tends to receive less attention and interest, even from the maintainers themselves.</p>
<p>Picking some documentation tasks can also allow to get started on learning to pick up contributions tasks in general: learning the criteria to choose them (size, accuracy, degree of support for the change, etc.), including taking into account the social aspects of it -- ie, the contact with the maintainers, as we need to ensure that at least one of the maintainers will review and support the change. That requires discussing with them, and allows to start building relationships.</p>
<p style="text-align: center;"><img src="/assets/courseware/v1/49470c5303243e68efaf62b21bcb7cf3/asset-v1:MOOC-FLOSS+101+2021_1+type@asset+block/anki-doc-contribution-thread.png" alt="Example of a discussion with Anki's maintainers about potential documentation contributions" width="800" height="567" /></p>
<p style="text-align: center;"><em>Example of a discussion with Anki's maintainers about potential documentation contributions</em></p>
<p>A good approach to get the attention and advice of a maintainer:</p>
<ol>
<li>Do a small consensual fix in the documentation, to prove that you are willing to work and send pull requests;</li>
<li>Ask the maintainers what else needs work in the documentation;</li>
<li>Work on what they mention.</li>
</ol>
<p>This might push you to start exploring the code, as often it is the source of truth for updating the documentation -- if you want to document things well, you need to go see what's happening.</p>
<p>Note that, like for code tasks, it's important to pick a documentation task that is reasonably accessible, not one where you already need to be an expert to complete it -- at least not at first. The best documentation contributions at this stage will take advantage of your beginner point of view: someone who reads the documentation for the first time, who doesn't know anything about the project, will often be better at explaining things from a newcomer perspective, which doesn't already have all the implicit knowledge that will be obvious to the core developers, but lacking to newcomers.</p>
</div></div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MOOC-FLOSS+101+2021_1+type@problem-builder+block@a8f0c48788ed4b59a8a473e4a5875824">
<div class="xblock xblock-public_view xblock-public_view-problem-builder" data-course-id="course-v1:MOOC-FLOSS+101+2021_1" data-block-type="problem-builder" data-usage-id="block-v1:MOOC-FLOSS+101+2021_1+type@problem-builder+block@a8f0c48788ed4b59a8a473e4a5875824" data-request-token="2a4ed7ac903211ee8c631237928d7ffd" data-graded="False" data-has-score="True">
<div class="page-banner"><div class="alert alert-warning"><span class="icon icon-alert fa fa fa-warning" aria-hidden="true"></span><div class="message-content">Documentation contribution is only accessible to enrolled learners. Sign in or register, and enroll in this course to view it.</div></div></div>
</div>
</div>
</div>
<script type="text/javascript">
(function (require) {
require(['/static/js/dateutil_factory.a28baef97506.js?raw'], function () {
require(['js/dateutil_factory'], function (DateUtilFactory) {
DateUtilFactory.transform('.localized-datetime');
});
});
}).call(this, require || RequireJS.require);
</script>
<script>
function emit_event(message) {
parent.postMessage(message, '*');
}
</script>
</div>