ICE_Website_Development_Frameworks_STScI_v2015_04_02b

advertisement
Statement of Work: STScI JWST Website
Redesign
Version 2: April 2, 2015
Statement of Work: STScI JWST Website Redesign ......................................................1
1.
2.
3.
4.
5.
6.
7.
8.
Overview .............................................................................................................................................................1
Interface with STScI ........................................................................................................................................1
Initial work & deliverables ..........................................................................................................................2
3.1. Draft/Preliminary Deliverables & Current Labor Tally ................................................................ 2
Alternate Website Formats: Integrated Public/Scientist Sites .....................................................3
4.1. All content (public & technical) integrated into a single site in a single CMS/CMA........ 3
4.2. All content integrated into site that appears to be a single site to the user, but is
hosted on different servers/CMSs ......................................................................................................................... 4
4.3. All content integrated into a “single” site, but that has two modes: Public & Scientist . 4
4.4. Landing page is launchpad to other related sites............................................................................ 4
Next Steps ...........................................................................................................................................................5
Schedule and Final Deliverables................................................................................................................6
Development Process.....................................................................................................................................6
Appendices ..........................................................................................................................................................7
8.1. Frameworks ....................................................................................................................................................... 7
8.2. Production .......................................................................................................................................................... 8
8.3. The Basics of our Base CMA .....................................................................................................................10
8.4. About the ICE Team .....................................................................................................................................11
1. Overview
In this document, we describe the web development framework, process and
infrastructure for a proposed architecture design and front-end redesign of selected
parts of the STScI/JWST website (stsci.edu/jwst).
2. Interface with STScI
A critical component of the development is the formation of a small team at STScI
empowered to make design, format and content decisions in an agile/iterative
manner; for convenience we will call this the ST-Hub team. We anticipate that the
work on the website will be highly collaborative been the IPAC Communications and
Education (ICE) web team and ST-Hub, and will require frequent communications
and check-ins in an agile/iterative development model.
The development process is described in more detail in section 7.
Interactions between the ICE group and ST staff are currently managed by Janice
Lee (STScI/SMO).
3. Initial work & deliverables
In order to fully scope the proposed work, we had an initial one-week, face-to-face
meeting, March 9-13, 2015, between ICE and ST-Hub, at STScI. During this time, the
ICE team collaborated with the ST-Hub team to:






Define the intended audience for the website
Review desired/potential users for the website (both internal and external).
Identify top-level navigation requirements.
Identify key information to be exposed on the homepage.
Identify and develop key-design elements: use of logo, imagery, color
schemes, with inputs from the STScI OPO design team. We understand there
is a desire to have a consistent look-and-feel among the website, outreach
materials, etc. We are collaborating directly with Lacey Bordeaux and John
Godfrey (STScI/OPO) to create the website design, and implement style
choices which are consistent with the newly developing STScI Branding
Guide.
Begin to create an inventory of content to be migrated to the new site.
During this phase, ICE and ST-Hub also discussed how to maintain consistency
among the top level Institute webpage (stsci.edu), the JWST homepage
(stsci.edu/jwst) and the Hubble astronomers website (stsci.edu/hst).
The various meetings and discussions that took place during the on-site visit are
summarized at:
https://confluence.stsci.edu/display/websiteredesign/IPAC+Web+Design+Team+M
aterials
and
https://confluence.stsci.edu/display/websiteredesign/IPAC+Web+Design+Team+O
n-Site+Work+Schedule
Assumption: After this in-person meeting, our initial understanding was that the
scope of the work was to design and develop and architecture for a website
primarily targeting astronomers, but with a landing page that would be appropriate
for all audiences (i.e., it would direct the public to separate websites dedicated to
public outreach). Our initial efforts have been directed by this assumption. However,
if an alternative model for the website is desired (e.g., a more fully integrated
public/scientist website) we will need to replan and revise some of our initial work.
See section 4 for more detail.
3.1.
Draft/Preliminary Deliverables & Current Labor Tally
As part of our development process, along with creating an architecture and design,
we find it useful to implement at each stage the proposed elements on the existing
ICE CMA. This will allow the ST-Hub team to not only review design and
architecture proposals, but also exercise a functioning website; this informs to the
usability of the site.
In the April 3, 2015 ICE delivery package (see
https://confluence.stsci.edu/display/websiteredesign/Delivered+Materials+and+R
eviews) , STScI will receive draft designs for the following pages, implemented on
our Ruby-on-Rails based CMA:
 homepage draft design,
 generic page design
 news landing and news item page draft designs
The url for the Ruby-on-Rails live prototype will be provided during the meeting,
and posted on the confluence space. Corresponding development materials
including html code and css style sheets will be provided in a zip file. We also
provide alternate draft designs for the homepage, and an idea for the “Observer
Workflow” page in Photoshop/jpg format.
To date, 264 hours of labor have been performed on the project by ICE: by lead
developer Jacob Lllamas (130 hours), ICE Visualization Scientist Robert Hurt (104
hours) and ICE lead Gordon Squires (30 hours).
4. Alternate Website Formats: Integrated Public/Scientist Sites
We understand that STScI has been exploring an alternative model for the scope of
work for this project, namely a closer integration of public and scientist websites for
JWST. We have done some preliminary thinking about this model and have three
possible scenarios we wish to explore with STScI.
4.1.
All content (public & technical) integrated into a single site in
a single CMS/CMA
With this approach we would build a single site living at
http://www.stsci.edu/jwst/ that would encompass public and educational content
as well as all the technical science support.
All the pages would therefore utilize essentially the same overall design template
and maintain consistent top-level menu navigation structure.
Generally it is confusing for pages within a single site to use different top-level
domains (that makes them functionally like different websites) or to have radically
different page styles and menu options (users lose track of where they are in a site
and how to navigate to other areas). As such, URLs for different sections would take
the form of something like:
stsci.edu/jwst/public & stsci.edu/jwst/education
not
public.jwst.stsci.edu & education.jwst.stsci.edu
or
someotherpublicsiteurl.org & someothereducationurl.org
This would entail pulling all content over to match the new site design.
4.2.
All content integrated into site that appears to be a single site
to the user, but is hosted on different servers/CMSs
This is a variant on 4.1 -- allow the content to remain split across different servers,
but replicate all the CSS and menu navigation exactly and keep it synchronized if
updates are made. Maintenance is more difficult in this scenario.
4.3.
All content integrated into a “single” site, but that has two
modes: Public & Scientist
This is also similar to 4.1/4.2, but the difference is that there would be a nav
element (like a tab on the upper right) that toggles the site between the public and
scientist modes. (An example is sketched photoshop and included as a jpg in the
delivery materials.
This distinction is a compromise in which both sites use matching styling,
navigation elements. Each site may share some basic menus (e.g., About, News,
Images).
This compromise allows the top-level menu navigation to be audience-specific avoiding the confusion of a long, multipurpose nav bar of 4.1 but still giving quick
access to the other site. It also allows the look and feel to be uniform across the
whole site, but better customized to each audience when they are in their respective
sub-sites.
4.4.
Landing page is launchpad to other related sites
In this mode, the landing page layout would be designed to clearly advertise content
for different types of engagement as links to external sites. There could even be a
"for public" page on the main site (in the menu structure) that duplicates and
expands on this functionality. These shortcuts are links to take the user outside of
STScI.edu to other sites with their own design and navigations structure.
The bulk of content natively hosted on stsci.edu/jwst would thus be the core
information for scientists. Public interests are not specifically reflected in the top
menu structure (top menu nav should only take you to other pages within the site; it
is confusing when some menu links lead to an external site with completely
different menu navigation). They only appear as "above the fold" links on the key
landing pages.
This design makes it easier to accommodate the current system with several
different sites that already exist without having to dismantle them and rebuild them
under the new stsci.edu framework.
The home page and menu design is of necessity significantly different between 4.1
and its variants and this option, making this a significant issue that would be helpful
to resolve before further extensive work is performed.
The advantage of 4.1, 4.2, 4.3 is that you consistent look and identity for all core
JWST materials.
The advantage of 4.2 is that it allows each site to be designed to best benefit its
target audience, and given that multiple sites already exist for JWST, it can be
implemented almost immediately. It still maintains stsci.edu/jwst as the main
landing page and allows public content to be accessed as quickly as if it were on the
same server through the shortcut links offered on the home page. On the down side
it means that users may just bookmark other sites if all they want is the public info,
and it means that things like image galleries and new may need to be maintained on
more than one site, or built in such a way that the assets from one site can be
exported automatically to other client sites.
5. Next Steps
In telecons on April 3, 2015, ST-Hub will review the deliverables in Section 3, be
briefed in using the back-end interface to modify content, identify next steps for
content/designs & revisions, and work on a timeline for next steps.
If STScI requires more time to decide on the scope of the project, as described in
section 4, ICE can still continue work on design for lower level pages. At the time
the level of integration desired between public and science sites is determined, we
can provide a more detailed estimate of time required.
We recommend telecons every 3 weeks with the STScI management oversight
group, with informal check-ins on more focused topics with other staff in between.
Although the full scope of the project has not yet been determined, we still believe it
is very reasonable to complete the full design and architecture by the end of June
2015.
Throughout the project, ICE offers to work collaboratively with the Institute IT
department and Jahia developer(s) to transfer knowledge and information needed
for their efforts to develop a back-end using Jahia, and help to communicate
decisions made/lessons-learned, etc. during the initial work phase between ICE and
ST-Hub to streamline their Jahia implementation.
6. Schedule and Final Deliverables
As final deliverables, ICE will provide layered Photoshop files for the design of all
pages in the JWST domain, suitable for coding by the Jahia development team
designated by STScI. ICE will also provide a detailed site map and wireframes for
stsci.edu/jwst. Further, all preliminary drawings, designs, plans and documents will
be maintained and shared with the Institute. The Ruby on Rails prototype
implementation will also be available to the Institute, on a server hosted by IPAC.
Further, if agreed by the Institute and ICE within the scope of this work, ICE will
deliver layered Photoshop files of designs for select top-level pages for other (nonJWST) site sections as well.
ICE will remain available throughout the implementation phase, and can revise
designs or the site map if needed in this phase if implementation issues are
identified. ICE will provide, at minimum, 40 hours of additional support to the
Institute and the Jahia development team in the implementation phase, and will
remain available on an as-needed basis once the site is deployed. Additional hours
for support may be negotiated at this stage, if desired or required.
7. Development Process
Web development happens in 4 phases: Wireframing, Design, Implementation and
Content Deployment.
Because we've have developed a base content management application (CMA) for a
number of other astronomy websites (see section 8.4), we can deploy a production
server early in the development process and start Content Deployment to the base
resources (e.g., Pages, Image Gallery and Video Gallery and other simple treestructure pages). Once we establish the top-level navigation, users at STScI will be
able to easily create and populate lower level pages in an intuitive fashion and, most
importantly exercise the architecture and design choices made.
Wireframing
At this point we sit down with ST-Hub and define the elements for the various toplevel pages; these may include: Homepage, News, informational tree structure pages
(e.g., Observatory, Instrumentation, etc.), Images and Videos. By drawing on paper,
we white box the layout iterating with the ST-Hub until there is approval of how the
resources are laid out. We often then turn the paper and pencil sketches into Google
Drawings, where we can define the boxes, label and categorize them.
Design
Once the wireframes are done we can start designing in Photoshop a layout for the
top-level pages (or pages described by wireframes). This is where we'll decide color
and font treatments. Often the initial design on these pages will inform the rest of
the layouts, 2nd level pages, listings and paragraphs etc. Again we iterate on the
design internally and with ST-Hub until all parties are satisfied.
Implementation
This is the point where development and production start to overlap. We copy any
content deployed to production down to our development server. We start to deploy
the layouts using the content from production as to get an accurate example of what
it will look like when its done. Once a few of the layouts are working in
development, we review internally and with ST-Hub to make sure everything is still
on target. Once changes are approved we can deploy them to the production server.
This process repeats until all the layouts from the design phase are deployed.
Once all the defined layouts are deployed, we circle back and fill in any 2nd level
page layouts as needed. We also deploy any new layouts that were missed or later
decided that they were needed.
Deploying to an active/production server adds very little overhead to the process,
as the existing ICE CMA will suffice for testing purposes. The benefits of this include:
the opportunity for ST-Hub to actually exercise the website navigation and custom
components, to insure they work as required; inform back-end page design so that
the Jahia implementation can include template input pages that meet the needs of
the Institute content providers.
Content Deployment
Most of the RoR websites we've developed have had extensive content like Spitzer
and Cool Cosmos. If at all possible we start content development and deployment as
early as possible. We have a major advantage here since we already have a starting
place, our base CMA to build on.
8. Appendices
8.1.
Frameworks
Although this does not apply to the STScI websites since the implementation will be
in Jahia, we include this background for information and completeness.
There are 2 different paths for Ruby web development used at the Infrared
Processing and Analysis Center (IPAC).
The first path is using the Middleman framework, which is good for small sites that
need minimal content updates.
The second path uses the full Ruby on Rails (RoR) framework, which works well for
large sites with lots of features and content updates.
Middleman

Pros
o
o
o
o

Cons
o
Simple development environment, requires Ruby but not much else.
Generates static HTML, CSS and Javascript.
Runs on typical server installation, no Ruby or any other server
modules required.
No database server required and is rarely ever used.
Content updates are handled in the development environment,
requires a little more knowledge of HAML and Middleman framework.
Full Ruby on Rails

Pros
o
o
o

Cons
o
o
o
8.2.
Content updates handled through content management web page.
Complex features like slide shows and comparison galleries are
updated through simple web forms.
Advanced features like user authentication, resource publishing,
resource auditing and many others are available to a RoR application.
Complex development, depending on what features the website
requires. For example, Astropix (astropix.ipac.caltech.edu) has a
complex development environment compared to the Spitzer Site
(spitzer.caltech.edu).
Complex server environment, requires more modules to be installed
for the web server.
Database server is not required, but almost always used.
Production
The following describes the production server environment. We provide this simply
as information to STScI, understanding that the Jahia implementation may/will
require a different environment.
The RoR production environment can be as complex as development, again
depending on what the web site does. A typical Middleman production environment
could be as simple as just an Apache install. A complex RoR application can run on
several Apache instances, connect to many db instances and under all that could be
a high-availability file system from another server. Here we'll outline a simple
Middleman environment, a basic RoR environment and a complex RoR
environment.
Middleman Production Environment

Single *nix based server, could be a virtual machine


Basic web server install, like Apache or Unicorn.
Static HTML, CSS and Javascript deployed to the document root.
Basic RoR Production Environment






Single *nix based server, could be a virtual machine
Basic web server install, like Apache or Unicorn.
RoR specific modules i.e. Passenger
Basic DB server install, like Postgresql or MySQL.
Ruby gems deployed to server, could be several, managed through RoR
framework and bundler.
Code updates often trigger other server actions:
o Migrating Database
o Updating Asset Files (compressing CSS and Javascript elements)
o Running any other application specific rake tasks
o Restarting the application
Complex RoR Production Environment







Many *nix based servers, could be a virtual machine, often each of the major
functions are on a separate machine
Load Balancer
Several Web Servers
o Ruby gems deployed on each server, could be several, managed
through RoR framework and bundler.
2 or more Database Servers with implementation of High Availability
2 or more File Servers with implementation of High Availability
Application specific processing servers. Astropix has a server dedicated to
downloading and ingesting images from remote sites.
Code updates often trigger other server actions:
o Migrating Database
o Updating Asset Files (compressing CSS and Javascript elements)
o Running any other application specific rake tasks
o Restarting any application specific processors.
o Restarting the application
As we noted above in the “Pros/Cons” for RoR development, Astropix
(astropix.ipac.caltech.edu) has a complicated development environment as
compared to Spitzer site (spitzer.caltech.edu). Spitzer’s site's production
environment looks more like the complex environment outline. This is because the
amount of traffic Spitzer generates. It started on a single VM and later migrated to a
multi-server high-availability environment. Finding the right balance of hardware vs
visitors to a site is an essential task. Too much hardware wastes money vs
underpowered hardware can give the visitor a poor experience.
8.3.
The Basics of our Base CMA
Our custom built base Content Management Application (CMA) starts with
resources that almost every website will inevitably need. For public websites, these
include: Pages, News, AVM Images and Videos. We also have a catch-all resource
called Media Files. We've also built out several behaviors that are very common
amongst content management systems. Built in behaviors include Pendable,
Visibility and Sluggable.
Behaviors



Pendable: Resources that can have a pending status. Pendable resources have
the ability to save and preview changes before publishing them to the front
end.
Visibility: Resources that can hide from the front end. Quickly remove from
the front end but not delete the resource on the backend.
Sluggable: Resources that have meaningful URLs. Resources in a RoR
application are often linked to by a resource ID number. We can change it to
easy to remember text slug, e.g., page/5 changes to page/contact
Resources

Pages
o
o
o

News
The news resource usually drives several serial style resources, like
information updates, articles, announcements, blogs, etc.
o By using categories we can define several front-end resources from
one admin resource.
o News resources are pendable, sluggable and have visibility.
AVM Images
o AVM is a special metadata standard developed specifically for
astronomy images. You can find more information about AVM and the
VAMP project here: http://www.virtualastronomy.org/
o Our CMA is the only one that starts with AVM support out of the box.
o Most sites feature an Image gallery, these galleries are built from the
AVM Images resource.
o AVM Images are sluggable and have visibility
Videos
o Videos resource handles video in one of two ways. Either a link to an
external video service like Youtube/Vimeo (prefered) or you can
manage and upload three HTML5 video files. Managing your own
o


Pages are the main resource of any website. Generally contain the
majority of the content.
Pages generally define the navigation structure.
Pages are pendable and sluggable.
video services are outside of this app. To support html5 video across
the most devices and formats is a significant undertaking all by itself.
o Videos are sluggable and have visibility
 Media Files
o Media Files resource is the catch all, or for everything else.
o Pages that need many images embedded in them will use Media Files.
o Sometimes you need to offer downloads of zip, tar, doc or pdf files.
These files will also be managed through Media Files.
o After a file is uploaded into the Media Files resource, you can link
them into other resources like Pages or News.
Media files do need any behaviors since they are never accessed directly from the
url and always linked into other resources.
8.4.
About the ICE Team
The IPAC Communications and Education (ICE) team is a Workforce, Education,
Public Outreach and Communications (WEPOC) service supporting a number of
astronomy and science projects with WEPOC management, planning, activities, and
support. Depending upon the need of a particular project, ICE can provide full
WEPOC support, or select activities as required.
As such ICE is a unique team and service in astronomy WEPOC support; to our
knowledge so other service exists anywhere in the U.S. with the broad capabilities
that ICE has to support a number of projects, including:










NASA’s Spitzer Space Telescope: full WEPOC support
ESA’s Herschel Space Observatory: full WEPOC support for U.S. community
Thirty Meter Telescope (TMT): full WEPOC support for the TMT
international collaboration (Caltech, UC, China, India, Japan and Canada)
NASA’s Nuclear Spectroscopic Telescope Array (NuSTAR) mission: public
communications support; website development and maintenance
Palomar Transit Factory: website development and maintenance
Laser Interferometer Gravitational Wave Observatory (LIGO): website
development and maintenance
IRSA and Exoplanet Archives: homepage designs
NASA’s Kepler telescope: multimedia/graphics support
ESA’s Planck mission: U.S. Planck Data Center website development and
maintenance; multimedia/graphics support
NASA’s Wide-field Infrared Survey Explorer (WISE): multimedia/graphics
support
As well, ICE has developed several central on-line web services that cross-cut NASA
missions and projects including:



Coolcosmos: NASA’s long-wavelength astronomy education and public
outreach website
Astropix: NASA’s repository of astrophysics public release images
STEMDeX: NASA’s searchable database of summaries of peer-reviewed
education papers
The following websites use the base CMA developed by ICE. These sites are almost
entirely maintained, updated and developed by users at the home institution, often
by personnel with limited web development experience. This is a key feature of our
CMA; it provides and easy to use, intuitive back-end, allowing for easy content
updates and creation of new tree-based page structures.
8.4.1. Palomar Transient Factory (ptf.caltech.edu)
Custom features include:
 Homepage appropriate for general public and astronomers
 2 (fiscally) independent websites integrated to a common architecture: iPTF
and ZTF are funded separately and, for various reasons, need to be thought of
as distinct projects, even though they are based at the same telescope
 Dynamic, automated updates to publication lists
 Dynamic, automated sky-coverage plots
8.4.2. IRSA and Exoplanet Archives (irsa.ipac.caltech.edu /
exoplanetarchive.ipac.caltech.edu)
The IRSA and Exoplanet Archives homepages were redesigned and deployed to
integrate with websites having a long heritage, most content created dynamically,
involving high-level software interfaces with the archive software and databases.
Key features
 Finding a solution to expose a significant amount of content in a navigation
structure that is visually intuitive, and in a simple, clean design
 Expose key archive interface tools to the user in a clean, simple to use format
8.4.3. CoolCosmos (coolcosmos.ipac.caltech.edu)
Fully responsive tablet/handheld implementation
Download