Site Factory

Checklist for migrating your sites to Site Factory

As you prepare to migrate your websites into Site Factory, Acquia has identified a common list of tasks to consider as part of your initial sprint (Sprint 0) planning. Although the activities described on this page are not a complete list, the following task groupings can help you to identify the work that is necessary for a successful launch, and also identify the tools that can assist you:

Setting up development processes

 SummaryDescription
Code repository creation and accessCreate a private GitHub repository to serve as the canonical repository, and provide push and pull access as needed
Grant developer access to environmentProvide the technical team with all needed tool and account access
Define configuration management strategyIdentify a configuration management strategy definition, which may include features, CMI, config split, custom modules, and scripts
Implement configuration management frameworkTechnical implementation of configuration management strategy
Define deployment and release strategyDefine deployment and release workflow and communication plans
Implement deployment strategyTechnical implementation of deployment and release automation
Configure local development environment and virtual machinesConfigure a standard local development environment and virtual machines (VMs)
Define development workflowDefine a code workflow, including git flow, a branching strategy, and code review process definitions
Document developer onboarding and configurationDocument the development team’s configuration, local environments, development processes, and tool installation
Configure Site Factory environmentInitial deployment of base profile to Site Factory
Define environment access and governanceDefine roles and responsibilities on all technical environments, including the Site Factory Management Console, Site Factory code repository, and GitHub repository

Platform infrastructure and workflow management

 SummaryDescription
Configure continuous integrationSet up continuous integration using a tool such as TravisCI or Pipelines
Automate deploymentsConfigure end-to-end automation with Pipelines, TravisCI, and GitHub
Install platform configuration management helper modulesIdentify and develop needed configuration management tools
Set up automated testingSet up a base Behat and PHPunit configuration for local and continuous integration testing

Platform base architecture

 SummaryDescription
Create master website profileCreate the initial master profile
Configure master profileInstall modules needed by all websites on your platform
Follow security and performance best practicesInstall and enable security-related modules (such as Shield, Security Kit, and Fast 404), and configure environment-specific overrides for local and non-production environments
Create testing modules for development and QACreate any needed modules for environment-specific testing and quality assurance
Create configuration management directoryCreate writable directories for importing configuration values, as described in Configuration management directory
Define demo content strategyDetermine requirements and evaluate solutions to deploy dependent content bundled with configuration, facilitate automated testing, and demonstrate platform functionality
Develop modules for demo contentDevelop modules to provide demo content, and integrate the modules into builds and deployments
Define platform overrides strategyDetermine the strategy for configuration management overrides; evaluate solutions available in contributed modules and custom development, and evaluate the risk of technical debt
Configure roles and permissions in configuration managementConfigure the roles and permissions to be managed by configuration management; modify features and other configuration accordingly
Develop platform override solutionsCreate custom modules to provide default configuration that builders of individual websites may override, and configure the modules to override the default configuration of contributed modules when necessary

Platform administration

 SummaryDescription
Define Site Factory site groupsDefine and create Site Factory site groups and site collections based on your website rollout strategy
Create new platform websitePerform the technical tasks needed to create an initial Site Factory website using the master profile
Deploy platform updatesIdentify technical strategies and perform tasks for platform updates, such as configuring Site Factory hooks

User roles, permissions, and accounts

 SummaryDescription
Create platform administration rolesCreate platform user roles for Platform administrator, Site Builder, Content Administrator, Content Editor, Anonymous User, and Authenticated User
Create website administrator rolesCreate website roles for Site Administrator, Content Administrator, Content Editor, Anonymous User, and Authenticated User
Create user accounts on the Site Factory Management ConsoleDefine and assign roles to users in the Site Factory Management Console
Create platform user accountsCreate platform user accounts
Create Drupal website usersCreate Drupal website accounts
Configure user profile managementEnable users to change their account passwords and email addresses
Test example features and content in new websiteConfirm example features and content display properly in a new website

Global and base theming

 SummaryDescription
Define platform base themeSelect and implement a base theme, such as Bootstrap
Create custom platform sub-themeCreate a default sub-theme for the platform to extend the base theme
Define and configure a platform administration themeSelect, configure, and implement the theme to be used in the Drupal administration area of websites on your platform
Configure front-end build tools for continuous integrationConfigure tools for continuous integration, such as Yarn or Gulp
Define global theme regionsDetermine and identify all the global theme regions implied in the wireframes
Define themed layout of pagesDefine the essential layout for all pages on the website with minimal theming
Provide theme assetsProvide assets used in wireframing necessary for theme development, such as logos, images, icon fonts, color palettes, and fonts
Theme base HTML elementsDefine the styling for base text, base headings, list types, and tables
Identify external libraries for base themeIdentify and implement external libraries for features in your base theme, such as Responsive Menus or Modernizr
Configure platform librariesConfigure platform libraries in the build and deployment process
Create page layout grid with 12-column layoutDevelop the 12-column grid for basic page layouts to match the wireframes
Define a style guideIdentify tools for developing and managing a style guide, and implement a default style guide
Establish browser breakpointsIdentify browser breakpoints to ensure optimum display for the devices that your theming is intended to support, while remaining cost-effective to maintain
Identify fonts and assets for global themeAdd required fonts and assets to the style guide and default theme
Style major blocksCreate default and mobile styling for the major blocks, such as the main menu navigation block and menu links block
Style the footer and its blocksCreate default regions and theme blocks in the footer, including footer menus
Configure Browsersync for browser testingConfigure Browsersync, including Gulp tasks and any needed modifications to your build and deployment process

Global components

 SummaryDescription
Theme header contentsTheme common header contents, such as the main menu, logo, and contact information
Theme form elementsTheme common form elements, such as buttons, text areas, and check boxes

Editorial and content workflows

 SummaryDescription
Develop content moderation workflowsDevelop content moderation workflows, including the ability to save drafts and send content for approval before publication

Social media

 SummaryDescription
Create social media integrationsIdentify social media platforms to integrate with and select the appropriate icons for display

Forms

 SummaryDescription
Install dependencies for formsInstall and configure modules, such as Webform

Security

 SummaryDescription
Verify the security of anonymous user dataEnsure there is no collection of anonymous user or session information
Implement and enforce SSLEnforce SSL both on Site Factory and all external services that integrate with it

Performance

 SummaryDescription
Identify CDN strategyDetermine your content delivery network (CDN) strategy, and migrate assets to it
Configure Varnish® managementConfigure cache tags and reactive purging of Varnish to improve the display of recent content while preserving website performance
Enforce CSS and JavaScript best practicesEnsure that CSS files are aggregated and JavaScript files are minified
Enforce Drupal caching best practicesConfigure Drupal’s core caching capabilities
Configure MemcacheDetermine if Memcache is appropriate for your platform, and configure cache bins if so
Implement performance and scalability improvementsPerform page load and performance benchmarking, and implement needed improvements
Test traffic using a load test environmentUse load test environments to create an isolated deployment of the production environment infrastructure.

Next steps

After reviewing this checklist, see Executing a migration into Site Factory.

Acquia Help

Filter by product:

Site Factory common questions

If you can't find what you're looking for, try refining your search or contact our Support teamfor further assistance.