# Best way to customize mfe app templates (learning-dasboard, profile, headers, footers, ...)

**URL:** <https://discuss.openedx.org/t/best-way-to-customize-mfe-app-templates-learning-dasboard-profile-headers-footers/13491>\
**Category:** Development\
**Tags:** how-to, tutor-mfe, tutor-indigo\
**Created:** [July 25, 2024, 6:47am UTC](https://discuss.openedx.org/t/best-way-to-customize-mfe-app-templates-learning-dasboard-profile-headers-footers/13491 "2024-07-25T06:47:57Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jean-Kenny\_Leveneur](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/jean-kenny_leveneur/32/7123_2.png) [@Jean-Kenny\_Leveneur](https://discuss.openedx.org/u/Jean-Kenny_Leveneur)\
**Post date:** [July 25, 2024, 6:47am UTC](https://discuss.openedx.org/t/best-way-to-customize-mfe-app-templates-learning-dasboard-profile-headers-footers/13491/1 "2024-07-25T06:47:57Z")

</div>

Hi,

I’m currently having an openedx redwood instance using tutor for installing it.

I would like to proper modify the tutor mfe templates.

I currently having tutor-mfe and tutor indigo plugins, like an classic tutor installation.

I have started by cloning the learner-dashboard template and started changing templates. I have tryed to create a custom docker file & image by retrieving the last “overhangio/openedx-mfe:18.0.0-indigo” image and added the dist folder of custom repository.

My custom dockerfile :

```auto
FROM overhangio/openedx-mfe:18.0.0-indigo

RUN rm -rf /openedx/dist/learner-dashboard/*
ADD my-custom-learner-dashboard/dist/* /openedx/dist/learner-dashboard/

```

Currently when I restart my openedx instance (with tutor local launch) and I navigate on the site I have a white page with following warning on the console :

Ignoring unsupported entryTypes: largest-contentful-paint. [learner-dashboard:2:23448]

No valid entryTypes; aborting registration. [learner-dashboard:2:23448]

Ignoring unsupported entryTypes: layout-shift. [learner-dashboard:2:23544]

The script from “[http://apps.local.edly.io/484.2c4bbf923bb92d0680b7.js”](http://apps.local.edly.io/484.2c4bbf923bb92d0680b7.js%E2%80%9D) was loaded even though its MIME type (“”) is not a valid JavaScript MIME type.

The script from “app.43a265b57cf78f5dc1f1.js” was loaded even though its MIME type (“”) is not a valid JavaScript MIME type.

The script from “[http://apps.local.edly.io/runtime.3b64d1d0b3d3851658ce.js”](http://apps.local.edly.io/runtime.3b64d1d0b3d3851658ce.js%E2%80%9D) was loaded even though its MIME type (“”) is not a valid JavaScript MIME type.

GET[https://bam-cell.nr-data.net/1/undefined\_license\_key?a=undefined\_application\_id&sa=1&v=1212.e95d35c&t=Unnamed Transaction&rst=621&ck=1&ref=http://apps.local.edly.io/learner-dashboard/&be=287&fe=410&dc=407&af=err,xhr,stn,ins,spa&perf={“timing”:{“of”:1721888131721,“n”:0,“u”:197,“ue”:201,“f”:15,“dn”:91,“dne”:144,“c”:144,“ce”:144,“rq”:144,“rp”:154,“rpe”:154,“dl”:196,“di”:364,“ds”:404,“de”:407,“dc”:408,“l”:408,“le”:412},“navigation”:{“ty”:1}}&jsonp=NREUM.setToken](https://bam-cell.nr-data.net/1/undefined_license_key?a=undefined_application_id&sa=1&v=1212.e95d35c&t=Unnamed%20Transaction&rst=621&ck=1&ref=http://apps.local.edly.io/learner-dashboard/&be=287&fe=410&dc=407&af=err,xhr,stn,ins,spa&perf=%7B%22timing%22:%7B%22of%22:1721888131721,%22n%22:0,%22u%22:197,%22ue%22:201,%22f%22:15,%22dn%22:91,%22dne%22:144,%22c%22:144,%22ce%22:144,%22rq%22:144,%22rp%22:154,%22rpe%22:154,%22dl%22:196,%22di%22:364,%22ds%22:404,%22de%22:407,%22dc%22:408,%22l%22:408,%22le%22:412%7D,%22navigation%22:%7B%22ty%22:1%7D%7D&jsonp=NREUM.setToken)[HTTP/1.1 403 635ms]

POST[https://bam-cell.nr-data.net/events/1/undefined\_license\_key?a=undefined\_application\_id&sa=1&v=1212.e95d35c&t=Unnamed Transaction&rst=242416&ck=1&ref=http://apps.local.edly.io/learner-dashboard/](https://bam-cell.nr-data.net/events/1/undefined_license_key?a=undefined_application_id&sa=1&v=1212.e95d35c&t=Unnamed%20Transaction&rst=242416&ck=1&ref=http://apps.local.edly.io/learner-dashboard/)[HTTP/1.1 403 728ms]

Loading failed for the with source “[https://bam-cell.nr-data.net/1/undefined\_license\_key?a=undefined\_application\_id&sa=1&v=1212.e95d35c&t=Unnamed%20Transaction&rst=621&ck=1&ref=http://apps.local.edly.io/learner-dashboard/&be=287&fe=410&dc=407&af=err,xhr,stn,ins,spa&perf={"timing":{"of":1721888131721,"n":0,"u":197,"ue":201,"f":15,"dn":91,"dne":144,"c":144,"ce":144,"rq":144,"rp":154,"rpe":154,"dl":196,"di":364,"ds":404,"de":407,"dc":408,"l":408,"le":412},"navigation":{"ty":1}}&jsonp=NREUM.setToken”](https://bam-cell.nr-data.net/1/undefined_license_key?a=undefined_application_id&sa=1&v=1212.e95d35c&t=Unnamed%20Transaction&rst=621&ck=1&ref=http://apps.local.edly.io/learner-dashboard/&be=287&fe=410&dc=407&af=err,xhr,stn,ins,spa&perf=%7B%22timing%22:%7B%22of%22:1721888131721,%22n%22:0,%22u%22:197,%22ue%22:201,%22f%22:15,%22dn%22:91,%22dne%22:144,%22c%22:144,%22ce%22:144,%22rq%22:144,%22rp%22:154,%22rpe%22:154,%22dl%22:196,%22di%22:364,%22ds%22:404,%22de%22:407,%22dc%22:408,%22l%22:408,%22le%22:412%7D,%22navigation%22:%7B%22ty%22:1%7D%7D&jsonp=NREUM.setToken%E2%80%9D).

I would like to know if I do it correctly and if I missing some configuration to have my modification works properly. For exemple I didn’t add anything on the learner-dashboard (env variables, …) expect modify jsx templates.

Thank you in advance

---

<div class="post-metadata">

**Author:** ![Jean-Kenny\_Leveneur](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/jean-kenny_leveneur/32/7123_2.png) [@Jean-Kenny\_Leveneur](https://discuss.openedx.org/u/Jean-Kenny_Leveneur)\
**Post date:** [July 29, 2024, 5:53am UTC](https://discuss.openedx.org/t/best-way-to-customize-mfe-app-templates-learning-dasboard-profile-headers-footers/13491/2 "2024-07-29T05:53:00Z")

</div>

Hello,

I have tried to understand more specialy that the “overhangio/openedx-mfe:18.0.0-indigo” docker image do. It seems to copy a local folder (/openedx/app/dist) to the docker container (/openedx/dist/\<mfe\_app\>) folders. I have see that it the same copied folder for each mfe app (account, learner\_dashboard, …). I don’t know if I need to do the same and need to use another git repository that contains all the mfe’s apps ?

Thank you in advance
