OFFICE OF THE NM SECRETARY OF STATE

marlinlineInternet and Web Development

Oct 31, 2013 (3 years and 5 months ago)

80 views

OFFICE OF THE
NM SECRETARY OF STAT
E







CAMPAIGN FINANCE
INFORMATION SYSTEM (
CFIS)

SOFTWARE DESIGN SPEC
IFICATION
S



Software Design Specificat ions (SDS)


May 15
, 2009

Page
2

of
15


TABLE OF CONTENTS



1.0


INTRODUCTION











3
-
4

1.1

Purpose of this document






(3)


1.2

Definitions, acronyms, and abbreviations





(3)



1.3

References









(
4
)


1.4

Overview of Document








(
4
)

2.0

SYSTEM ARCHITECTUR
E DESCRIPTION







4
-
6


2.1

Overview of modules / components






(
4
-
5
)


2.2

Structure and rela
tionships







(
5
)


2.3

User interface issues








(
5
-
6
)

3.0


DETAILED DESCRIPTION

OF COMPONE
NTS






6
-
7


3.1

Component overview








(
6
-
7
)

4
.0


DESIGN DECISIONS AND

TRADEOFFS







7

5.
0

SCALABILITY











7

6
.0


SYSTEM SECURITY REQU
IREMENTS






7
-
8

7.0

LOOK AND FEEL

(Screenshots)








9
-
15

7.1
Public Application








(9)

7.2 Public Application Cand
idates






(10)

7
.3

Public Application Detail







(
11
)

7.4

Candidate Information Entry







(
12
)

7.5 Candidate Report Management






(
13
)

7.6 Candidate Data Entry
-

Monetary Contributions




(
14
)

7.7 Candidate Data Entry


Loan Detail






(
15
)



Software Design Specificat ions (SDS)


May 15
, 2009

Page
3

of
15



1.0

INTRODUCTION


1.1

Purpose of this document

This design specification
document describes the function
s and design for the Campaign
Finance
Information

System

(CFI
S)
. This system is needed to replace two, vendor
provided systems that do not meet the needs of the Secretary of State and the citizen
s

of
the State of New Mexico. This system will be designed fo
r the user that has little or no
technical computer skills.


The system shall provide enhanced search capabilities to the citizens of New Mexico and
also be designed in a manner that the Secretary of State’s IT Services staff will be able to
provided maint
enance support and modifications.



1.2

Definitions, Acronyms and A
bbreviations



APEX
-

Oracle Application Express

(Version 3.1)



BI Publisher


Oracle Business Intelligence Publisher



C
F
I
S


Campaign
Finance
Information

System



GUI
-

Graphical User Interface



HTML


Hyper
-
Text Markup Language



LDAP


Light
-
Weight Directory Access Protocol



Linux OS



Linux Operating System



PC
-

Personal Computer (desktop or laptop)



PDF


Adobe Portable Document Format



PL/SQL


Procedural Language /Structured Query Language



Pro
ject Server
-

The computer which contains the central project database, and which
serves project data to various clients



RDBMS


Relational Database Management System



Reporting Individual


A person who is required to file under the Campaign
Reporting Act



SSL


Secure Socket Layer



XML


Extensible Markup Language



XSL
-
FO


Extensible Style Sheet Formatting Objects



Software Design Specificat ions (SDS)


May 15
, 2009

Page
4

of
15


1.3

References



Campaign Reporting Act

[1
-
19
-
25 to 1
-
19
-
36 NMSA 1978]



Lobbyist

Regulation Act [Chapter 2, Article1 NMSA 1978]



Financial Discl
osure Act [10
-
16A
-
1 to 10
-
16A
-
8 NMSA 1978]



United Development, May & June 2009 Oracle Magazine


1.4

Overview of Document


The Campaign Reporting Act (CRA) provides for the public disclosure of contributions
and expenditures made for a political purpose by

public officials and candidates seeking
or considering election to
public office on a Primary, General,
Statewide
or
Special
Election ballot. It provides also for registration and disclosure by political committees
that contribute or expend funds for a p
olitical purpose. Disclosure is accomplished by
filing reports of contributions and expenditures in election and non
-
election years.



The Act specifies permissible expenditures fro
m candidates’ campaign accounts. It
prohibits certain fundrai
sing activiti
es by incumbents

or candidates for a regulatory
office
;

limits the amount of anonymous and special event contrib
utions that may be
retained;

and prohibits the solicitation of campai
gn contributions by legislators

or
legislative candidates and the Governor
(
or their agents) before, during

and after a
legislative session.


Furthermore,
the Act

establishes a filing schedule for all reports and prescribes monetary
penalties for failure to file timely, complete or accurate reports, statements of exception
or st
atement
s

of no activity and
also
provides for civil and criminal enforcement.
Moreover, it prohibits the placement of a candida
te’s name on an election ballot

or the
issuance of a certif
icate of nomination or election

for failure to comply with the report
ing
requirements or failure to pay any monetary penalty imposed.



2.0


SYSTEM ARCHITECTURE
DESCRIPTION


2.1

The

system is designed with extensibility and scalability in mind.


G
reat care
is
being taken
in designing a framework which can be updated easily.


Many o
f the


Software Design Specificat ions (SDS)


May 15
, 2009

Page
5

of
15


anticipated changes to the

system in future phases will only require adding new
types of data and changing the user
PL/SQL

code to make use of such

new data
.


2.2

Structure and Relationships



Web Application Server

-

Passes application web
-
pages gen
erated at the database level to the
Secretary of State’s website using reverse proxy
.



RDBMS

-

Stores application data, PL/SQL code; generates HTML code to pass to
the application server.



BI Publisher

-

XSL
-
FO, which builds PDF documents based on data from the

RDBMS
.



APEX

-

Pre
-
programmed PL/SQL package that provides webpage elements that
require no additional programming.


2.3

User interface issues

The user interface of the C
F
I
S will be divided into

three main sections: The
Reporting Individual

A
pplication, the

Public
Application

and the Administrator
Application.

The User Interface for all applications will be a web
-
browser
connecting through the Secretary of State’s website via the Internet.


2.3.1


Reporting Individual

Application

Login Screen

-

This

screen w
ill allow
Reporting Individuals

to
login to their
individual accounts to enter and edit transactions.

Individual Account Information


This screen will allow the Reporting Individual
to add or modify data for their account, including addresses, phone numbe
rs,
as
well

as
other pertinent
information related to
the type of filer they are.

Report Management Screen


This screen allow
s

the Reporting Individual to
create
,

initiate
or file
reports;

to delete, edit or add to filed reports
;

or to view or
amend file
d reports.



Software Design Specificat ions (SDS)


May 15
, 2009

Page
6

of
15


Transaction Screens


This screen will allow the Reporting Individual to enter,
edit or delete transactions pertinent to the type of filer they are
;

to submit

unfiled
reports or
make
amendments to previously filed reports.


2.3.2

Public Applicat
ion

The set of screens in this application will allow the general public to conduct a
robust
plethora cadre
of se
arches regarding Campaign, Political Action
Committee, Lobbyist and Financial Disclosure Reports.


2.3.3

Administrator Application

This applica
tion will allow
Administrators to login
,

to create, maintain, delete and
edit user accounts, as well as to audit, produce reports and management data
regarding all types of filings.


3.0

DETAILED DESCRIPTION

OF COMPONENTS


3.1

Component Overview

The fol
lowing bulleted outline provides a basic overview of the purpose and
architecture of
the system's major components
:


a.

Application Server

The Oracle Application Server 10, which is an Apache
-
based web
-
server,
modified

to exchange data with
an Oracle RDBMS.


b.

RDBMS


An Oracle database server version 11G contains tables that

represent various
application
data.


In addition, the Oracle RDBMS database server contains and
executes PL/SQL that provide
s

application functionality.


c.

BI Publisher

The BI Publisher, whic
h is the
XSL
-
FO

residing on the application server
that
builds PDF documents based on data from the RDBMS.



Software Design Specificat ions (SDS)


May 15
, 2009

Page
7

of
15


d.

APEX

APEX is the

p
re
-
programmed PL/SQL package that provides webpage elements

for application functionality
that require
s

no additional programming.


4.0


DESIGN DECISIONS AND

TRADEOFFS


The proposed solution relies on products from Oracle. Over the past few years, Oracle
has acquired companies that have the “
best
-
of
-
breed”

solutions and integrated those
solutions into Oracle’s products. Given this, Oracle is able to provide software that meets
all
the agency’
s design requirements
from a single source.

The agency has other
applications that are based on Oracle products, whic
h requires the IT Services staff to
possess

detailed expertise in Oracle products. This includes the agency’s major
application, which is the statewide voter registration system known as the Voter
Registration and Election Management System (VREMS).


5
.0


SCALABILITY


The C
F
I
S is estimated to have no more than five
-
hundred concurrent users

at periods of
maximum use
,
which is
based on the number of
Reporting Individuals and the p
ublic
usage that has been observed with the current legacy system. The scalability of the new
C
F
I
S
is only limited by hardware and network resources.
For example, t
he State of Ohio

stressed a similar implementation of APEX from a bandwidth at 275 MB all th
e way up
to 500 MB and did not bring their APEX application down or degrade performance to
unacceptable levels (Oracle, May and June 2009, United Development, Para 21, pg 3).


6.0

SYSTEM SECURITY REQU
IREMENTS


The system will not contain any data that is n
ot public, therefore the security
requirements will center on protecting data and accounts from unauthorized alteration.


a.

The database is protected by Oracle database passwords and Linux OS security
measures. Access will be limited to relevant members of
the Secretary of State’s IT
Services Staff. Tape backups of the database will be encrypted using Oracle Secure
Backup. Administration of the Application Server and the actual administration of the


Software Design Specificat ions (SDS)


May 15
, 2009

Page
8

of
15


application will also be limited to relevant members of the

Secretary of State’s IT
Services Staff. This is accomplished through a combination of Oracle and Linux OS
security measures.

b.

Reporting Individuals will log in through an SSL encrypted connection. The
passwords will be maintained and validated using an LD
AP. They will only have
access to their individual account.

c.

Administrators on the Secretary of State’s staff will login to the Administration
Application through an SSL encrypted connection. The passwords will be maintained
and validated using an LDAP.

d.

The

Public Application will require no login and require no encryption.

























Software Design Specificat ions (SDS)


May 15
, 2009

Page
9

of
15


7.0

LOOK AND FEEL


The overall look and feel of the application is a web based application the actual look is
best demonstrated by the sample mock screenshots below.


7.1

Public Application





Software Design Specificat ions (SDS)


May 15
, 2009

Page
10

of
15


7.2

Public Application Candidates





Software Design Specificat ions (SDS)


May 15
, 2009

Page
11

of
15


7.3

Public Application Detail





Software Design Specificat ions (SDS)


May 15
, 2009

Page
12

of
15


7.4

Candidate Information Entry





Software Design Specificat ions (SDS)


May 15
, 2009

Page
13

of
15


7.5

Candidate Report Management






Software Design Specificat ions (SDS)


May 15
, 2009

Page
14

of
15


7.6.

Candidate Data Entry



Monetary Contributions





Software Design Specificat ions (SDS)


May 15
, 2009

Page
15

of
15


7.7

Candidate Data Entry


Loan Detail