Updating logo and favicon post Redwood upgrade

Need some help in changing the logo.png, studio-logo.png and favicon.ico

I’ve recently upgraded to Redwood from Palm, apart from a few tweaks to certificates and some course dates/times, was a fairly painless process.

Apart from the above.

The old way of replacing those files in openedx/themes/indigo/lms/static/images then doing

tutor config save
tutor images build openedx
tutor local launch

doesn’t seem to work any more

Is there a new way to change these files that I’m missing?

I think the theming is still the same in Redwood.
did you run tutor local do settheme indigo after launching?

Let me try, but I think Indigo is now the default theme

Copied the files to overwrite them
Ran

tutor config save
tutor images build openedx
tutor local launch
tutor local do settheme indigo

But it looks like they were overwritten with the default files and not my files

The guide for changing indigo theme is here.
If you want to make your own theme, not indigo theme developed by tutor, you can change the folder name to something else, the details guide for that is here.

Hello Rick_Sauner
Check if you enabled the theme correctly and then do the build again:

tutor plugins enable indigo
tutor dev do settheme indigo
tutor config save
tutor images build openedx
tutor images build mfe
tutor dev do init

Tried the tutor-indigo clone/change/enable, but got a pip error

errorlog

tutor@openedxsb:~$ pip install -e ./tutor-indigo
Defaulting to user installation because normal site-packages is not writeable
Obtaining file:///home/tutor/tutor-indigo
Installing build dependencies … done
Checking if build backend supports build_editable … done
Getting requirements to build wheel … done
Preparing metadata (pyproject.toml) … done
Requirement already satisfied: tutor-mfe<19.0.0,>=18.0.0 in ./.local/lib/python3.10/site-packages (from tutor-indigo==18.0.0) (18.0.0)
Requirement already satisfied: tutor<19.0.0,>=18.0.0 in ./.local/lib/python3.10/site-packages (from tutor-indigo==18.0.0) (18.1.1)
Requirement already satisfied: pyyaml>=6.0 in ./.local/lib/python3.10/site-packages (from tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (6.0.1)
Requirement already satisfied: appdirs in ./.local/lib/python3.10/site-packages (from tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (1.4.4)
Requirement already satisfied: click>=8.0 in /usr/lib/python3/dist-packages (from tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (8.0.3)
Requirement already satisfied: importlib-metadata>=7.0.1 in ./.local/lib/python3.10/site-packages (from tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (8.0.0)
Requirement already satisfied: mypy in ./.local/lib/python3.10/site-packages (from tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (1.10.1)
Requirement already satisfied: jinja2>=2.10 in /usr/lib/python3/dist-packages (from tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (3.0.3)
Requirement already satisfied: importlib-resources>=6.1.1 in ./.local/lib/python3.10/site-packages (from tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (6.4.0)
Requirement already satisfied: kubernetes in ./.local/lib/python3.10/site-packages (from tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (30.1.0)
Requirement already satisfied: pycryptodome>=3.17.0 in ./.local/lib/python3.10/site-packages (from tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (3.20.0)
Requirement already satisfied: typing-extensions>=4.4.0 in ./.local/lib/python3.10/site-packages (from tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (4.12.2)
Requirement already satisfied: zipp>=0.5 in /usr/lib/python3/dist-packages (from importlib-metadata>=7.0.1->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (1.0.0)
Requirement already satisfied: oauthlib>=3.2.2 in ./.local/lib/python3.10/site-packages (from kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (3.2.2)
Requirement already satisfied: python-dateutil>=2.5.3 in ./.local/lib/python3.10/site-packages (from kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (2.9.0.post0)
Requirement already satisfied: urllib3>=1.24.2 in /usr/lib/python3/dist-packages (from kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (1.26.5)
Requirement already satisfied: requests-oauthlib in ./.local/lib/python3.10/site-packages (from kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (2.0.0)
Requirement already satisfied: certifi>=14.05.14 in /usr/lib/python3/dist-packages (from kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (2020.6.20)
Requirement already satisfied: six>=1.9.0 in /usr/lib/python3/dist-packages (from kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (1.16.0)
Requirement already satisfied: google-auth>=1.0.1 in ./.local/lib/python3.10/site-packages (from kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (2.31.0)
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (2.25.1)
Requirement already satisfied: websocket-client!=0.40.0,!=0.41.,!=0.42.,>=0.32.0 in ./.local/lib/python3.10/site-packages (from kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (1.8.0)
Requirement already satisfied: tomli>=1.1.0 in ./.local/lib/python3.10/site-packages (from mypy->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (2.0.1)
Requirement already satisfied: mypy-extensions>=1.0.0 in ./.local/lib/python3.10/site-packages (from mypy->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (1.0.0)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/lib/python3/dist-packages (from google-auth>=1.0.1->kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (0.2.1)
Requirement already satisfied: rsa<5,>=3.1.4 in ./.local/lib/python3.10/site-packages (from google-auth>=1.0.1->kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (4.9)
Requirement already satisfied: cachetools<6.0,>=2.0.0 in ./.local/lib/python3.10/site-packages (from google-auth>=1.0.1->kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (5.3.3)
Requirement already satisfied: pyasn1>=0.1.3 in /usr/lib/python3/dist-packages (from rsa<5,>=3.1.4->google-auth>=1.0.1->kubernetes->tutor<19.0.0,>=18.0.0->tutor-indigo==18.0.0) (0.4.8)
Installing collected packages: tutor-indigo
Attempting uninstall: tutor-indigo
Found existing installation: tutor-indigo 18.0.0
Uninstalling tutor-indigo-18.0.0:
Successfully uninstalled tutor-indigo-18.0.0
Running setup.py develop for tutor-indigo
error: subprocess-exited-with-error

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [32 lines of output]
    running develop
    /usr/lib/python3/dist-packages/setuptools/command/easy_install.py:158: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
      warnings.warn(
    WARNING: The user site-packages directory is disabled.
    /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
      warnings.warn(
    error: can't create or remove files in install directory

    The following error occurred while trying to add or remove files in the
    installation directory:

        [Errno 13] Permission denied: '/usr/local/lib/python3.10/dist-packages/test-easy-install-853204.write-test'

    The installation directory you specified (via --install-dir, --prefix, or
    the distutils default setting) was:

        /usr/local/lib/python3.10/dist-packages/

    Perhaps your account does not have write access to this directory?  If the
    installation directory is a system-owned directory, you may need to sign in
    as the administrator or "root" account.  If you do not have administrative
    access to this machine, you may wish to choose a different installation
    directory, preferably one that is listed in your PYTHONPATH environment
    variable.

    For information on other options, you may wish to consult the
    documentation at:

      https://setuptools.pypa.io/en/latest/deprecated/easy_install.html

    Please make the appropriate changes for your system and try again.

    [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.

WARNING: No metadata found in ./.local/lib/python3.10/site-packages
Rolling back uninstall of tutor-indigo
Moving to /home/tutor/.local/lib/python3.10/site-packages/tutor_indigo-18.0.0.dist-info/
from /home/tutor/.local/lib/python3.10/site-packages/~utor_indigo-18.0.0.dist-info
Moving to /home/tutor/.local/lib/python3.10/site-packages/tutorindigo/
from /home/tutor/.local/lib/python3.10/site-packages/~utorindigo
error: subprocess-exited-with-error

× python setup.py develop did not run successfully.
│ exit code: 1
╰─> [32 lines of output]
running develop
/usr/lib/python3/dist-packages/setuptools/command/easy_install.py:158: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
WARNING: The user site-packages directory is disabled.
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
error: can’t create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: '/usr/local/lib/python3.10/dist-packages/test-easy-install-853204.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /usr/local/lib/python3.10/dist-packages/

Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.

For information on other options, you may wish to consult the
documentation at:

  https://setuptools.pypa.io/en/latest/deprecated/easy_install.html

Please make the appropriate changes for your system and try again.

[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.

This to me implies that you are installing into the System’s Python environment, did you create a Virtual Environment (venv) for Python when you installed Tutor? And if so did you properly activate it before you started installing your plugins? If not then you probably have fragmented Python environments that are not interoperable with each other, might explain why you’re not seeing your changes after rebuilding your images. Not entirely certain, but it might be something worth checking…

Thanks Joel, appreciate the response.
Unfortunately I’m not really sure what that means.
I spun up the AWS quickstart for a sandbox environment, so did little than tutor launch to start with.
Unless there’s an easy fix, I may just have to live with it.

In case anyone else reads this, I did find a solution. I’m guessing it may be the order in which I did it. But worked out a repeatable way to fix this after my last round of updates

cd “$(tutor config printroot)/env/build/openedx/themes/indigo/cms/static/images/”
cp /home/ubuntu/favicon.ico .
cp /home/ubuntu/studio-logo.png .
cd “$(tutor config printroot)/env/build/openedx/themes/indigo/lms/static/images/”
cp /home/ubuntu/favicon.ico .
cp /home/ubuntu/logo.png .
tutor images build openedx
tutor local start -d