ATTACHMENT A City of Tulsa Web Services City of Tulsa 175 E. 2nd St. Tulsa, OK 74103 http://www.cityoftulsa.org External Web Development Standards Formal Guidelines for External Development of Web Projects for the City of Tulsa. Version 0.4 draft 8/2/2012 CITY OF TULSA WEB SERVICES Table of contents Overview ................................................................... 1 Development Guidelines ......................................... 1 .NET Development Requirements ....................1 PHP Development Requirements .....................2 Deployment Guidelines ........................................... 2 Deployment Deliverables .................................. 2 Update Guidelines.................................................... 3 Update Deliverables .......................................... 3 CITY OF TULSA WEB SERVICES Overview The purpose of this document is to set up some basic guidelines for interacting with external development resources. This document covers the three phases of external interaction: development, deployment and updates. Development Guidelines The City of Tulsa currently utilizes multiple web technologies. The primary preference of the Web Services group is C# ASP.NET development. This allows us to integrate any external content most closely with our existing web resources. When this is not a feasible ideal solution, Web Services also support PHP environments. General Development Requirements Local Hosting – All externally developed content must be hosted on City of Tulsa servers. If you are accessing specific external resources, Web Services will need to review and approve them on a one by one basis. Resource Registrations – If the application relies on a custom domain name, or security certificate, this must be obtained directly by the City of Tulsa or authority transferred before development may begin. Communications Involvement – If the project is public facing, it must be approved by the City of Tulsa communications department during the design phase. Communications is responsible for maintain the City brand, and as such they must approve all public facing content. .NET Development Requirements .NET Framework 3.5 or Higher – Web Services standard is .NET Framework 4.0. If you have a unique need for .NET Framework 3.5, it must be discussed during the design phase and approved before development may begin. Any version of the Framework prior to 3.5 will be rejected. Microsoft SQL Server – The City of Tulsa currently has multiple SQL server environments. The Web Services standard is Microsoft SQL Server R2. SQL Server 2005 is supported, but will require approval prior to project design. All content must be developed using the full version of Microsoft SQL Server. Any projects developed using Microsoft SQL Server Express will be rejected. Project Portability – If the project relies on any external DLL references, they must be included in the project BIN directory. No third party tools will be registered on our web servers. As a result all references must use the “Copy Local” option to run out of the local BIN directory. Code Behind – Projects should be developed using Code Behind methodology and compiled into a binary DLL. Code Beside allows changes to be made by anyone who through an exploit gains access to the pages, as a result all City of Tulsa webpages are compiled. C# Language – Web Services has the preference that all webpage content be developed using C#. The path between C# and the Common Language Runtime requires fewer intermediary steps before execution by the .NET Framework. As a result, C# binaries tend to run considerably faster, and the overall line count of the code tends to be shorter. As a result Web Services has standardized on the C# Language. PAGE 1 . . . . Requirements PHP Development . PHP 5 – All. development must support the PHP 5.3 environment. . naming convention. standard .PHP . MySQL 5 – All development must support the MySQL 5 environment. . CITY OF TULSA WEB SERVICES Please observe the No .htaccess Files – The Web Services server environment runs on Microsoft Internet Information Server. As a result we do not support any .htaccess file directives. If you have a unique need for custom PHP configurations, they must be discussed during the design phase and approved before development may begin. No Non-Standard Extensions – Web Services only supports the base PHP server extensions. If you have a unique need for a non-standard extension, it must be discussed during the design phase and approved before development may begin. Third Party Frameworks – Web Services does not support third party frameworks. If you have a unique need for a third party framework, it must be discussed during the design phase and approved before development may begin. Deployment Guidelines Once development has been completed, these guidelines are here to ensure a swift and painless migration to the City of Tulsa web environment. The purpose is to clearly outline the deliverables that the Web Services department will be expecting from all external development. Deployment Deliverables Complete Backup of Web Content – This should contain a full backup of all files, images, and related content, ready to be deployed to our servers. The backup should be compressed into a zip file, and include a datestamp in the filename to determine which revision of the website it contains. Complete Database Backup or Script – This should contain a complete backup of the databases, ready to be restored on our production servers. Optionally if this integrates more seamlessly with your development practices, this could be a deployment script that creates the database, tables, and populates any needed data. This backup should be compressed into a zip file, and include a datestamp in the filename to determine which revision of the database it contains. Complete Backup of Source Code – This should contain a full backup of the source files used in the creation of the website. This includes any related Microsoft Visual Studio projects and any Photoshop or Illustrator related source graphics. This backup should be compressed into a zip file, and include a datestamp in the filename to determine which revision of the source code it contains. Test Plan – In order to verify that the application is functioning as expected within our environment; Web Services requests a formal test plan. This should include detailed steps that allow us to verify application functionality, as well as any account or login information needed by the test. This will be utilized by both Web Services and our Applications Testers. PAGE 2 . . . . Update Guidelines . . After the initial deployment, there are often times bug fix and additional feature requests. The . purpose is to clearly outline the deliverables that the Web Services department will be expecting from . all external development. . CITY OF TULSA WEB SERVICES Update Deliverables Complete Backup of Web Content – This should contain a full backup of all files, images, and related content, ready to be deployed to our servers. The backup should be compressed into a zip file, and include a datestamp in the filename to determine which revision of the website it contains. Database Change Script – Once an application has been deployed, the preservation of its data becomes a priority. As a result the restoration of a backup, can lead to lost records. It is our preference that if any database changes are made by an update that Web Services is supplied a Database Change Script that can be run against the environment to perform the necessary revisions to the table structure. This should include any object changes, inserts, and removals needed to bring the production database in line with the current revision. Complete Backup of Source Code – This should contain a full backup of the source files used in the creation of the website. This includes any related Microsoft Visual Studio projects and any Photoshop or Illustrator related source graphics. This backup should be compressed into a zip file, and include a datestamp in the filename to determine which revision of the source code it contains. Test Plan – In order to verify that the changes to the application are functioning as expected within our environment; Web Services requests a formal test plan. This should include detailed steps that allow us to verify the new application functionality, as well as any account or login information needed by the test. This will be utilized by both Web Services and our Applications Testers. PAGE 3