This is the CMS for the University of Alberta Libraries website. It uses Comfy Mexican Sofa.
- MariaDB database for CMS
- Ruby < 3.5
- Rails 8.1.x
- MariaDB 5.5
- Docker and docker-compose
- yarn
- nodejs v18+
Update: As of August 2026, ActiveStorage is not being used (images are located outside the CMS).
File attachments are handled by ActiveStorage. You will need to copy over database migrations by running rails active_storage:install To resize attached images you'll need to have ImageMagic installed. Pagination is handled by either Kaminari or WillPaginate. Make sure you have one defined in your Gemfile.
git clone git@github.com:ualbertalib/library-cms.gitcd library-cmsbin/setupbin/dev- visit http://localhost:3000 and you will see the library homepage.
- If you need to visit the admin section (http://localhost:3000/admin) - You'll be prompted to enter username and password (use the ones in your
config/settings/development.yml(managed by the Config Gem), which by default are 'admin' and 'mysecretpassword')
To run the tests for the library-cms application, you can use the following command once your application has been setup from above:
bundle exec rails testThis will execute all the test cases and provide you with the test results.
NOTE: We preload the test database with all the seed CMS data (pages/layouts/etc) before tests are run. This happens only once. Therefore, if you make a change to the CMS seed data, you must drop the test DB for your changes to be reflected in the test database.
As part of the August 2026 partial migration of content from this CMS tool to the centrally managed CMS, most of the routes available in the CMS (and seed data) are redirected by production server to the central CMS. See CR1345 for details.
Manual testing should focus on the routes that are not being redirected (i.e., retained in the Library CMS) which include:
- /admin (admin route)
- /archives
- /peel
- /staffhub
- /cms-css/1/archives.css
- /cms-css/1/english-main.css
- /cms-css/1/peel-prairie-provinces.css
- /cms-css/1/left-navigation-html.css
- /assets/ (Rails generated assets used mainly by the admin route)
The above is not an exhaustive list.
These routes should be manually tested when building releases of Library CMS.
The CMS seed data stored in this repository is not regularly updated from production.
Note: The current version of the CMS contains a bug in the import rake task where if two seeds have the same last directory in the path, for example, "a/b/ccc" and "x/y/ccc" then one will overwrite the other. Given the pending end-of-life of this CMS, an update to a fixed fork of the CMS Gem is not being undertaken. Instead, the seed data is being modified to account for the bug to allow testing of the paths that remain after the partial migration away from this platform.
To export seeds, run the following on the production server which will export the data into the "db/cms_seeds/tmp/2026-09-01" directory
bundle exec rake comfy:cms_seeds:export[ualberta-libraries,/tmp/2026-09-01/]Seed import contains a bug where if two routes have the same last directory name in the path, for example "a/b/ccc" and "z/y/ccc" then one is overwritten during import. Therefore, the seeds in the repository remove some paths.
Remove the following directories:
- pages/index/sandbox (to avoid sandbox content collisions with in-use path)
- pages/index/archived-content
- pages/index/locations/archives (to avoid conflicts with the pages/index/archives)
Update the db/cms_seeds/library-cms-seeds in the git repository.
More details are in unixDoc/Procedures/ExporingCMS.html

