lab 1 monarchpress description 1 - old dominion …cpi/old/411/greenf15/images/...lab 1 –...
TRANSCRIPT
Lab 1 – MonarchPress Description 1
Lab 1 – MonarchPress Product Description
Robert O’Donnell
CS411
Janet Brunelle
September 20, 2015
Version #2
Lab 1 – MonarchPress Description 2
Table of Contents
1 INTRODUCTION ................................................................................................... 3
2 MONARCHPRESS PRODUCT DESCRIPTION .................................................... 4
2.1 Key Product Features and Capabilities ........................................................ 4
2.2 Major Components (Hardware/Software) .................................................... 6
3 IDENTIFICATION OF CASE STUDY ..................................................................... 8
4 PRODUCT PROTOTYPE DESCRIPTION ............................................................. 8
4.1 Prototype Architectures (Hardware/Software) ............................................ 10
4.2 Prototype Features and Capabilities .......................................................... 11
4.3 Prototype Development Challenges .......................................................... 12
Glossary of Terms........................................................................................................ 14
References .................................................................................................................. 16
List of Figures
Figure 1. Major functional component diagram .............................................................. 6
Figure 2. Prototype major functional component diagram ............................................ 10
List of Tables
Table 1. Feature comparison between full product and prototype .................................. 9
Lab 1 – MonarchPress Description 3
Lab 1 – MonarchPress Product Description
1 INTRODUCTION
Since the introduction of the Internet, Journalism has changed exponentially to
better serve the reader’s needs. The web has changed the way news can be displayed,
changed, and presented to the audience. When the news is printed, it cannot be
updated without waiting for the next release of the paper (Viner 2013). The Internet
allows for constant streams of updates on news which can be viewed from anywhere
(Viner 2013). It allows for interesting ways to demonstrate data with interactive graphs
and creative visualization. The readers can locate exactly what kind of news they want
and can view it through their phones and computers.
With the rise of digital journalism, it creates an issue for low budget news outlets.
The demand for more technical skills increases to provide the data visualizations and
interactive material. The problem occurs with journalists, like university students, when
they do not have all of the technical training in their curriculum to keep up. The training
would add more stress for the students to learn the skills outside of their already
stressful classwork. This makes it more difficult for the low budget news outlets to
compete with highly funded organizations because they cannot afford to hire people
with the all the needed skillsets. In order to solve this issue, the journalist need to spend
more time on their writing and publishing the news to the public instead of the technical
skills needed produce high quality work.
MonarchPress’s purpose is to make it easier for the journalists and news
organizations to focus more on creating quality articles and not on the technical aspects
of producing interesting ways to demonstrate the data. It is a plugin that is added on
Lab 1 – MonarchPress Description 4
top of the current integration with WordPress. It will be free to use to allow the low
budget news outlets to have the ability to compete for more readers and a bigger
audience.
2 PRODUCT DESCRIPTION
MonarchPress is a plugin for the content management system, WordPress. It is
open source to allow for low budget news organization to put money towards other
needed things instead of spending it on employees capable of handling the technical
parts of their articles. It will allow for the publication of dynamic news content since the
news is forever changing. MonarchPress will add more social integration with the
articles to make the readers feel more involved. The editors will be able to use a layout
tool which will allow for more creativity on how the articles are displayed instead of them
all being the exact same.
2.1 Key Product Features and Capabilities
The news is forever changing and certain articles will need to be updated based
on new research. With a newspaper, the information printed is permanent and cannot
be changed until the next issue of the newspaper is published. On the web, the news
organization can actively change the article if new information is released.
MonarchPress is designed to make the process easier and more streamlined. It will
make creating articles and updating them later simple and help the articles grow
dynamically when new information is presented. As more data is developed, this
information can be added to the already published article instead of republishing with a
few changes.
Lab 1 – MonarchPress Description 5
Articles that are more engaging to the users will keep their attention longer while
reading. MonarchPress makes it simpler to create graphs and maps that are interactive
to place inside the article. This will allow the reader to be more entertained while
viewing the content and will more likely stay longer to read more information.
MonarchPress allows for integrating social media into its articles. As the Internet
grows, so does social media. Roughly 71% of adults that use the Internet belong to
some form of social media (Social Networking Fact Sheet, 2013). With the integration of
social media, this can increase the volume of users that will view the article. The
journalist can integrate twitter into their articles by specifying a hashtag for a tweet to be
shown next to the article. This can help get constant updates if the journalist is out
researching the currently article.
Making a layout for an article can require a specific set of skills that journalist
might not have. MonarchPress has the ability to create custom articles by dragging and
dropping content in place in the editor. The article can be created to a particular need or
can be edited later to add a graph or map without needing to edit the code that requires
a specific technical skill.
There are other content management systems that are similar but they do not
cater to everyone. MonarchPress is built specifically for the needs of student news
organizations that may not have a high budget. It is designed to have features that are
only necessary for the news organization using it. MonarchPress is developed to be a
single plugin to prevent security and compatibility issues when dealing with multiple
plugins.
Lab 1 – MonarchPress Description 6
2.2 Major Components (Hardware/Software)
Figure 1 shows the major functional components of MonarchPress.
MonarchPress is a process between the editors, journalist, and guest contributors and
the current deployment method. There are different access restrictions based on the
different users, such as editor and journalist. It provides the layout engine, a data
visualization framework, and the news aggregation algorithm. When the article is
created, it is required to go through MonarchPress process first before it is pushed to
the existing deployment method.
[This space intentionally left blank]
Lab 1 – MonarchPress Description 7
Figure 1. Major functional component diagram
Lab 1 – MonarchPress Description 8
There will need to be a few different interfaces for MonarchPress to be
developed. The drag and drop editing feature needs to display a blank article and have
different elements that can be inserted such as titles, paragraphs, and images. It would
work as a grid to align the elements on the page. There also needs to allow the user to
change the different media elements on the article. The editor would need an interface
to select which hashtags for twitter to be integrated. There needs to be an interface to
select which subject or theme of information the user wants alongside its current article
as references.
Databases will be required to store some of the aspects of the plugin. When the
editor is creating an article using the drag and drop editing, there are stored templates
that can be used. MonarchPress can also store new templates created by the editor. To
increase load time speed, the aggregated feeds will be stored in a local cache. This will
prevent the server from constantly needing to fetch the information.
Algorithms need to be created to make the drag and drop editing work. Things
such as dynamically changing the flow of the text if an image is placed in the middle of
the body of text. The different media elements need to be rendered correctly along with
the article contents. The feed aggregation will also require an algorithm to retrieve the
different news sources and articles with the needed parameters.
WordPress requires a specific stack for it to work. It needs a machine that has
linux installed. Apache needs to be installed to run the website’s language which is
mosly PHP (version 5.2.4 or higher). The database language being used is MySql
(version 5.0 or higher).
Lab 1 – MonarchPress Description 9
The hardware requirements are minimal because the targeted user does not
have much traffic and will be sufficient even with an increase of traffic. It would need to
be able to handle around 8,700 unique monthly visitors. There would only be about
25,000 monthly pageviews (WordPress Hosting).
3 IDENTIFICATION OF CASE STUDY
Mace and Crown is an Old Dominion University student news organization that
has a very low budget. They currently have an issue with having a large digital presence
and would like to improve on it. They are lacking the ability to do use creative data
visualization and interactive elements on their website to help retain reader’s attention.
They want to be able to connect information between global and local events. Create
more content rich articles that can be continuously updated and changed.
MonarchPress can be used on any news organizations webpage as long as they
are using WordPress. It is mainly being develop to help organizations that have a very
limited budget for digital media.
4 PRODUCT PROTOTYPE DESCRIPTION
The prototype of MonarchPress is to show how it will work in the real world. One of
the goals by prototyping is to provide basic functionality of the product to Mace and
Crown. They can then provide feedback and make sure the product is heading in the
direction they would like. Some of the components of the website will have to be
simulated because the live versions will not be available for developing. This may cause
some differences between the real world product and the prototype.
Lab 1 – MonarchPress Description 10
4.1 Prototype Architecture (Hardware/Software)
Figure 2 shows the major functional components of the MonarchPress prototype
and how they interact together. It is similar to Figure 1 but removes the users and adds
a test harness to allow input of mock data. Some of the features such as viewing other
reader’s contact information and tools for collaboration in the full product were
eliminated in the porotype due to the limited amount of time.
[This space intentionally left blank]
Lab 1 – MonarchPress Description 11
Figure 2. Prototype major functional component diagram
The hardware that is required for the prototype will be the same as the full
product to allow for accurate testing. It will need to support 8,700 unique visitors and
Lab 1 – MonarchPress Description 12
about 25,000 monthly pageviews. The prototype will be stress tested for average and
peak loads. A tool such as pylot can be used to simulate the stress on the server.
A simulated version of the Mace and Crown’s website will used to test the
prototype. There will be a fake homepage, login page, article page, and all the plugins
they currently use. There will also have to be mock data in the database such as articles
and users. The prototype will be hosted on an Old Dominion University Computer
Science Department virtual machine. The virtual machine will be using Linux with all of
the WordPress Dependencies which are Apache, MySql, and PHP.
4.2 Prototype Features and Capabilities
The functional goals of the prototype are to demonstrate the high priority features
requested by the Mace and Crown. The layout and editing engine will be fully functional
and provide the ability to build custom articles from scratch or by using an existing
template. The ability to edit an article that is already publish to allow for living
documents and a preview of the article before publishing will be fully functional. The
system to allow users to mark whether they would like to receive notifications if the
article is updated with new information will be functional by sending email’s to the user.
[This space intentionally left blank]
Lab 1 – MonarchPress Description 13
Table 1. Feature comparison between full product and prototype
Interactive and data visualization elements will be partially functional by allowing
the capability of adding already created graphs and maps. The user login will be
functional but missing the ability to save contact information. The twitter feed
Lab 1 – MonarchPress Description 14
aggregation will have some functionality using the twitter Application Program Interface
(API).
By using agile development management, it will be easier to demonstrate
different functionality to the stakeholders, Mace and Crown as they are being
developed. The prototype will have the desired core functionality and be demonstrated
to Mace and Crown for feedback and concerns. By using this management style, it will
be easier to keep the stakeholders involved and make adjustments if needed.
4.3 Prototype Development Challenges
There are a couple of challenges that will be expected while developing the
prototype. One of the main issues will be the limitations of the WordPress API. While
working with the WordPress API, the development will have to work around the limiting
issue as they develop. Another challenge is the lack of expertise the team has in
WordPress or any other web development language that is required to create the
prototype. That can be solved by studying and constantly learning while the prototype is
being developed.
Incompatibility with plugins that the organization already uses can cause issues.
While developing, constant testing of the functionality with the other plugins that are
required will need to be done. By following best practices for WordPress and PHP while
developing will also help reduce compatibility issues.
Another issue that may arise is that testing on the virtual machine is not exactly
like testing on the hosting service that will be used with the full product. The best way to
Lab 1 – MonarchPress Description 15
solve this would be to make the development environment as close as to the production
environment.
Lab 1 – MonarchPress Description 16
GLOSSARY
Admin - a person that has the rights to do anything to the software or database.
Application Program Interface (API) - a set of routines, protocols, and tools for
building software applications. An API expresses a software component in terms
of its operations, inputs, outputs, and underlying types.
Content Aggregation - bringing together specific type of information from multiple
online sources.
Content Management System (CMS) - allows publishing, editing and modifying
content, organizing, deleting as well as maintenance from a central interface
often used to run websites containing blogs, news, and shopping.
Contributor - a person who sends in material to be published, whether it is through
twitter or a researcher. Not, someone that is part of the news organization.
Cascading Style Sheets (CSS) - a simple mechanism for adding style to Web
documents.
Digital Journalism - a contemporary form of journalism where editorial content is
distributed via the Internet as opposed to publishing via print or broadcast.
Disqus - is a blog comment hosting service for web sites and online communities that
uses a networked platform.
Editor - a person who is in charge of and determines the final content of a text,
particularly a newspaper or magazine.
Javascript - an object-oriented computer programming language commonly used to
create interactive effects within web browsers.
Lab 1 – MonarchPress Description 17
Journalist - a person who writes for newspapers or magazines or prepares news to be
broadcast on radio or television.
HTML - Hypertext Markup Language, a standardized system for tagging text files to
achieve font, color, graphic, and hyperlink effects on World Wide Web pages.
Living Document - dynamic document is a document that is continually edited and
updated.
Mace & Crown - A university news organization that is under a tight budget and looking
for a cheaper alternative to their current CMS with more customization and tools.
MySQL - Most widely used open-source RDBMS.
Open Source - denoting software for which the original source code is made freely
available and may be redistributed and modified.
PHP - is a server-side scripting language designed for web development.
Plugin - a software component that adds a specific feature to an existing software
application.
Reader - a person that reads and interacts with the articles posted by the news
organization.
RDBMS - relational database management system.
UI/UX - the process of enhancing user satisfaction by improving the usability, ease of
use, and pleasure provided in the interaction between the user and the product.
Whitelisted - a list of people or products viewed with approval.
Wordpress - Most popular open source CMS based on PHP and MySQL.
Lab 1 – MonarchPress Description 18
REFERENCES
Social Networking Fact Sheet. (2013, December 27). Retrieved September 20, 2015,
from
http://www.pewinternet.org/fact-sheets/social-networking-fact-sheet/
Viner, K. (2013, October 9). The rise of the reader: Journalism in the age of the open
web.
Retrieved September 21, 2015, from
http://www.theguardian.com/commentisfree/2013/oct/09/the-rise-of-the-reader-
katharine-viner-an-smith-lecture
WordPress® hosting without the hassle | GoDaddy Pro. (n.d.). Retrieved September 21,
2015,
from https://www.godaddy.com/pro/managed-wordpress-hosting