/Core-CMS-Resources

Files specific to each website built via TACC/Core-CMS.

Primary LanguageHTML

Core-CMS-Resources

Project-specific code built into the Core CMS project

Note Do not clone this repo to work on a CMS project. Work on it directly within Core CMS as a Git submodule.

Warning This repository is deprecated. To work on these projects further, please migrate them to Core CMS Custom.1

Table of Contents

Related Repositories

  • Core CMS, the base CMS code for TACC WMA CMS Websites
  • Core CMS Custom, the custom CMS code (new solution) for TACC WMA CMS Websites

Project Websites

Abbr. URL Version2 Notes
3dem https://3dem.org/ v4.4.2
brainmap https://portal.brainmap.org/ v4.4.2
frontera https://frontera-portal.tacc.utexas.edu/ v4.4.2
protx https://ccprotx.org/ v4.2.0
sciviscolor https://sciviscolor.org/ v4.8.0
texascale https://texascale.org/ v4.1.0
utrc https://utrc.tacc.utexas.edu/ v4.4.1

Last updated: 2024-02-29

Project Architecture

Within a /custom_project_dir can be:

directory contents
static static assets, organized as Django CMS expects
templates templates and saved snippets
settings_custom.py3 project-specific values for Core CMS settings

Prerequisites

A CMS project is run within Core CMS. Also, Git Submodules must be pre-installed on the system on which you will run the CMS project.

Note The Core CMS has its own prerequisites.

Start Project

Set up a new local CMS instance.

  1. Set up Core CMS to run a local Core CMS Resources:

    1. If not already done:

      1. Clone Core CMS repository.
      2. Set up Core CMS completely.
    2. Be in your Core CMS clone:

      cd Core-CMS
    3. Register and populate /taccsite-custom.

      git submodule init
      # This registers this repository at `/taccsite_custom`.
      git submodule update
      # This populates from this repository into `/taccsite_custom`.
    4. Create /taccsite_cms/settings_custom.py3 and populate it with respective cms.settings_custom.py from Core Portal Deployments e.g. /lccf/camino/cms.settings_custom.py.

  2. Enter the CMS Docker Container:

    docker exec -it core_cms /bin/bash
    # This opens a command prompt within the container
  3. Update the Django Application:

    (Run these commands within the container.)

    python manage.py migrate
    python manage.py createsuperuser
    # To use default "Username" and skip "Email address", press Enter at both prompts.
    # At "Password" prompts, you may use an easy-to-remember password.
    python manage.py collectstatic --no-input
    
  4. Open Django CMS:

    1. Open http://localhost:8000/.
    2. Verify anything specific to the custom project is present e.g.
      • logo
      • custom applications
      • custom global colors
      • custom styles (may require specific markup)

Note A local machine CMS will be empty. It will not have content from staging nor production. To have that, follow and adapt instructions to copy a database.

Note A local machine CMS does not include nor integrate with an instance of Core Portal. To attempt to do that, follow How to Use a Custom Docker Compose File and Locally Develop CMS Portal Docs. Help welcome.

Update Project

Follow Core CMS: Update Project instructions.

Develop Project

Follow "via Core CMS Resources" section of Core CMS: Develop Custom Project.

Debug Project

Read Debug Project for miscellaneous tips.

Build & Deploy Project

Follow "Core-CMS-Resources" section of How To Build & Deploy.

Run Multiple Projects

Read Run Multiple Projects.

Port Project

To port a project to Core CMS Custom, read Port Project.

Footnotes

  1. Deploying websites that are still in Core-CMS-Resources and have old custom templates will trigger a major problem. The prefered solution is migration. If you must deploy without migration, then upgrade the website for Core-CMS v3.12.

  2. The production version of https://github.com/TACC/Core-CMS that each requires.

  3. The cms.settings_custom.py is committed in Core Portal Deployments. A settings_custom.py in Core CMS is .gitignore'd. 2