Development
The development phase of the work combines work streams from several areas. So, there are many inputs to this component.
One input is the visual design templates. For each visual template, we will develop an HTML version. These HTML templates will look exactly like the visual design (something we pride ourselves on). This includes development of all the on-page interaction, e.g. drop-downs, AJAX, etc. We use HTML, CSS, JavaScript, jQuery, and other client-side (browser-side) tools to create these templates.
Once the HTML templates are complete, we integration them into the Drupal website. Drupal's templates are considerably more complex than simple HTML templates, so it takes some careful work to add those HTML templates to the site in the proper way. Once this is complete, the designs can be seen (again, looking just like the designs) on the Drupal site.
After the templates are in Drupal, we can migrate the content into the site. As this process progresses, the site "builds out" from a set of just a few placeholder templates to a full site. Each new page instantiates a template and a content type. In this way, a set of content can be merged with just a handful of templates to create a site that has hundreds or thousands of pages.
After this is complete, we create all the server-side functionality required. This includes search and contact forms at a minimum. But it could also include dynamic content areas, featured content, custom integration, CiviCRM functionality, syndicated content, and so on. We follow the content and functionality design concept.
Following the migration, integration, and functionality development, we perform testing and revision. There are frequently areas to adjust or change once they are seen live on the site.
When the site has passed testing, we move it to a staging server. This server is a copy of the production environment. So, we test the site again.
At the launch time, we move the site to the production server. Following the launch, we have several developers monitoring the site to be sure that there are no problems. Frequently, we add additional load balanced servers during launch to handle a larger-than-normal amount of web traffic.
After the launch period has passed (usually a few days), we move the site into hosting, support, and maintenance.
Technical Architecture
Based on the solution sketch, which provides an orienting roadmap for this work, we will design the back-end platform for the project. Synaxis recommends building the website on the Drupal 7 platform.
Technical Development
First, we convert the visual designs into HTML templates. The HTML templates are then built into Drupal to create a web version of the visual design. Working from the technical requirements, the interaction design, and the visual design, we then create the functionality on the site. This can include configuration or custom programming. We call this stage the prototype.
Content Migration
Very often a new website uses content from another, existing source, typical an old website. This happens when the new site is mainly a visual refresh or a replatforming.
In these cases, the source content is frequently already accessible and available in an electronic format. When this is the case, we can provide for an electronic "migration path" from the source to the new website.
It's tempting to think this should be a simple or quick process because both this is an all-electronic operation. After all, it's easy to export content. And it's easy to import content. But, the hard part is in the translation from that export to that import.
Once we have created an inventory of what's available and what's needed, we create a map of old to new. Most of the effort in content migration is in this mapping of the source content to the destination content.
Once we have the mapping in place, we build a custom migration tool. And then we test it rigorously on a test instance of the website.We frequently create and then destroy the content on the target site. We review and revise this until we find the perfect formula.
Once the formula is complete, we wait until the source content is ready. And then we perform a single, final migration of the content This includes proofing and tweaking the final product.
Testing
After the site is integrated, we will deploy the site on a web-accessible, but password-protected, staging server. This server mirrors the production server that will be used. At this point, we conduct internal testing and QA first. Once we are confident in the quality of the site, we will turn it over to you for proofing and approval. During this time, there is usually a flurry of activity, and changes, fixes, etc. happen very quickly. So, it’s important to schedule this phase during a time when everyone is available.
Launch
Once the site has passed testing, we perform the final preparations. This includes making any updates to the Drupal core or module updates. We also remove development modules and add in performance improvements designed to make the site work better as a live site. We can also help setup the production server, installing and configuring the software we will need.
Once the site and the server are ready, we cutover to the live site at the time given by the client. For the hours and days immediately following the cutover, we carefully monitor the site.