Drupal CMS for marketing sites
|
|
- Neil Lawson
- 8 years ago
- Views:
Transcription
1 Drupal CMS for marketing sites
2 Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit Testing Routing Data binding Data validation Frontend Javascript Libraries Css Stylesheets Messages Common Smarty variables from controllers Variable references from Javascript Deployment What is included in the deployments Packaging with maven (if required) Creating a tag release and version increment Training resources Drupal: Smarty: PHP:
3 Intro The structure for the Drupal CMS marketing sites is a different setup to a typical drupal CMS build. The applications are designed to have a clear separation between frontend and cms. This design is so that we can strip out the Drupal CMS at any time with a different cms and not have to change the frontend of the websites. This allows a lot more freedom on the application builds and no strong dependencies on the CMS. Sample sites: Hahn Facebook app: Direct desktop access: Mobile version: James Boag James Boag's Premium: James Boag's Draught: upcoming James Boag's Masterbrand: upcoming James Squire Main website: upcoming Corporate Lion corporate site: upcoming Lion career site: upcoming End to End flow The end to end flow of the website structure happens in the below diagram. The web request comes into the server, the htaccess routes through to a controller php file. A php service model is then retrieved from the facade, this model will talk to the json services from drupal cms. The data is then set into a model object with key value pairs, which is then rendered through a smarty template. The smarty template is then output as a string to the client as html.
4 Folder Structure The projects are maven projects so a specific folder structure must be adhered to. The diagram below has highlighted some key folders in the structure which should have specific files stored in.
5 Project setup Each project has it's own unqiue database name, user and password. This should be defined in the readme.md of the project root. When setting up your development machine make sure to match your user and password to that defined in the readme.md. This is because we have multiple developers working on the project at the same time and want everyone to have the same settings for when files are checked in and out of source control we do not override the settings. Content Folder Every project has it's own content folder which is stored outside of the drupal cms folder. This is so we can easily make deployments to the different servers without worrying about the content folder being overridden. To have this setup on your local dev machine first download a copy of the content folder from the staging or live environment.
6 Then when you create your virtual host in apache reference the folder by the environment variable WEBDEV_CONTENT. This can be seen in the virtual host configuration below. The content alias is pointing to the content folder and the WEBDEV_CONTENT variable is pointing to it's parent folder. This is because in drupal settings.php we are creating content reference with WEBDEV_CONTENT/{project name}. <VirtualHost *:80 > ServerName hahn.dev.local DocumentRoot "/home/aiden/development/gitrepos/lio0035_hahnpioneeringbeering/hahnpioneeringbeeringwebapp/src/main/webapp" DirectoryIndex index.php index.html index.htm <Directory "/home/aiden/development/gitrepos/lio0035_hahnpioneeringbeering/hahnpioneeringbeeringwebapp/src/main/webapp"> AllowOverride all Order allow,deny Allow from all </Directory> <Directory "C:/opt/temp/DevSitesContent/HahnPioneeringBeering"> AllowOverride all Order allow,deny Allow from all </Directory> Alias /content "C:/opt/temp/DevSitesContent/HahnPioneeringBeering" SetEnv WEBDEV_CONTENT "C:/opt/temp/DevSitesContent" </VirtualHost> Data Store (Drupal CMS) Drupal CMS is used as a data store only. There are no templates or frontend code coming from the CMS. This is a slightly different way of thinking to the ordinary CMS setup where everything comes from the CMS. The only information that should be stored in the CMS is the editable content (data only). For instance in the editable content is the modules. The content editor wanted the ability to change the modules in the page with the image details, copy etc. This data is then retrieved from Drupal using the services module and outputting that information through json feeds. The setup of the data is quite simple where we have Node Content Types with properties of the data we want to store, Image Styles for the resizing of images for the frontend, Taxonomy for tagging content to use as filters. Views are then setup to output those Content Types and Taxonomy Terms as json feeds. Node Types can be edited in the below page of the cms.
7 Service Views can be edited in the below page of the cms.
8 Individual JSON Service views created in the cms.
9 Importing/Exporting Content To export content from a staging to production environment and vice versa please use the content import/export module. In the drupal shortcuts menu there are two links 1 for export content and 1 for import content. To export just click the export content and it will prompt to save a txt file of the content. To import this content click the import content and you will see a form with some options. Select the export file as the file to import and then select the parameters of the import for which content types to import etc.
10 Database Migrations The database of drupal is very complex so data migrations can be a real pain. The solution at the moment is to do the following steps. This is currently in the process of being automated Export the content from the admin panel. Make a copy of the database. Export your current database. Import your database on the server. Import the content that was exported in step 1.
11 Backend The backend is a simple mvc structure which has a lot of helper classes which allow you to easily get request information and to mock requests for unit testing. The php folder is where all the controllers and business logic should be stored. Please refer to previous projects on the structure of the controllers and models. The webapp folder is the web root of the website. No php files are needed here other than the files which are currently in the existing structure. The WEB-INF/views is the smarty views folder. All smarty views should be stored in this location. Config The configuration of the website is controlled by WEB-INF/config.ini This configuration should have all of the settings which are needed to control the application and which change between environments. This file has references to css and javascript which will be changed in the final deployment through the maven configuration. This happens by updating the pom.xml where the plugin maven-minify-plugin is setup. This plugin needs to reference the same css and js as referenced in the config.ini. This will enabled the css and js to be merged and minified in the deployment process. Please make sure to look at the overriding configuration which is stored in assembly/config.ini. This overriding config.ini should be the same as the WEB-INF/config.ini except with dynamic variables to change settings between the different environments. These settings come from the pom.xml when processing the config.ini, see below snippet for pom.xml configuration. <plugin> <groupid>net.rumati.maven.plugins</groupid> <artifactid>velocity-maven-plugin</artifactid> <version>0.1.2</version> <executions> <execution> <id>config-override</id> <phase>prepare-package</phase> <goals> <goal>velocity</goal> </goals> <configuration> <template>${basedir}/src/main/assembly/config.ini</template> <outputfile>${basedir}/target/auto-generation/webapp/web-inf/config.ini</outputfile> <properties>... <googleanalyticsid>${googleanalyticsid}</googleanalyticsid> <buildfinalname>${buildfinalname}</buildfinalname> <publiccontentlocation>${publiccontentlocation}</publiccontentlocation>... </properties> </configuration> </execution> </executions> </plugin>
12 Unit Testing All php code should be developed to be easily mockable and testable. This should use interfaces for model services so a mocked version and an implementation can be created. There should be no direct references to $_SERVER variables, the HttpServletRequest object in the facade should be used to pull out variables such as server name and request parameters etc. This allows controllers and models to be built and tested without the need for running through a web server. All unit tests should be stored under test/php, please refer to previous projects for references. Routing All routes should be defined in.htaccess file. Any dynamic parts of the url structure should be passed through to the controller as redirect parameters. This allows the controller to be completely separated from the route so there are no dependencies on url structures etc. An example of a route which does this in hahn is below. You will see in this example we have api/modules/{service_method}.json as the route. The Service method is the dynamic parameter to pass to the controller so that is defined by using the redirect parameter E=ServiceMethod:$1 RewriteRule ^api/modules/([^/\.]+)\.json$ view.requesthandler.php [E=ExecuteController:APIModulesCommand,E=ServiceMethod:$1,L] This is then picked up by the controller using the following code. $servicemethod = $request->getredirectparam("servicemethod"); Data binding Data binding throughout the application uses annotations which are parsed through an annotation parser and used to bind data between the frontend requests, drupal and traction. These can be seen by the below example from an entity class. You will notice annotations for DrupalField and TracField. In the drupal annotation parser it will look for properties with DrupalField and if found will bind the node object field which is retrieved from drupal to the property in the entity class. In the traction sdk it will look for properties with TracField and if found will add that property into a request to send to traction.
13 /** class ContactEntity{ /** integer $nodeid public $nodeid; /** * Special field used for when inserting into traction. * Response object id will be populated integer $id public $tractioncustomerid; /** string $firstname public $firstname = null; /** string $lastname public $lastname = null; } If you are doing html form binding this can be done by using the below annotations to bind fields to specific data types automatically. You will notice BindType annotation is used here. See RequestBindUtils::bindToRequest for supported binding types.
14 /** class NominationEntity{ /** string $story_description public $story_description = null; /** string $friend_ public $friend_ = null; /** DateTime $invitation_date public $invitation_date = null; /** bool $optin_nominee public $optin_nominee = false; } A controller which handles this bind can be seen with the code snippet below. // create bind model $bindmodel = new WinnerFormVO(); RequestBindUtils::bindToRequest($bindModel, $request, array("winner_country","winner_state","winner_postcode","agreeterms","optin"), null); Data validation Data validation uses a simple validation api with a lot of helper methods. See ValidationUtils for supported methods. An example use of a validator class snippet is below.
15 class NominationWinnerValidator{ public function construct(){ } /** * Validates model parameters NominationEntity $model HttpServletRequest $request * Errors public function validate($model, $request){ $errors = new Errors(); ValidationUtils::rejectIfNullOrEmpty($errors, "winner_firstname", $model->winner_firstname); ValidationUtils::rejectIfMax($errors, "winner_firstname", $model->winner_firstname, 50); ValidationUtils::rejectIfNotPattern($errors, "winner_firstname", $model->winner_firstname, "/^[^\\d]+$/"); return $errors; } } Frontend The frontend uses standard html markup running through smarty templates. All templates should be named with.tpl extension. Templates should not contain any php code. If data needs to be parsed to the templates that should come from the model object that the controllers pass to smarty. Static file references should always use the model attribute called {$cdnresourcespath}. This allows all css, js, images etc anything which is sitting under the webapp/resources path to be referenced. This allows for a lot of flexibility if needing to store files on a cdn or updating the path references for deployments. For example: If you are referencing a css file in resources/css/file1.css and the application is already deployed then when you make updates to this file you want updates to be rendered immediately without clients clearing their cache. By adding {$cdnresourcespath} infront of the file to look like this {$cdnresourcespath}/css/file1.css then the deployed file will look like main.com/static/ /css/file1.css. This makes deployments extremely simple since all static resources are time stamped for each deployment so references to them are updated immediately and no references to the updated files need to be changed in html.
16 Javascript Libraries All javascript files should be added in the webapp/resources path under js folder. To import the javascript file into the html do not create a script reference in the html! You will need to add the reference in the webapp/web-inf/config.ini and the pom.xml. This is because the config.ini will be used to retrieve the list of javascript files and the pom.xml will be used to minify those javascript libraries into a single js file. Please refer to the below snippets from a previous project. Config.ini... desktop_view_js[] = "/frontend/js/lib/jquery/jquery js" desktop_view_js[] = "/frontend/js/lib/jquery/jquery-class.js"... pom.xml... <jssourcefile>lib/jquery/jquery js</jssourcefile> <jssourcefile>lib/jquery/jquery-class.js</jssourcefile>... Css Stylesheets All css files should be added in the webapp/resources path under css folder. To import the css file into the html do not create a link reference in the html! You will need to add the reference in the webapp/web-inf/config.ini and the pom.xml. This is because the config.ini will be used to retrieve the list of css files and the pom.xml will be used to minify those css files into a single css file. Please refer to the below snippets from a previous project. Config.ini... desktop_view_css[] = "/frontend/css/core.css" desktop_view_css[] = "/frontend/css/main.css"... pom.xml
17 ... <csssourcefile>core.css</csssourcefile> <csssourcefile>main.css</csssourcefile>... Messages All copy in the frontend should come from the messages.ini file unless coming from the cms. This allows for translations to be done on the copy in the website or the copy can be migrated to the cms at a later stage. The messages file is a standard php ini file, use below references for example. To retrieve a message in smarty templates call the message like the following. <p>{$messages["messagesgroupname"]["messagekey"]}</p> For example if your messages file looks like this. [messages] mymessagekey="lorem ipsum" Then you would call this message like so. <p>{$messages["messages"]["mymessagekey"]}</p> <!-- Output would be <p>lorem ipsum</p> --> Common Smarty variables from controllers The table below is a list of variables which can be accessed from smarty templates in the existing projects. This can be used as a reference to what variables you can use. These variables are inserted from the php controller by calling SupportUtils::addDefaultModelVariables($model, $facade). Variable Description Type {$config} The config ini object Array {$messages} The messages ini object Array {$browser} {$ismobile} The browser object to retrieve user agent data The is mobile boolean to determine if user agent is mobile. This is short syntax for calling browser->ismobile() Browser Boolean
18 {$istablet} {$request} {$webrootpath} {$cdnrootpath} {$resourcespath} {$cdnresourcespath} {$contentpath} {$cdncontentpath} The is tablet boolean to determine if user agent is tablet. This is short syntax for calling browser->istablet() The http request object. This can be referenced if requiring to check for server params etc. The absolute path to web root. Use this for any files which need to be reference from the root of the website The absolute path to the cdn root. Use this for any files which are static and referenced from the root of the cdn. If cdn paths are not defined this defaults back to webrootpath The absolute path to the static resources from the root of the website. This should only be used if your wanting to reference files on the root of the website otherwise cdnresourcespath should be used. This path references files under webapp/resources. So if you have a files in webapp/resources/js/file1.js you would reference it by {$resourcespath}/js/file1.js The absolute path to the static resources from the root of the cdn. This path references files under webapp/resources. So if you have a files in webapp/resources/js/file1.js you would reference it by {$cdnresourcespath}/js/file1.js The absolute path to the static content from the root of the website. This should only be used if your wanting to reference files on the root of the website otherwise cdncontentpath should be used. This path references files under the content alias for cms uploaded content. The absolute path to the static content from the root of the cdn. This path references files under the content alias for cms uploaded content. Boolean HttpServletRequest String String String String String String {$metadata} The current metadata object for the current page. MetadataVO
19 Variable references from Javascript Sometimes you may want to get absolute path references in javascript files. These can be referenced by a window variable MainConfig. This config object is inserted into the html page by the php controller calling SupportUtils::getHtmlConfig($model, $facade). Here is an example of how to get the cdn resources path from javascript. var imagepath = window.mainconfig["cdnresourcespath"] + "/images/myimage.jpg"; Deployment The deployment process of the site happens with a maven packaging command which generates a deployable zip file that can then be extracted to the server. Most projects should be running through Bamboo build server which automatically runs the maven packaging commands and deploys to the servers. If the project is setup in Bamboo all which is required is to adhere to the documentation on frontend and backend in this document. Once you have completed development of a feature or bug fix etc commit all your code into git and push to the origin server. This will then trigger an update in Bamboo and the code will be automatically deployed to the staging server within about 10 minutes. If you and the producer are then happy with the staging deployment ask your Tech Lead to click the deploy to live in Bamboo. What is included in the deployments Currently only files in source control are deployed to the different servers. A solution is being worked on for content deployments, so if you need to migrate content from staging to live and vice versa please use the import/ export module. Packaging with maven (if required) If it is required that you have to package up the project with maven to do a manual deployment please following the following steps. Browse to the root of you project. Package for staging server. mvn clean mvn -Pstaging package Package for live server. mvn clean mvn package
20 Creating a tag release and version increment Once you do a live production deployment it is good practice to create a tag in the source control and increment the version of the project. You can do this using the maven release plugin by following the below steps. This will ask you a series of questions which you can hit enter on all of them except if you want to change the version names. Browse to the root of you project. Create release mvn clean mvn release:prepare mvn release:perform mvn release:clean This would have created a tag in the repository and increased the version in the maven pom.xml files. We then want to push up the changes to the origin. git push origin --tags git push origin master Training resources Drupal: Drupal Essential Training: Drupal Advanced Training: Responsive Design with Drupal: Services Module used to pass the data from CMS to frontend: Smarty: Crash course: Best practices: PHP: PHP ini:
Content Management System
Content Management System XT-CMS INSTALL GUIDE Requirements The cms runs on PHP so the host/server it is intended to be run on should ideally be linux based with PHP 4.3 or above. A fresh install requires
More information5.1 Features 1.877.204.6679. sales@fourwindsinteractive.com Denver CO 80202
1.877.204.6679 www.fourwindsinteractive.com 3012 Huron Street sales@fourwindsinteractive.com Denver CO 80202 5.1 Features Copyright 2014 Four Winds Interactive LLC. All rights reserved. All documentation
More informationultimo theme Update Guide Copyright 2012-2013 Infortis All rights reserved
ultimo theme Update Guide Copyright 2012-2013 Infortis All rights reserved 1 1. Update Before you start updating, please refer to 2. Important changes to check if there are any additional instructions
More informationEZcast technical documentation
EZcast technical documentation Document written by > Michel JANSENS > Arnaud WIJNS from ULB PODCAST team http://podcast.ulb.ac.be http://ezcast.ulb.ac.be podcast@ulb.ac.be SOMMAIRE SOMMAIRE 2 1. INTRODUCTION
More informationBazaarvoice for Magento Extension Implementation Guide v6.3.4
Bazaarvoice Bazaarvoice for Magento Extension Implementation Guide v6.3.4 Version 6.3.4 Bazaarvoice Inc. 03/25/2016 Introduction Bazaarvoice maintains a pre-built integration into the Magento platform.
More informationPortals and Hosted Files
12 Portals and Hosted Files This chapter introduces Progress Rollbase Portals, portal pages, portal visitors setup and management, portal access control and login/authentication and recommended guidelines
More informationLocalizing dynamic websites created from open source content management systems
Localizing dynamic websites created from open source content management systems memoqfest 2012, May 10, 2012, Budapest Daniel Zielinski Martin Beuster Loctimize GmbH [daniel martin]@loctimize.com www.loctimize.com
More informationMagento Extension Developer s Guide
Magento Extension Developer s Guide Copyright 2012 X.commerce, Inc. All rights reserved. No part of this Guide shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic,
More informationWHAT'S NEW IN SHAREPOINT 2013 WEB CONTENT MANAGEMENT
CHAPTER 1 WHAT'S NEW IN SHAREPOINT 2013 WEB CONTENT MANAGEMENT SharePoint 2013 introduces new and improved features for web content management that simplify how we design Internet sites and enhance the
More informationThis course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.
20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction
More informationJMS MULTISITE for joomla!
JMS MULTISITE for joomla! Extends joomla! with multisite functionality «Technical (workshop) presentation» Joomla Day Mallorca 9 th and 10 th april 2010 08-Apr-2010 Page : 1 Table of content Why did we
More informationInstallation, Configuration, and Usage
Installation, Configuration, and Usage Copyright Free Lunch Labs www.freelunchlabs.com Installation BEFORE INSTALLING THIS EXTENSION CREATE OF BACKUP OF YOUR MAGENTO INSTALLATION AND ALL ASSOCISTED FILES
More informationGraphviz Website Installation, Administration and Maintenance
Graphviz Website Installation, Administration and Maintenance 1 Overview The graphviz.org website is based on the Drupal content management system. Drupal uses a MySql database to store web pages and information
More informationSite Store Pro. INSTALLATION GUIDE WPCartPro Wordpress Plugin Version
Site Store Pro INSTALLATION GUIDE WPCartPro Wordpress Plugin Version WPCARTPRO INTRODUCTION 2 SYSTEM REQUIREMENTS 4 DOWNLOAD YOUR WPCARTPRO VERSION 5 EXTRACT THE FOLDERS FROM THE ZIP FILE TO A DIRECTORY
More informationWindows Azure Support in Kentico CMS 5.5 R2
Windows Azure Support in Kentico CMS 5.5 R2 Table of Contents Introduction and prerequisites... 3 Deployment to Windows Azure (using a prepared package)... 4 Conversion of an existing Kentico website to
More informationSitecore InDesign Connector 1.1
Sitecore Adaptive Print Studio Sitecore InDesign Connector 1.1 - User Manual, October 2, 2012 Sitecore InDesign Connector 1.1 User Manual Creating InDesign Documents with Sitecore CMS User Manual Page
More informationImplementing HTTPS in CONTENTdm 6 September 5, 2012
Implementing HTTPS in CONTENTdm 6 This is an overview for CONTENTdm server administrators who want to configure their CONTENTdm Server and Website to make use of HTTPS. While the CONTENTdm Server has supported
More informationAcquia Introduction December 9th, 2009
Acquia Introduction December 9 th, 2009 Agenda 1. Content Management 2. Web Application Framework 3. Architecture principles 1. Modular 2. Event driven 3. Skinnable 4. Secure 5. Accessible 4. Enterprise
More informationMASTERTAG DEVELOPER GUIDE
MASTERTAG DEVELOPER GUIDE TABLE OF CONTENTS 1 Introduction... 4 1.1 What is the zanox MasterTag?... 4 1.2 What is the zanox page type?... 4 2 Create a MasterTag application in the zanox Application Store...
More informationFileMaker Server 14. Custom Web Publishing Guide
FileMaker Server 14 Custom Web Publishing Guide 2004 2015 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks
More informationFileMaker Server 15. Custom Web Publishing Guide
FileMaker Server 15 Custom Web Publishing Guide 2004 2016 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks
More informationDevelopers Guide. Designs and Layouts HOW TO IMPLEMENT WEBSITE DESIGNS IN DYNAMICWEB. Version: 1.3 2013.10.04 English
Developers Guide Designs and Layouts HOW TO IMPLEMENT WEBSITE DESIGNS IN DYNAMICWEB Version: 1.3 2013.10.04 English Designs and Layouts, How to implement website designs in Dynamicweb LEGAL INFORMATION
More informationSonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI)
Sonatype CLM Enforcement Points - Continuous Integration (CI) i Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI) ii Contents 1
More informationCertified PHP/MySQL Web Developer Course
Course Duration : 3 Months (120 Hours) Day 1 Introduction to PHP 1.PHP web architecture 2.PHP wamp server installation 3.First PHP program 4.HTML with php 5.Comments and PHP manual usage Day 2 Variables,
More informationBazaarvoice for Magento
Bazaarvoice Bazaarvoice for Magento Extension Implementation Guide v6.1.2.3 Version 6.1.2.3 Bazaarvoice Inc. 8/5/2015 Introduction Bazaarvoice maintains a pre-built integration into the Magento platform.
More informationInstalling an open source version of MateCat
Installing an open source version of MateCat This guide is meant for users who want to install and administer the open source version on their own machines. Overview 1 Hardware requirements 2 Getting started
More informationSocial Enterprise Java Apps
Social Enterprise Java Apps Safe Harbor Statement Safe harbor statement under the Private Securities Litigation Reform Act of 1995. This presentation may contain forward-looking statements that involve
More informationEsigate Module Documentation
PORTAL FACTORY 1.0 Esigate Module Documentation Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels to truly control
More informationWebSpy Vantage Ultimate 2.2 Web Module Administrators Guide
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide This document is intended to help you get started using WebSpy Vantage Ultimate and the Web Module. For more detailed information, please see
More informationshweclassifieds v 3.3 Php Classifieds Script (Joomla Extension) User Manual (Revision 2.0)
shweclassifieds v 3.3 Php Classifieds Script (Joomla Extension) User Manual (Revision 2.0) Contents Installation Procedure... 4 What is in the zip file?... 4 Installing from Extension Manager... 6 Updating
More informationDeveloping Web Views for VMware vcenter Orchestrator
Developing Web Views for VMware vcenter Orchestrator vcenter Orchestrator 5.1 This document supports the version of each product listed and supports all subsequent versions until the document is replaced
More informationListed below are the common process in creating a new content type, and listing a summary of all contents via view and/or panel custom page.
Why Features? Basically, in Drupal, one has to undergo series of configurations to be able to create content type, views and/or panels, etc. depending on the functionality one wants to achieve. For a single
More informationResPAK Internet Module
ResPAK Internet Module This document provides an overview of the ResPAK Internet Module which consists of the RNI Web Services application and the optional ASP.NET Reservations web site. The RNI Application
More informationAutomate Your Deployment with Bamboo, Drush and Features DrupalCamp Scotland, 9 th 10 th May 2014
This presentation was originally given at DrupalCamp Scotland, 2014. http://camp.drupalscotland.org/ The University of Edinburgh 1 We are 2 of the developers working on the University s ongoing project
More informationFileMaker Server 9. Custom Web Publishing with PHP
FileMaker Server 9 Custom Web Publishing with PHP 2007 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker,
More informationIntroduction to XML Applications
EMC White Paper Introduction to XML Applications Umair Nauman Abstract: This document provides an overview of XML Applications. This is not a comprehensive guide to XML Applications and is intended for
More informationBuilder User Guide. Version 6.0.1. Visual Rules Suite - Builder. Bosch Software Innovations
Visual Rules Suite - Builder Builder User Guide Version 6.0.1 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312
More informationMAGENTO Migration Tools
MAGENTO Migration Tools User Guide Copyright 2014 LitExtension.com. All Rights Reserved. Magento Migration Tools: User Guide Page 1 Content 1. Preparation... 3 2. Setup... 5 3. Plugins Setup... 7 4. Migration
More informationDashboard Skin Tutorial. For ETS2 HTML5 Mobile Dashboard v3.0.2
Dashboard Skin Tutorial For ETS2 HTML5 Mobile Dashboard v3.0.2 Dashboard engine overview Dashboard menu Skin file structure config.json Available telemetry properties dashboard.html dashboard.css Telemetry
More informationultimo theme Update Guide Copyright 2012-2013 Infortis All rights reserved
ultimo theme Update Guide Copyright 2012-2013 Infortis All rights reserved 1 1. Update Before you start updating, please refer to 2. Important changes to check if there are any additional instructions
More informationSonatype CLM for Maven. Sonatype CLM for Maven
Sonatype CLM for Maven i Sonatype CLM for Maven Sonatype CLM for Maven ii Contents 1 Introduction 1 2 Creating a Component Index 3 2.1 Excluding Module Information Files in Continuous Integration Tools...........
More informationHow to start with 3DHOP
How to start with 3DHOP Package content, local setup, online deployment http://3dhop.net 30/6/2015 The 3DHOP distribution Where to find it, what s inside The 3DHOP distribution package From the page http://3dhop.net/download.php
More informationX-POS GUIDE. v3.4 INSTALLATION. 2015 SmartOSC and X-POS
GUIDE INSTALLATION X-POS v3.4 2015 SmartOSC and X-POS 1. Prerequisites for Installing and Upgrading Server has Apache/PHP 5.2.x/MySQL installed. Magento Community version 1.7.x or above already installed
More informationInstant Chime for IBM Sametime Installation Guide for Apache Tomcat and Microsoft SQL
Instant Chime for IBM Sametime Installation Guide for Apache Tomcat and Microsoft SQL Spring 2015 Copyright and Disclaimer This document, as well as the software described in it, is furnished under license
More informationThe truth about Drupal
The truth about Drupal Why Drupal is great Large community of 3rd party developer Quality control over contributed code Most of the indispensable contributed modules are maintained by solid development
More informationCustomer Tips. Xerox Network Scanning HTTP/HTTPS Configuration using Microsoft IIS. for the user. Purpose. Background
Xerox Multifunction Devices Customer Tips June 5, 2007 This document applies to these Xerox products: X WC Pro 232/238/245/ 255/265/275 for the user Xerox Network Scanning HTTP/HTTPS Configuration using
More informationAn Introduction to Developing ez Publish Extensions
An Introduction to Developing ez Publish Extensions Felix Woldt Monday 21 January 2008 12:05:00 am Most Content Management System requirements can be fulfilled by ez Publish without any custom PHP coding.
More informationSitecore Dashboard User Guide
Sitecore Dashboard User Guide Contents Overview... 2 Installation... 2 Getting Started... 3 Sample Widgets... 3 Logged In... 3 Job Viewer... 3 Workflow State... 3 Publish Queue Viewer... 4 Quick Links...
More informationSEO Checker User manual
SEO Checker User manual 1 INTRODUCTION... 4 2 INSTALLATION... 5 2.1 Install a license... 5 2.2 Give a user access to SEO Checker... 6 3 SEO CHECKER FOR CONTENT EDITORS... 7 4 VALIDATE PAGES... 8 4.1 Manual
More informationGit - Working with Remote Repositories
Git - Working with Remote Repositories Handout New Concepts Working with remote Git repositories including setting up remote repositories, cloning remote repositories, and keeping local repositories in-sync
More informationConfiguring the JEvents Component
Configuring the JEvents Component The JEvents Control Panel's Configuration button takes you to the JEvents Global Configuration page. Here, you may set a very wide array of values that control the way
More informationMASTER DRUPAL 7 MODULE DEVELOPMENT
MASTER DRUPAL 7 MODULE DEVELOPMENT by blair wadman sample available for purchase at http://befused.com/master-drupal/ LESSON 1 INTRODUCTION In this section, you will be introduced to the core Drupal concepts
More informationSIMGallery. User Documentation
SIMGallery Joomla Component Joomla Modules Joomla/CB Plugin For Joomla and Community Builder / JomSocial http://www.joomla.org http://www.joomlapolis.com http://www.jomsocial.com User Documentation Product
More informationJTouch Mobile Extension for Joomla! User Guide
JTouch Mobile Extension for Joomla! User Guide A Mobilization Plugin & Touch Friendly Template for Joomla! 2.5 Author: Huy Nguyen Co- Author: John Nguyen ABSTRACT The JTouch Mobile extension was developed
More informationQuick Start Guide Mobile Entrée 4
Table of Contents Table of Contents... 1 Installation... 2 Obtaining the Installer... 2 Installation Using the Installer... 2 Site Configuration... 2 Feature Activation... 2 Definition of a Mobile Application
More informationHow To Use Titanium Studio
Crossplatform Programming Lecture 3 Introduction to Titanium http://dsg.ce.unipr.it/ http://dsg.ce.unipr.it/?q=node/37 alessandro.grazioli81@gmail.com 2015 Parma Outline Introduction Installation and Configuration
More informationCEFNS Web Hosting a Guide for CS212
CEFNS Web Hosting a Guide for CS212 INTRODUCTION: TOOLS: In CS212, you will be learning the basics of web development. Therefore, you want to keep your tools to a minimum so that you understand how things
More informationInstallation & User Guide
SharePoint List Filter Plus Web Part Installation & User Guide Copyright 2005-2011 KWizCom Corporation. All rights reserved. Company Headquarters KWizCom 50 McIntosh Drive, Unit 109 Markham, Ontario ON
More informationBuilder User Guide. Version 5.4. Visual Rules Suite - Builder. Bosch Software Innovations
Visual Rules Suite - Builder Builder User Guide Version 5.4 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312
More informationMarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.
Reference Application Architecture Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents
More informationMagento 1.3: PHP Developer's Guide
Magento 1.3: PHP Developer's Guide Jamie Huskisson Chapter No. 3 "Magento's Architecture" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter
More informationThe easy way to a nice looking website design. By a total non-designer (Me!)
The easy way to a nice looking website design By a total non-designer (Me!) Website Refresher Three types of Website 1.Hand rolled HTML. Lightweight static pages. 2.Scripted Website. (PHP, ASP.NET etc.)
More informationElgg 1.8 Social Networking
Elgg 1.8 Social Networking Create, customize, and deploy your very networking site with Elgg own social Cash Costello PACKT PUBLISHING open source* community experience distilled - BIRMINGHAM MUMBAI Preface
More informationDreamFactory & Modus Create Case Study
DreamFactory & Modus Create Case Study By Michael Schwartz Modus Create April 1, 2013 Introduction DreamFactory partnered with Modus Create to port and enhance an existing address book application created
More informationGetting Started with the Ed-Fi ODS and Ed-Fi ODS API
Getting Started with the Ed-Fi ODS and Ed-Fi ODS API Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview October 2014 2014 Ed-Fi Alliance, LLC. All rights reserved. Ed-Fi is a registered trademark
More informationPHP Integration Kit. Version 2.5.1. User Guide
PHP Integration Kit Version 2.5.1 User Guide 2012 Ping Identity Corporation. All rights reserved. PingFederate PHP Integration Kit User Guide Version 2.5.1 December, 2012 Ping Identity Corporation 1001
More informationShop by Manufacturer Custom Module for Magento
Shop by Manufacturer Custom Module for Magento TABLE OF CONTENTS Table of Contents Table Of Contents... 2 1. INTRODUCTION... 3 2. Overview...3 3. Requirements... 3 4. Features... 4 4.1 Features accessible
More informationDevShop. Drupal Infrastructure in a Box. Jon Pugh CEO, Founder ThinkDrop Consulting Brooklyn NY
DevShop Drupal Infrastructure in a Box Jon Pugh CEO, Founder ThinkDrop Consulting Brooklyn NY Who? Jon Pugh ThinkDrop Consulting Building the web since 1997. Founded in 2009 in Brooklyn NY. Building web
More informationDevelop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java. Drupaldelphia 2014 By Joe Roberts
Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java Drupaldelphia 2014 By Joe Roberts Agenda What is DrupalGap and PhoneGap? How to setup your Drupal website
More informationSizmekFeatures. HTML5JSSyncFeature
Features HTML5JSSyncFeature Table of Contents Overview... 2 Supported Platforms... 2 Demos/Downloads... 3 Note... 3 For Tags Served in iframes... 3 Features... 3 Use Case... 3 Included Files... 4 Implementing
More informationEvaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application... 1-10
Chapter 1: An Overview Of Ruby Rails 1) What is Ruby on Rails?... 1-2 2) Overview of Rails Components... 1-3 3) Installing Rails... 1-5 4) A Simple Rails Application... 1-6 5) Starting the Rails Server...
More informationTutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator
Tutorial: Building a Dojo Application using IBM Rational Application Developer Loan Payment Calculator Written by: Chris Jaun (cmjaun@us.ibm.com) Sudha Piddaparti (sudhap@us.ibm.com) Objective In this
More informationInsight Video Net. LLC. CMS 2.0. Quick Installation Guide
Insight Video Net. LLC. CMS 2.0 Quick Installation Guide Table of Contents 1. CMS 2.0 Installation 1.1. Software Required 1.2. Create Default Directories 1.3. Create Upload User Account 1.4. Installing
More informationElle Décor Lookbook ipad Application
Elle Décor Lookbook ipad Application www.appnovation.com Elle Décor Lookbook ipad Application Contents 1.0 Background P. 3 2.0 Project Overview P. 4 3.0 Goals & Requirements P. 5 4.0 Development P. 8 P.2
More informationPhoneGap Build Starter
PhoneGap Build Starter Painless Mobile Apps Development Zainul Setyo Pamungkas This book is for sale at http://leanpub.com/phonegapbuild This version was published on 2015-05-26 This is a Leanpub book.
More informationAdobe Summit 2015 Lab 712: Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers
Adobe Summit 2015 Lab 712: Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers 1 Table of Contents INTRODUCTION MODULE 1 AEM & PHONEGAP ENTERPRISE INTRODUCTION LESSON 1- AEM BASICS
More informationHudson configuration manual
Hudson configuration manual 1 Chapter 1 What is Hudson? Hudson is a powerful and widely used open source continuous integration server providing development teams with a reliable way to monitor changes
More informationBeyond The Web Drupal Meets The Desktop (And Mobile) Justin Miller Code Sorcery Workshop, LLC http://codesorcery.net/dcdc
Beyond The Web Drupal Meets The Desktop (And Mobile) Justin Miller Code Sorcery Workshop, LLC http://codesorcery.net/dcdc Introduction Personal introduction Format & conventions for this talk Assume familiarity
More informationSizmek Formats. IAB Mobile Pull. Build Guide
Sizmek Formats IAB Mobile Pull Build Guide Table of Contents Overview...3 Supported Platforms... 6 Demos/Downloads... 6 Known Issues... 6 Implementing a IAB Mobile Pull Format...6 Included Template Files...
More informationConfiguring Secure Socket Layer (SSL) for use with BPM 7.5.x
Configuring Secure Socket Layer (SSL) for use with BPM 7.5.x Configuring Secure Socket Layer (SSL) communication for a standalone environment... 2 Import the Process Server WAS root SSL certificate into
More informationModule developer s tutorial
Module developer s tutorial Revision: May 29, 2011 1. Introduction In order to keep future updates and upgrades easy and simple, all changes to e-commerce websites built with LiteCommerce should be made
More informationBuild it with Drupal 8
Build it with Drupal 8 Comprehensive guide for building common websites in Drupal 8. No programming knowledge required! Antonio Torres This book is for sale at http://leanpub.com/drupal-8-book This version
More informationIntegration Guide. SafeNet Authentication Service. Using SAS as an Identity Provider for Drupal
SafeNet Authentication Service Integration Guide Technical Manual Template Release 1.0, PN: 000-000000-000, Rev. A, March 2013, Copyright 2013 SafeNet, Inc. All rights reserved. 1 Document Information
More informationEVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.
WA2088 WebSphere Application Server 8.5 Administration on Windows Student Labs Web Age Solutions Inc. Copyright 2013 Web Age Solutions Inc. 1 Table of Contents Directory Paths Used in Labs...3 Lab Notes...4
More informationWakanda Studio Features
Wakanda Studio Features Discover the many features in Wakanda Studio. The main features each have their own chapters and other features are documented elsewhere: Wakanda Server Administration Data Browser
More informationOpen Source Content Management System for content development: a comparative study
Open Source Content Management System for content development: a comparative study D. P. Tripathi Assistant Librarian Biju Patnaik Central Library NIT Rourkela dptnitrkl@gmail.com Designing dynamic and
More informationWorkshop on Using Open Source Content Management System Drupal to build Library Websites Hasina Afroz Auninda Rumy Saleque
Workshop on Using Open Source Content Management System Drupal to build Library Websites Hasina Afroz Auninda Rumy Saleque Funded by: INASP, UK October 7, 2012 Ayesha Abed Library http://library.bracu.ac.bd
More informationLearn how to create web enabled (browser) forms in InfoPath 2013 and publish them in SharePoint 2013. InfoPath 2013 Web Enabled (Browser) forms
Learn how to create web enabled (browser) forms in InfoPath 2013 and publish them in SharePoint 2013. InfoPath 2013 Web Enabled (Browser) forms InfoPath 2013 Web Enabled (Browser) forms Creating Web Enabled
More informationDeveloping ASP.NET MVC 4 Web Applications MOC 20486
Developing ASP.NET MVC 4 Web Applications MOC 20486 Course Outline Module 1: Exploring ASP.NET MVC 4 The goal of this module is to outline to the students the components of the Microsoft Web Technologies
More informationUse ArcGIS Online to Manage
Use ArcGIS Online to Manage Your Own Custom Map Gallery By Keith Mann, Esri Start customizing the template by changing the graphics and the web page title. Wouldn t it be great if you could create a dynamic
More informationWESTERNACHER OUTLOOK E-MAIL-MANAGER OPERATING MANUAL
TABLE OF CONTENTS 1 Summary 3 2 Software requirements 3 3 Installing the Outlook E-Mail Manager Client 3 3.1 Requirements 3 3.1.1 Installation for trial customers for cloud-based testing 3 3.1.2 Installing
More informationStartup Guide. Version 2.3.9
Startup Guide Version 2.3.9 Installation and initial setup Your welcome email included a link to download the ORBTR plugin. Save the software to your hard drive and log into the admin panel of your WordPress
More informationmetaengine DataConnect For SharePoint 2007 Configuration Guide
metaengine DataConnect For SharePoint 2007 Configuration Guide metaengine DataConnect for SharePoint 2007 Configuration Guide (2.4) Page 1 Contents Introduction... 5 Installation and deployment... 6 Installation...
More informationFileMaker Server 12. Custom Web Publishing with XML
FileMaker Server 12 Custom Web Publishing with XML 2007 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks
More informationWeb Dashboard User Guide
Web Dashboard User Guide Version 10.2 The software supplied with this document is the property of RadView Software and is furnished under a licensing agreement. Neither the software nor this document may
More informationHOW TO SETUP AN APACHE WEB SERVER AND INTEGRATE COLDFUSION
HOW TO SETUP AN APACHE WEB SERVER AND INTEGRATE COLDFUSION Draft version 1.0 July 15 th 2010 Software XAMPP is an open source package designed to take almost all the work out of setting up and integrating
More informationEnterprise Knowledge Platform
Enterprise Knowledge Platform EKP Status Monitor Guide 2.1 Document Information Document ID: EN150 Document title: EKP Status Monitor Guide Version: 2.1 Document date: 14 April 2009 This document may be
More informationPage Editor Recommended Practices for Developers
Page Editor Recommended Practices for Developers Rev: 7 July 2014 Sitecore CMS 7 and later Page Editor Recommended Practices for Developers A Guide to Building for the Page Editor and Improving the Editor
More informationAutomation Services 9.5 Workflow Reference
Automation Services 9.5 Workflow Reference CONTENTS Contents Introduction...3 Where we're coming from...3 Conventions in this book...3 Understanding workflows...5 Workflows...6 Execute QPP Script...6 Export
More informationMAGENTO THEME SHOE STORE
MAGENTO THEME SHOE STORE Developer: BSEtec Email: support@bsetec.com Website: www.bsetec.com Facebook Profile: License: GPLv3 or later License URL: http://www.gnu.org/licenses/gpl-3.0-standalone.html 1
More information