Development Guidelines

advertisement
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
Download