SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Creating custom themes
in AtoM
An introduction to relevant theming files, registering a plugin, home page
customizations, and also give devs a chance to create basic themes.
Basic Edits
Some things are easy to change without touching the theme:
1. Site title & site description
a. Updated in Admin - Settings - Site info
2. Logo
a. Replace atom/images/logo.png
3. Application Icon
a. Replace atom/favicon.ico
4. Website meta tags
a. atom/apps/qubit/config/view.yml
5. Static Pages
a. Admin - Static pages
6. User Interface Labels
a. Admin - Settings - User Interface Labels
7. Default standards templates
a. Admin - Settings - Default templates
8. Menus
a. Admin - Menus
Creating a new
theme
https://github.com/sbreker/arDemoThemePlugin
AtoM comes with two built in themes
● Dominion
● Archives Canada
● Dominion is default
Use Dominion as a base or copy Dominion
● Copy the whole thing
● Reference the Dominion files from our theme
Uses Less - ‘make’ to generate css file
Today we will create and customize a new theme
https://github.com/sbreker/arDemoThemePlugin
Resources:
● Admin manual theming section
● Corcovado theme in github
○ https://github.com/artefactual-labs/atom-theme-corcovado
Create the
basic structure
+ ‘git init’
https://github.com/sbreker/arDemoThemePlugin
Option 1: Create your own github repo:
$ cd ~/atom/plugins
$ mkdir arDemoThemePlugin
$ git init
$ echo "# Demo theme" > README.md
$ git add README.md
$ git commit -m "Initial commit"
$ git remote add origin
git@github.com:sbreker/arDemoThemePlugin.git
$ git push -u origin master
Option 2: Clone sbreker/arDemoThemePlugin.git:
$ cd ~/atom/plugins
$ git clone https://github.com/sbreker/arDemoThemePlugin.git
We want your AtoM git repo to ignore this theme:
$ cd ~/atom/plugins
$ touch .gitignore
Edit .gitignore and add the lines:
.gitignore
arDemoThemePlugin/
$ cd ~/atom/plugins/arDemoThemePlugin
$ mkdir config; cd config
Create and edit a new file:
➔ arDemoThemePluginConfiguration.class.php
Copy contents from github: sbreker/arDemoThemePlugin
Save the file.
Once file is in place:
● Login to your AtoM instance as user ‘demo@example.com’
● Go to Admin -> themes
● You will see your theme!
● Don’t select it yet!!! No CSS present yet!
Quickly review the contents...
Create config
class: Register
theme
https://github.com/sbreker/arDemoThemePlugin
Create main.less
& Makefile
https://github.com/sbreker/arDemoThemePlugin
Create Makefile:
$ cd ~/atom/plugins/arDemoThemePlugin
Create and edit a new file:
➔ Makefile
Copy contents from github: sbreker/arDemoThemePlugin
Save the file.
Create main.less:
$ mkdir css
Create and edit a new file:
➔ main.less
Copy contents from github: sbreker/arDemoThemePlugin & save
$ cd ~/atom/plugins/arDemoThemePlugin
$ make
1. Login to your AtoM instance as demo
2. Go to Admin -> themes
3. Activate your theme & refresh
4. Any changes???
Edit main.less
https://github.com/sbreker/arDemoThemePlugin
Uncomment all the “Local Tweaks” (ignore the footer section below that!)
$ make
Go back to AtoM and refresh browser
Might have to clear cache!
Play around with it:
● Look in Variables.less in arDominionPlugin
● $ mkdir arDemoThemePlugin/css/less
● $ cp variables.less from Dominion to
DemoTheme
● Update path to variables.less in DemoTheme class file
● Move definition of ‘green’ to variables.less
● Add some new colour definitions
● Update some colours in main.less
● $ make and view your handiwork!
TIPS:
1. Use Chrome’s Developer Tools to view the css properties on various
items on the pages and override.
2. Don’t forget to ‘make’ after each change
Override a
module template
Remove ‘browse
by’ block
https://github.com/sbreker/arDemoThemePlugin
Let’s drop ‘Browse by’ sidebar item
.
1. Find static page homeSuccess.php
a. In apps/qubit/modules/staticpage/templates
2. Look at dir structure
3. Build dir structure under DemoTheme
a. arDemoThemePlugin/modules/staticpage/templates
4. Copy homeSuccess.php to new DemoTheme templates dir
5. Investigate homeSuccess.php
6. Disable ‘Browse by’ menu
7. Did it work?
Override a
module template
Drop Repository
Logo from Descr
Sidebar
https://github.com/sbreker/arDemoThemePlugin
Let’s drop the logo from the Arch Descr sidebar
1. Find infoObj template component _contextmenu.php
a. In apps/qubit/modules/informationobject/templates
2. Look at dir structure
3. Build dir structure under DemoTheme modules
a. arDemoThemePlugin/modules/informationobject/templates
4. Copy _contextmenu.php to new DemoTheme templates dir
5. Investigate _contextmenu.php
6. Disable logo component
7. Success?
Let’s add a footer to the theme
● A good place for social media icons, contact info, external links
1. We are going to override the standard empty footer:
a. Default located here: apps/qubit/templates/_footer.php
2. Create folder ‘templates’ under plugins/arDemoThemePlugin
3. Create the file: _footer.php
a. Copy contents from gihub:
sbreker/arDemoThemePlugin/templates/_footerrename.php
4. Refresh AtoM (may need to clear browser cache)
5. How does it look?
6. Add some styling
a. Search for commented ‘footer’ block in css/main.less
7. ‘make’
8. What has changed?
Investigate contents of _footer.php
Where is image coming from?
Download it from github and add to theme:
● sbreker/arDemoThemePlugin/images/atom-logo.png
Add a footer
https://github.com/sbreker/arDemoThemePlugin
Reverse the 2
column layout
https://github.com/sbreker/arDemoThemePlugin
Another common request:
● Display the sidebar on the right-hand side of the content
1. Let’s override the standard 2 column layout template found here:
a. In apps/qubit/templates/layout_2col.php
2. Copy layout_2col.php to new DemoTheme templates dir
a. Place file in templates folder:
b. arDemoThemePlugin/templates/layout_2col.php
3. Investigate new file layout_2col.php
4. Search for the text “div class=”row”
5. Below this are two div blocks
a. “span3” and “span9”
b. Move the 5 lines making up ‘span3’ below the span9 block
6. Save your changes & refresh AtoM
7. Success?
Investigate contents of layout_2col.php
Note other layout types.
Does the swap affect Arch Descr detail view?
Adding logo.png
& favicon.ico
https://github.com/sbreker/arDemoThemePlugin
You will want to add your images to the theme
Replacing logo etc in atom/images will work but will impact ALL themes
1. $ cd ~/atom/plugins/arDemoThemePlugin
2. $ mkdir images; cd images
3. Add files here!
a. Logo.png
b. Favicon.ico
4. Any images missing? Check Dominion’s images folder
Other ideas:
● A new background file
● Image for top right of header
Override a
module template
Modify user
menu
https://github.com/sbreker/arDemoThemePlugin
Let’s customize the User Menu
1. Find menu module template component _userMenu.php
2. Look at dir structure
3. Build dir structure under DemoTheme
4. arDemoThemePlugin/modules/menu/templates
5. Copy _usermenu.php to new DemoTheme templates dir
6. Investigate _usermenu.php
7. Add a new menu item for Logged In users!
Bonus Points
.
Let’s hide User Menu completely for unauthenticated users!!
● Could implement by deleting code block in _userMenu.php but
DON’T :)
● See apps/qubit/templates/_header.php
● Customize _header.phpusing is_authenticated()from
_usermenu.php
What’s next?
https://github.com/sbreker/arDemoThemePlugin
Ok - sky is the limit! Things to try:
● Change the font
● Add new images & refer from templates
● Make the 12col layout float (e.g. Winnipeg)
● Modify header.less - copy to css/less
● Modify header: different height, contents, layout, etc
● Override apps/qubit/template files
● Create a brand new module within the theme
● Photo Carousel!
Q&A
www.accesstomemory.org
www.artefactual.com

Weitere Àhnliche Inhalte

Was ist angesagt?

AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...Artefactual Systems - AtoM
 
Building the Future Together: AtoM3, Governance, and the Sustainability of Op...
Building the Future Together: AtoM3, Governance, and the Sustainability of Op...Building the Future Together: AtoM3, Governance, and the Sustainability of Op...
Building the Future Together: AtoM3, Governance, and the Sustainability of Op...Artefactual Systems - AtoM
 
An Introduction to AtoM, Archivematica, and Artefactual Systems
An Introduction to AtoM, Archivematica, and Artefactual SystemsAn Introduction to AtoM, Archivematica, and Artefactual Systems
An Introduction to AtoM, Archivematica, and Artefactual SystemsArtefactual Systems - AtoM
 
Dspace for windows
Dspace for windowsDspace for windows
Dspace for windowsRavi Bankar
 
OOW16 - Online Patching with Oracle E-Business Suite 12.2 [CON6710]
OOW16 - Online Patching with Oracle E-Business Suite 12.2 [CON6710]OOW16 - Online Patching with Oracle E-Business Suite 12.2 [CON6710]
OOW16 - Online Patching with Oracle E-Business Suite 12.2 [CON6710]vasuballa
 
Understanding Sling Models in AEM
Understanding Sling Models in AEMUnderstanding Sling Models in AEM
Understanding Sling Models in AEMAccunity Software
 
HTML/CSS Crash Course (april 4 2017)
HTML/CSS Crash Course (april 4 2017)HTML/CSS Crash Course (april 4 2017)
HTML/CSS Crash Course (april 4 2017)Daniel Friedman
 
AEM & eCommerce integration
AEM & eCommerce integrationAEM & eCommerce integration
AEM & eCommerce integrationLokesh BS
 
The Future of Archives is Participatory: A New Mission for Archives
The Future of Archives is Participatory: A New Mission for ArchivesThe Future of Archives is Participatory: A New Mission for Archives
The Future of Archives is Participatory: A New Mission for ArchivesKate Theimer
 
Rancher OS - A simplified Linux distribution built from containers, for conta...
Rancher OS - A simplified Linux distribution built from containers, for conta...Rancher OS - A simplified Linux distribution built from containers, for conta...
Rancher OS - A simplified Linux distribution built from containers, for conta...Pier Alberto Pierini
 
Introduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsIntroduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsStefano Celentano
 
Oracle WebLogic Server: Remote Monitoring and Management
Oracle WebLogic Server: Remote Monitoring and ManagementOracle WebLogic Server: Remote Monitoring and Management
Oracle WebLogic Server: Remote Monitoring and ManagementRevelation Technologies
 
Hexagonal architecture with Spring Boot
Hexagonal architecture with Spring BootHexagonal architecture with Spring Boot
Hexagonal architecture with Spring BootMikalai Alimenkou
 
InstalaciĂłn Wordpress y woocommerce con xampp y migraciĂłn de base de datos de...
InstalaciĂłn Wordpress y woocommerce con xampp y migraciĂłn de base de datos de...InstalaciĂłn Wordpress y woocommerce con xampp y migraciĂłn de base de datos de...
InstalaciĂłn Wordpress y woocommerce con xampp y migraciĂłn de base de datos de...Laura Colorado
 
HTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsHTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsSun Technlogies
 
EMC Documentum - xCP 2.x Troubleshooting
EMC Documentum - xCP 2.x TroubleshootingEMC Documentum - xCP 2.x Troubleshooting
EMC Documentum - xCP 2.x TroubleshootingHaytham Ghandour
 

Was ist angesagt? (20)

AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
AtoM and Vagrant: Installing and Configuring the AtoM Vagrant Box for Local T...
 
Building the Future Together: AtoM3, Governance, and the Sustainability of Op...
Building the Future Together: AtoM3, Governance, and the Sustainability of Op...Building the Future Together: AtoM3, Governance, and the Sustainability of Op...
Building the Future Together: AtoM3, Governance, and the Sustainability of Op...
 
An Introduction to AtoM, Archivematica, and Artefactual Systems
An Introduction to AtoM, Archivematica, and Artefactual SystemsAn Introduction to AtoM, Archivematica, and Artefactual Systems
An Introduction to AtoM, Archivematica, and Artefactual Systems
 
AtoM Data Migrations
AtoM Data MigrationsAtoM Data Migrations
AtoM Data Migrations
 
Searching in AtoM
Searching in AtoMSearching in AtoM
Searching in AtoM
 
Dspace for windows
Dspace for windowsDspace for windows
Dspace for windows
 
OOW16 - Online Patching with Oracle E-Business Suite 12.2 [CON6710]
OOW16 - Online Patching with Oracle E-Business Suite 12.2 [CON6710]OOW16 - Online Patching with Oracle E-Business Suite 12.2 [CON6710]
OOW16 - Online Patching with Oracle E-Business Suite 12.2 [CON6710]
 
Understanding Sling Models in AEM
Understanding Sling Models in AEMUnderstanding Sling Models in AEM
Understanding Sling Models in AEM
 
HTML/CSS Crash Course (april 4 2017)
HTML/CSS Crash Course (april 4 2017)HTML/CSS Crash Course (april 4 2017)
HTML/CSS Crash Course (april 4 2017)
 
AEM & eCommerce integration
AEM & eCommerce integrationAEM & eCommerce integration
AEM & eCommerce integration
 
The Future of Archives is Participatory: A New Mission for Archives
The Future of Archives is Participatory: A New Mission for ArchivesThe Future of Archives is Participatory: A New Mission for Archives
The Future of Archives is Participatory: A New Mission for Archives
 
Rancher OS - A simplified Linux distribution built from containers, for conta...
Rancher OS - A simplified Linux distribution built from containers, for conta...Rancher OS - A simplified Linux distribution built from containers, for conta...
Rancher OS - A simplified Linux distribution built from containers, for conta...
 
Introduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsIntroduction to Sightly and Sling Models
Introduction to Sightly and Sling Models
 
Oracle WebLogic Server: Remote Monitoring and Management
Oracle WebLogic Server: Remote Monitoring and ManagementOracle WebLogic Server: Remote Monitoring and Management
Oracle WebLogic Server: Remote Monitoring and Management
 
Hexagonal architecture with Spring Boot
Hexagonal architecture with Spring BootHexagonal architecture with Spring Boot
Hexagonal architecture with Spring Boot
 
Scalable OCR with NiFi and Tesseract
Scalable OCR with NiFi and TesseractScalable OCR with NiFi and Tesseract
Scalable OCR with NiFi and Tesseract
 
InstalaciĂłn Wordpress y woocommerce con xampp y migraciĂłn de base de datos de...
InstalaciĂłn Wordpress y woocommerce con xampp y migraciĂłn de base de datos de...InstalaciĂłn Wordpress y woocommerce con xampp y migraciĂłn de base de datos de...
InstalaciĂłn Wordpress y woocommerce con xampp y migraciĂłn de base de datos de...
 
HTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsHTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts Basics
 
Spring security
Spring securitySpring security
Spring security
 
EMC Documentum - xCP 2.x Troubleshooting
EMC Documentum - xCP 2.x TroubleshootingEMC Documentum - xCP 2.x Troubleshooting
EMC Documentum - xCP 2.x Troubleshooting
 

Ähnlich wie Creating custom themes in AtoM

Joomla Beginner Template Presentation
Joomla Beginner Template PresentationJoomla Beginner Template Presentation
Joomla Beginner Template Presentationalledia
 
Joomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesJoomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesAndy Wallace
 
Joomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic TemplatesJoomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic TemplatesChris Davenport
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in DrupalWingston
 
Adopt or hack - how to hack a theme in a Drupal way
Adopt or hack - how to hack a theme in a Drupal wayAdopt or hack - how to hack a theme in a Drupal way
Adopt or hack - how to hack a theme in a Drupal wayMarek Sotak
 
SynapseIndia drupal presentation on drupal best practices
SynapseIndia drupal  presentation on drupal best practicesSynapseIndia drupal  presentation on drupal best practices
SynapseIndia drupal presentation on drupal best practicesSynapseindiappsdevelopment
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityTeamstudio
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Thomas Daly
 
Designing for magento
Designing for magentoDesigning for magento
Designing for magentohainutemicute
 
Fewd week1 slides
Fewd week1 slidesFewd week1 slides
Fewd week1 slidesWilliam Myers
 
Intro to OctoberCMS
Intro to OctoberCMSIntro to OctoberCMS
Intro to OctoberCMSKenton Spence
 
Child Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notesChild Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notesDamien Carbery
 
Drupal 7 install with modules and themes
Drupal 7 install with modules and themesDrupal 7 install with modules and themes
Drupal 7 install with modules and themesGeshan Manandhar
 
Magento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft ChinaMagento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft ChinaBysoft Technologies
 
Joomla Templates101
Joomla Templates101Joomla Templates101
Joomla Templates101Barb Ackemann
 
Magento2 Basics for Frontend Development
Magento2 Basics for Frontend DevelopmentMagento2 Basics for Frontend Development
Magento2 Basics for Frontend DevelopmentKapil Dev Singh
 
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010Emma Jane Hogbin Westby
 

Ähnlich wie Creating custom themes in AtoM (20)

Joomla Beginner Template Presentation
Joomla Beginner Template PresentationJoomla Beginner Template Presentation
Joomla Beginner Template Presentation
 
Joomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic TemplatesJoomla! Day UK 2009 Basic Templates
Joomla! Day UK 2009 Basic Templates
 
Joomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic TemplatesJoomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic Templates
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in Drupal
 
Adopt or hack - how to hack a theme in a Drupal way
Adopt or hack - how to hack a theme in a Drupal wayAdopt or hack - how to hack a theme in a Drupal way
Adopt or hack - how to hack a theme in a Drupal way
 
SynapseIndia drupal presentation on drupal best practices
SynapseIndia drupal  presentation on drupal best practicesSynapseIndia drupal  presentation on drupal best practices
SynapseIndia drupal presentation on drupal best practices
 
Drupal
DrupalDrupal
Drupal
 
Drupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating ModulesDrupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating Modules
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate Usability
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 
Designing for magento
Designing for magentoDesigning for magento
Designing for magento
 
Fewd week1 slides
Fewd week1 slidesFewd week1 slides
Fewd week1 slides
 
Intro to OctoberCMS
Intro to OctoberCMSIntro to OctoberCMS
Intro to OctoberCMS
 
Child Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notesChild Themes (WordCamp Dublin 2017) with notes
Child Themes (WordCamp Dublin 2017) with notes
 
Drupal 7 install with modules and themes
Drupal 7 install with modules and themesDrupal 7 install with modules and themes
Drupal 7 install with modules and themes
 
Magento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft ChinaMagento - Design Integration Guideline - Bysoft China
Magento - Design Integration Guideline - Bysoft China
 
Design to Theme @ CMSExpo
Design to Theme @ CMSExpoDesign to Theme @ CMSExpo
Design to Theme @ CMSExpo
 
Joomla Templates101
Joomla Templates101Joomla Templates101
Joomla Templates101
 
Magento2 Basics for Frontend Development
Magento2 Basics for Frontend DevelopmentMagento2 Basics for Frontend Development
Magento2 Basics for Frontend Development
 
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010
 

Mehr von Artefactual Systems - AtoM

Creating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with VagrantCreating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with VagrantArtefactual Systems - AtoM
 
Looking Ahead: AtoM's governance, development, and future
Looking Ahead: AtoM's governance, development, and futureLooking Ahead: AtoM's governance, development, and future
Looking Ahead: AtoM's governance, development, and futureArtefactual Systems - AtoM
 
National Archives of Norway - AtoM and Archivematica intro workshop
National Archives of Norway - AtoM and Archivematica intro workshopNational Archives of Norway - AtoM and Archivematica intro workshop
National Archives of Norway - AtoM and Archivematica intro workshopArtefactual Systems - AtoM
 
AtoM, Authenticity, and the Chain of Custody
AtoM, Authenticity, and the Chain of CustodyAtoM, Authenticity, and the Chain of Custody
AtoM, Authenticity, and the Chain of CustodyArtefactual Systems - AtoM
 
Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...
Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...
Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...Artefactual Systems - AtoM
 
Project Documentation with Sphinx (or, How I Learned to Stop Worrying and Lov...
Project Documentation with Sphinx (or, How I Learned to Stop Worrying and Lov...Project Documentation with Sphinx (or, How I Learned to Stop Worrying and Lov...
Project Documentation with Sphinx (or, How I Learned to Stop Worrying and Lov...Artefactual Systems - AtoM
 
Digital Curation using Archivematica and AtoM: DLF Forum 2015
Digital Curation using Archivematica and AtoM: DLF Forum 2015Digital Curation using Archivematica and AtoM: DLF Forum 2015
Digital Curation using Archivematica and AtoM: DLF Forum 2015Artefactual Systems - AtoM
 
Introducing Binder: A Web-based, Open Source Digital Preservation Management ...
Introducing Binder: A Web-based, Open Source Digital Preservation Management ...Introducing Binder: A Web-based, Open Source Digital Preservation Management ...
Introducing Binder: A Web-based, Open Source Digital Preservation Management ...Artefactual Systems - AtoM
 
Introducing the Digital Repository for Museum Collections (DRMC)
Introducing the Digital Repository for Museum Collections (DRMC)Introducing the Digital Repository for Museum Collections (DRMC)
Introducing the Digital Repository for Museum Collections (DRMC)Artefactual Systems - AtoM
 

Mehr von Artefactual Systems - AtoM (16)

AtoM Community Update: 2019-05
AtoM Community Update: 2019-05AtoM Community Update: 2019-05
AtoM Community Update: 2019-05
 
Creating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with VagrantCreating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with Vagrant
 
Looking Ahead: AtoM's governance, development, and future
Looking Ahead: AtoM's governance, development, and futureLooking Ahead: AtoM's governance, development, and future
Looking Ahead: AtoM's governance, development, and future
 
Contributing to the AtoM documentation
Contributing to the AtoM documentationContributing to the AtoM documentation
Contributing to the AtoM documentation
 
Installing AtoM with Ansible
Installing AtoM with AnsibleInstalling AtoM with Ansible
Installing AtoM with Ansible
 
Installing and Upgrading AtoM
Installing and Upgrading AtoMInstalling and Upgrading AtoM
Installing and Upgrading AtoM
 
Command-Line 101
Command-Line 101Command-Line 101
Command-Line 101
 
National Archives of Norway - AtoM and Archivematica intro workshop
National Archives of Norway - AtoM and Archivematica intro workshopNational Archives of Norway - AtoM and Archivematica intro workshop
National Archives of Norway - AtoM and Archivematica intro workshop
 
Artefactual and Open Source Development
Artefactual and Open Source DevelopmentArtefactual and Open Source Development
Artefactual and Open Source Development
 
AtoM, Authenticity, and the Chain of Custody
AtoM, Authenticity, and the Chain of CustodyAtoM, Authenticity, and the Chain of Custody
AtoM, Authenticity, and the Chain of Custody
 
Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...
Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...
Technologie Proche: Imagining the Archival Systems of Tomorrow With the Tools...
 
AtoM Community Update 2016
AtoM Community Update 2016AtoM Community Update 2016
AtoM Community Update 2016
 
Project Documentation with Sphinx (or, How I Learned to Stop Worrying and Lov...
Project Documentation with Sphinx (or, How I Learned to Stop Worrying and Lov...Project Documentation with Sphinx (or, How I Learned to Stop Worrying and Lov...
Project Documentation with Sphinx (or, How I Learned to Stop Worrying and Lov...
 
Digital Curation using Archivematica and AtoM: DLF Forum 2015
Digital Curation using Archivematica and AtoM: DLF Forum 2015Digital Curation using Archivematica and AtoM: DLF Forum 2015
Digital Curation using Archivematica and AtoM: DLF Forum 2015
 
Introducing Binder: A Web-based, Open Source Digital Preservation Management ...
Introducing Binder: A Web-based, Open Source Digital Preservation Management ...Introducing Binder: A Web-based, Open Source Digital Preservation Management ...
Introducing Binder: A Web-based, Open Source Digital Preservation Management ...
 
Introducing the Digital Repository for Museum Collections (DRMC)
Introducing the Digital Repository for Museum Collections (DRMC)Introducing the Digital Repository for Museum Collections (DRMC)
Introducing the Digital Repository for Museum Collections (DRMC)
 

KĂŒrzlich hochgeladen

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

KĂŒrzlich hochgeladen (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Creating custom themes in AtoM

  • 1. Creating custom themes in AtoM An introduction to relevant theming files, registering a plugin, home page customizations, and also give devs a chance to create basic themes.
  • 2.
  • 3.
  • 4.
  • 5. Basic Edits Some things are easy to change without touching the theme: 1. Site title & site description a. Updated in Admin - Settings - Site info 2. Logo a. Replace atom/images/logo.png 3. Application Icon a. Replace atom/favicon.ico 4. Website meta tags a. atom/apps/qubit/config/view.yml 5. Static Pages a. Admin - Static pages 6. User Interface Labels a. Admin - Settings - User Interface Labels 7. Default standards templates a. Admin - Settings - Default templates 8. Menus a. Admin - Menus
  • 6. Creating a new theme https://github.com/sbreker/arDemoThemePlugin AtoM comes with two built in themes ● Dominion ● Archives Canada ● Dominion is default Use Dominion as a base or copy Dominion ● Copy the whole thing ● Reference the Dominion files from our theme Uses Less - ‘make’ to generate css file Today we will create and customize a new theme https://github.com/sbreker/arDemoThemePlugin Resources: ● Admin manual theming section ● Corcovado theme in github ○ https://github.com/artefactual-labs/atom-theme-corcovado
  • 7. Create the basic structure + ‘git init’ https://github.com/sbreker/arDemoThemePlugin Option 1: Create your own github repo: $ cd ~/atom/plugins $ mkdir arDemoThemePlugin $ git init $ echo "# Demo theme" > README.md $ git add README.md $ git commit -m "Initial commit" $ git remote add origin git@github.com:sbreker/arDemoThemePlugin.git $ git push -u origin master Option 2: Clone sbreker/arDemoThemePlugin.git: $ cd ~/atom/plugins $ git clone https://github.com/sbreker/arDemoThemePlugin.git We want your AtoM git repo to ignore this theme: $ cd ~/atom/plugins $ touch .gitignore Edit .gitignore and add the lines: .gitignore arDemoThemePlugin/
  • 8. $ cd ~/atom/plugins/arDemoThemePlugin $ mkdir config; cd config Create and edit a new file: ➔ arDemoThemePluginConfiguration.class.php Copy contents from github: sbreker/arDemoThemePlugin Save the file. Once file is in place: ● Login to your AtoM instance as user ‘demo@example.com’ ● Go to Admin -> themes ● You will see your theme! ● Don’t select it yet!!! No CSS present yet! Quickly review the contents... Create config class: Register theme https://github.com/sbreker/arDemoThemePlugin
  • 9. Create main.less & Makefile https://github.com/sbreker/arDemoThemePlugin Create Makefile: $ cd ~/atom/plugins/arDemoThemePlugin Create and edit a new file: ➔ Makefile Copy contents from github: sbreker/arDemoThemePlugin Save the file. Create main.less: $ mkdir css Create and edit a new file: ➔ main.less Copy contents from github: sbreker/arDemoThemePlugin & save $ cd ~/atom/plugins/arDemoThemePlugin $ make 1. Login to your AtoM instance as demo 2. Go to Admin -> themes 3. Activate your theme & refresh 4. Any changes???
  • 10. Edit main.less https://github.com/sbreker/arDemoThemePlugin Uncomment all the “Local Tweaks” (ignore the footer section below that!) $ make Go back to AtoM and refresh browser Might have to clear cache! Play around with it: ● Look in Variables.less in arDominionPlugin ● $ mkdir arDemoThemePlugin/css/less ● $ cp variables.less from Dominion to DemoTheme ● Update path to variables.less in DemoTheme class file ● Move definition of ‘green’ to variables.less ● Add some new colour definitions ● Update some colours in main.less ● $ make and view your handiwork! TIPS: 1. Use Chrome’s Developer Tools to view the css properties on various items on the pages and override. 2. Don’t forget to ‘make’ after each change
  • 11. Override a module template Remove ‘browse by’ block https://github.com/sbreker/arDemoThemePlugin Let’s drop ‘Browse by’ sidebar item
. 1. Find static page homeSuccess.php a. In apps/qubit/modules/staticpage/templates 2. Look at dir structure 3. Build dir structure under DemoTheme a. arDemoThemePlugin/modules/staticpage/templates 4. Copy homeSuccess.php to new DemoTheme templates dir 5. Investigate homeSuccess.php 6. Disable ‘Browse by’ menu 7. Did it work?
  • 12.
  • 13. Override a module template Drop Repository Logo from Descr Sidebar https://github.com/sbreker/arDemoThemePlugin Let’s drop the logo from the Arch Descr sidebar 1. Find infoObj template component _contextmenu.php a. In apps/qubit/modules/informationobject/templates 2. Look at dir structure 3. Build dir structure under DemoTheme modules a. arDemoThemePlugin/modules/informationobject/templates 4. Copy _contextmenu.php to new DemoTheme templates dir 5. Investigate _contextmenu.php 6. Disable logo component 7. Success?
  • 14.
  • 15. Let’s add a footer to the theme ● A good place for social media icons, contact info, external links 1. We are going to override the standard empty footer: a. Default located here: apps/qubit/templates/_footer.php 2. Create folder ‘templates’ under plugins/arDemoThemePlugin 3. Create the file: _footer.php a. Copy contents from gihub: sbreker/arDemoThemePlugin/templates/_footerrename.php 4. Refresh AtoM (may need to clear browser cache) 5. How does it look? 6. Add some styling a. Search for commented ‘footer’ block in css/main.less 7. ‘make’ 8. What has changed? Investigate contents of _footer.php Where is image coming from? Download it from github and add to theme: ● sbreker/arDemoThemePlugin/images/atom-logo.png Add a footer https://github.com/sbreker/arDemoThemePlugin
  • 16. Reverse the 2 column layout https://github.com/sbreker/arDemoThemePlugin Another common request: ● Display the sidebar on the right-hand side of the content 1. Let’s override the standard 2 column layout template found here: a. In apps/qubit/templates/layout_2col.php 2. Copy layout_2col.php to new DemoTheme templates dir a. Place file in templates folder: b. arDemoThemePlugin/templates/layout_2col.php 3. Investigate new file layout_2col.php 4. Search for the text “div class=”row” 5. Below this are two div blocks a. “span3” and “span9” b. Move the 5 lines making up ‘span3’ below the span9 block 6. Save your changes & refresh AtoM 7. Success? Investigate contents of layout_2col.php Note other layout types. Does the swap affect Arch Descr detail view?
  • 17.
  • 18. Adding logo.png & favicon.ico https://github.com/sbreker/arDemoThemePlugin You will want to add your images to the theme Replacing logo etc in atom/images will work but will impact ALL themes 1. $ cd ~/atom/plugins/arDemoThemePlugin 2. $ mkdir images; cd images 3. Add files here! a. Logo.png b. Favicon.ico 4. Any images missing? Check Dominion’s images folder Other ideas: ● A new background file ● Image for top right of header
  • 19. Override a module template Modify user menu https://github.com/sbreker/arDemoThemePlugin Let’s customize the User Menu 1. Find menu module template component _userMenu.php 2. Look at dir structure 3. Build dir structure under DemoTheme 4. arDemoThemePlugin/modules/menu/templates 5. Copy _usermenu.php to new DemoTheme templates dir 6. Investigate _usermenu.php 7. Add a new menu item for Logged In users! Bonus Points
. Let’s hide User Menu completely for unauthenticated users!! ● Could implement by deleting code block in _userMenu.php but DON’T :) ● See apps/qubit/templates/_header.php ● Customize _header.phpusing is_authenticated()from _usermenu.php
  • 20. What’s next? https://github.com/sbreker/arDemoThemePlugin Ok - sky is the limit! Things to try: ● Change the font ● Add new images & refer from templates ● Make the 12col layout float (e.g. Winnipeg) ● Modify header.less - copy to css/less ● Modify header: different height, contents, layout, etc ● Override apps/qubit/template files ● Create a brand new module within the theme ● Photo Carousel!