Download the PDF of my project proposal

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

URL redirection wikipedia , lookup

Transcript
1 Tentative Thesis Title:
Open Eggheads: A personal web platform for professional academics that is easy to use, portable,
and extensible
2 Abstract
The goal of this project is to create a flexible, extensible, personal web platform for professional
academics. Specifically, this platform’s target user group will be those who are completing or have
completed their graduate studies and are entering the academic job market, and who consequently require
a professional web presence with which to market themselves effectively.
2.1
Premise
Today’s academic professionals, especially graduate students entering the job market,
increasingly need simple, yet compelling, web presences that succinctly convey their educational/research
background, interests, and achievements. Such web presences also need to be sustainable for years to
come, with room to grow along with the progress of the students/future professors themselves.
2.2
Problem
Students, especially graduate students, don’t have the time or expertise to fret over the best way
to construct such a web presence. They are busy enough with perfecting their own academic research
without the added stress of trying to research the different options for building a website. Furthermore,
these students often have a very limited budget for creating and maintaining a website, and so the cost of
any potential solution must be as small as possible.
2.3
Prior Solutions
The two most popular, “easy-to-use” solutions currently available are not very helpful: [1] online
WYSIWYG website builders and [2] open source Content Management Systems (CMS). [1] WYSIWYG
website builders (e.g., Squarespace1, Weebly2, Wix3, etc.) may provide a quick-and-dirty solution, but one
that is severely lacking in future scalability. [2] Current open source CMS distributions offer excellent,
scalable solutions for scholars, departments, etc., but are geared towards usage at the institution-wide
scale (e.g., Open Scholar, Open Academy).
2.4
Proposed Solution
This project will focus on creating a balanced amalgam of both a WYSIWYG website builder and
a full-fledged CMS, with the purpose of helping students’ create web presences that are both easily
managed as well as fully extensible based on future needs. The resulting product will primarily consist of
an open-source, customized distribution of the Drupal CMS tailored to individual usage by academic
1
Squarespace, Inc. http://www.squarespace.com/
2
Weebly, Inc. http://www.weebly.com/
3
Wix.com, Inc. https://www.wix.com
2
professionals, especially graduate students with an eye towards the academic job market. Importantly, this
Drupal distribution will also include documentation that is detailed, yet accessible and straightforward,
for any potential users.
This product will seek to deliver on the following promise to users: “Build your own professional,
academic website in 60 minutes or less.” The resulting websites will include easily accessible information
on a student’s research interests/projects, CV, achievements, publications, dissertation, and any other
related multimedia, including a student headshot.
3 Thesis Project Description
3.1
Background of the project
3.1.1 Premise: Why build websites for students/academics?
As a master’s degree candidate in Information Technology (IT) with a concentration in Digital
Media Arts and Instructional Design, my primary academic focus has always been web development.
Among other courses in IT and digital media, I have taken the following courses specifically related to
web development: Fundamentals of Website Development4; Dynamic Web Applications5; Web Content
Management Systems6; Web Development Using XML7.
While working towards my master’s degree in IT, I have simultaneously pursued a career in
higher education. I first started working in more traditional academic administration roles. Most recently,
however, I have transitioned to a full-time web developer position within higher ed. Consequently, I have
become more and more exposed to the web-related needs of those involved in academia, and specifically
those who are planning to pursue careers in research/teaching. On a personal level, my wife is also
currently pursuing a PhD at a large research university.
Through her experiences and those of her colleagues in the various PhD programs at her
university, I have become more and more acquainted with the unique need of such students for a very
specialized kind of web presence. Specifically, such students require a brand of website that can be used
to market themselves effectively when they enter the academic job market. These are students who are
seeking professorial appointments at some of the top academic institutions across the country and beyond.
Consequently, each student must have a highly polished, yet concise, web presence, which can clearly
communicate their research interests, past achievements and career goals, while also showcasing their
unique qualities that set them apart from their competition.
More importantly, such websites must be extensible and scalable, allowing for a consistent
personal brand and web presence for years to come. Once the students successfully enter academia and
become actual professors, their websites need to keep pace with the progress of these newly minted
professors themselves. As each academic adds more and more to his/her lists of research interests,
4
http://www.extension harvard.edu/academics/courses/fundamentals-website-development/21144
5
http://www.extension harvard.edu/academics/courses/dynamic-web-applications/14291
6
https://www.extension harvard.edu/academics/courses/introduction-web-content-management-systems-sitedevelopment/24048
7
http://www.extension harvard.edu/academics/courses/web-development-using-xml/14297
3
publications, and professional achievements while they continue to progress in their careers, their website,
in turn, ought to be able to scale just as quickly and allow for the concise communication of all such
information about them.
3.1.2 The Problem
Today’s graduate students are keenly aware of the importance of a well-crafted web presence,
especially when a myriad of potential employers are actively searching for their names online. They know
that they cannot rely on the paltry online profiles that their respective graduate school departments usually
provide them with, which more often than not contain little more than their name, a photo, their email
address, and which department they belong to. Such profiles offer essentially zero information on a
particular student’s actual research, and each profile is simply lumped in with a dozen or more other
profiles that look almost identical to one another.
Figure 3.1.2.1: Example of limited student “profiles” provided by graduate schools
To remedy this situation, any enterprising student needs a compelling, personalized website to
which they can direct any potential employers when interviewing for future positions within higher
education. Such a website must concisely communicate one’s research interests, personal history,
publications, ongoing research project, and any other information relevant to the professional academic
world. Stylistically, such a website can also provide a sense of individuality through the use of color and
imagery; however, it is also important that its design conveys an equally weighted sense of
professionalism and uniformity.
The problem is that students, especially graduate students, simply don’t have the time or expertise
to decide on the best way to construct such a web presence. They are busy enough with perfecting their
own academic research and worrying about how to impress future employers. With of all that on their
4
minds, they cannot afford to spend very much time on researching the different options for building a
website.
Today, there are countless companies offering do-it-yourself (DIY) website building services, and
there are just as many other freelancers or firms offering to build a website for you. A student should not
be left to decide for him/herself between website-building solutions that all sound exasperatingly similar
to most laypeople.
Furthermore, the prices of these website-building services, whether they are “DIY” or not, can
vary extremely, and for no apparent reason in the eyes of someone who is inexperienced in web
development technologies. Students often have a very limited budget for creating and maintaining a
website, and so the cost of any potential solution must be as small as possible, with the cost of each
component being thoroughly justified.
Therefore, students need a way to get a professional-looking website without having to invest a
lot of time and/or money in finding such a solution. However, this website must also be a high-yielding
investment itself, in that it provides an adequate, consistent web presence for a student going on the job
market, while also being easily augmented later on to accommodate a future professor’s growing
professional network and body of work.
3.2
Prior solutions
3.2.1 Desktop Software for Web Design
In previous years, many students might have tried to create their own websites using desktop
publishing software like Apple’s iWeb8 program or Adobe Dreamweaver9. Apple’s iWeb software, for
example, used to be bundled in with the rest of the Mac operating system free of charge. This software
allowed users to create websites without knowing how to code, by making use of Apple-designed
themes/templates along with a WYSIWYG editor. Here, WYSIWYG (“What You See Is What You Get”)
refers to the user interface of such software, which consists of point-and-click and drag-and-drop
interfaces that allow users to design their website with a few clicks, dragging components into place, and
typing any content directly onto the screen. The resulting website will end up looking exactly like it
appears on the editing screen—hence the use of the WYSIWYG acronym (Myers, 1996). iWeb users
could then publish their websites on the Internet by using Apple’s MobileMe10 web hosting services.
8
https://en.wikipedia.org/wiki/IWeb
9
http://www.adobe.com/products/dreamweaver html
10
https://en.wikipedia.org/wiki/MobileMe
5
Figure 3.2.1.1 Screenshot of iWeb interface
However, Apple discontinued all development for the iWeb software in 2012, after discontinuing
its MobileMe hosting services. This points out the danger in using such freely bundled software, in that its
development can be suddenly stopped since it isn’t the primary focus of the company creating it. Beyond
this danger, iWeb was simply very limited it what websites it could create as well. Only the most basic
HTML/CSS-based websites could be created using the software, without much added functionality being
accessible. Consequently, this sort of basic web publishing software would no be able to keep up with the
rapidly expanding technologies of the modern Internet.
Adobe Dreamweaver has been another popular desktop web publishing software for many years.
Dreamweaver provides a similar WYSWIYG design interface like iWeb and other programs. However,
Dreamweaver also includes a code editor and many other more advanced programming features that
would be used by a web design professional. It has been updated year after year, and so it also has kept
abreast of the latest web development trends and technologies for the most part.
But, because Dreamweaver is designed to be used by professional web developers, the software is
priced for such an audience, and might be prohibitively expensive for students to use on their own.
Furthermore, because it is designed with web designers in mind, the software’s learning curve would also
likely be prohibitively steep for most students to learn how to use the software on their own.
Consequently, Dreamweaver would be an even less likely candidate for usage by students compared to
older, outdated pieces of desktop software like iWeb.
3.2.2 WYSIWYG Website Builders
In recent years, many companies (e.g., Squarespace, Weebly, Wix, etc.) have begun to offer
online WYSIWYG website builders as products that are meant to allow consumers with no prior webdesign experience to create their own websites. Similar to the WYSWIYG desktop software mentioned
above, these online WYSIWYG website builders allow users to design their website using point-and-click
and drag-and-drop interfaces within a browser-based web application.
6
Figure 3.2.2.1: Example of WYSIWYG interface when using Wix’s website builder
One of the main selling points of such WYSIWYG website builders is the promise that anyone
can create their own website without knowing a single bit of computer programming. The use can create
an entire website by simply clicking and dragging items with their mouse, and typing in any textual
content. This fact alone would make WYSIWYG website builders extremely appealing to graduate
students seeking to quickly create their own websites prior to entering the academic job market.
Theoretically, a student could create their own website without relying on anyone else, and without
having to learn anything about web design.
Furthermore, said student would not need to know anything about web hosting either. The
business model of companies like Squarespace, Wix, and Weebly is focused around the concept of
Software as a Service (SaaS): “a software distribution model in which applications are hosted by a vendor
or service provider and made available to customers over a network, typically the Internet” (Rouse, 2010).
Essentially, SaaS-based companies like Squarespace, Weebly, and Wix allow users to sign up for (free)
accounts on the companies’ websites, and might even allow users to host a simple website free of charge.
However, such free websites are often required to be located under a proprietary domain name. For
examples, a Weebly user named John Doe might have his website located at
<http://johndoe.weebly.com>. These free websites also often contain branded messages (e.g., “Powered
by Weebly™”) or unwanted third-party advertisements that the user cannot disable. Such websites are
also very limited in the amount of storage and bandwidth that is allocated to the website, meaning that the
website cannot store very large files and cannot handle high web traffic, viz., periodic and/or consistently
large amounts of visitors to the website. Finally, the functionality of such websites—anything beyond
simple aesthetic changes, basic contact forms, and basic multimedia management—is extremely limited.
Whether or not the user was allowed to start with a free website, these SaaS companies end up
charging users a relatively high monthly or yearly subscription fee, in order for the user to attain things
like custom domain names, advertisement-free web pages, and increased storage/bandwidth. Even at the
highest tiers of such subscription models, the user is still limited in terms of adding additional,
customized functionality to his/her website, since their subscription fees usually pay for freedom from
branding and advertisements, rather than better software with which to improve their website. Ultimately,
these companies end up charging $100.00 or more per year for what amounts to a “premium” website that
is still very limited in terms of its design, functionality, storage, and bandwidth.
In summary, students may be very tempted to use such WYSIWYG website builders. It is
certainly possible to quickly and easily create a website in a matter of minutes using one of these services.
7
However, the long-term robustness, extensibility, and scalability of such websites are dubious at best.
Furthermore, the prices charged for the use of these SaaS-based website builders are often unjustifiable in
the long run as well. Students with limited budgets cannot afford to pay top dollar for such limited,
unscalable, proprietary solutions.
3.2.3 Preexisting Open-Source CMS Distributions
Over the past ten or more years, so-called Content Management Systems have become a go-to
solution for both simple and complex web-development projects. For definitional purposes:
A content management system (CMS) is a system used to manage the content of a Web site.
Typically, a CMS consists of two elements: the content management application (CMA) and the
content delivery application (CDA). The CMA element allows the content manager or author,
who may not know Hypertext Markup Language (HTML), to manage the creation, modification,
and removal of content from a Web site without needing the expertise of a Webmaster. The CDA
element uses and compiles that information to update the Web site. The features of a CMS system
vary, but most include Web-based publishing, format management, revision control, and
indexing, search, and retrieval. (Rouse, 2011)
The most popular of such CMS’s have also been open-source projects, where the term ‘open source’
refers to “software that can be freely used, changed, and shared (in modified or unmodified form) by
anyone” (“Welcome to The Open Source Initiative”, n.d.). These popular, open-source CMS’s include
Drupal11, WordPress12, and Joomla13. Such CMS’s provide extremely flexible frameworks on top of
which other developers can build further plugins, themes (i.e. design layers), and other custom
configurations.
Although WordPress is by far the most popular open-source CMS (with claims of powering 24%
of the Internet), Drupal offers one advantage that WordPress and other CMS’s don’t: distributions. To
summarize this concept briefly:
A Drupal "distribution" is simply a particular combination of Drupal core with certain modules
[AKA plugins], themes, and configuration. Basically, someone has built and configured a Drupal
site for a particular purpose. Then, they've saved all their work, so you can copy it, and reuse it
for your own Drupal site. (Powell, n.d.)
Thanks to the vast open-source community involved with Drupal, there are already countless distributions
that are freely available to the public. Such distributions can act as self-contained, full-fledged website
solutions for specialized use cases. Using these, anyone can quickly create websites for things like
restaurants14, conferences15, schools16, churches17, portfolios18, e-commerce shops19, etc.
11
https://www.drupal.org/
12
https://wordpress.org/
13
http://www.joomla.org/
14
https://www.drupal.org/project/restaurant
15
https://www.drupal.org/project/cod
16
https://www.drupal.org/project/julio
8
Two Drupal distributions have already attempted to offer their own solutions to the problem
discussed above, viz., providing websites for those involved in academia. Those distributions are Open
Scholar20 and Open Academy21.
Figure 3.2.3.1: Screenshot of a website created using Open Scholar
Both of these distributions were designed specifically with higher education in mind. As such, they each
have very well developed solutions for providing profile-type web pages for students, in almost all of the
ways that our use case demands. However, the largest drawback of these current Drupal distributions is
the scale of implementation for which they are intended. Open Scholar and Open Academy are both
meant to be used at an institution-wide scale, providing not just one website for a lone students, but rather
thousands of websites for students and professors across an entire university. In fact, the tagline of the
Open Scholar project is: “The easiest way to power all of your institution’s websites.”
So, while these preexisting Drupal distributions do provide valuable solutions for various needs
within higher education, they cannot be used effectively on the granular level that are use case focuses on,
namely the creation of a personal website for an individual graduate student. It is conceivable that one
could try and use these distributions to create such one-off websites. However, the installation process
alone for these complex distributions can often require an entire team of developers to handle effectively.
Furthermore, these distributions were optimized for usage at the institutional level from the start, and so
trying to use them for an individual website would lead to a huge burden in terms of computational
resources, especially within the kind of small-scale hosting environment that would be used for a single
website. Consequently, these distributions would end up underperforming in such a use case, becoming
bogged down performance-wise due to their (in this case) bloated architectures.
17
https://www.drupal.org/project/openchurch
18
https://www.drupal.org/project/openfolio
19
https://www.drupal.org/project/commerce_kickstart
20
https://www.drupal.org/project/openscholar
21
https://www.drupal.org/project/openacademy
9
3.3
Proposed solution
3.3.1 Description of the application/software
This project seeks to take the ease-of-use and friendly interface of WYSIWYG website builders,
along with the power and extensibility of Drupal distributions like Open Scholar and Open Academy, and
combine them into a single, open-source, Drupal distribution called “Open Eggheads” that is usable as a
basis for single-instance installations of individual websites. This Drupal distribution will be shared with
the wider Drupal community, by uploading the finished distribution to Drupal.org, the main hub of the
community, as a “sandbox project.”22 A “sandbox project” is a Drupal project that is still experimental but
can already be used by other Drupal users.
There will be many advantages to sharing the new Open Eggheads distribution with the larger
Drupal community. The Drupal CMS has a vast community of supporters, with over 1,000,000 users and
developers (“About Drupal,” n.d.). Therefore, certain community members could quickly develop the
Open Eggheads distribution even further as needed, in order to better suit either more specialized or more
generalized needs of academic professionals. Beyond the growth of its surrounding community, the
Drupal CMS has also seen very wide adoption throughout higher education in recent years. As of 2013,
the Drupal project was able to boast the following facts about its usage in higher education (Burns, 2013):
•
every Ivy League school (plus MIT and Oxford) uses Drupal;
•
71 out of the top 100 universities worldwide use Drupal;
•
28% of all .EDU websites use Drupal.
Because Drupal has been so widely adopted within higher education, academic professionals who create
their websites using the Open Eggheads distribution will likely be able to find ample Drupal technical
support at whichever college/university campus that they happen to be located at any given time. This
portability is very important for students or any academic professionals, because they often need to
relocate to many different schools throughout their careers. Therefore, such academic professionals will
have peace of mind in knowing that their websites will be supported wherever their careers take them.
The Open Eggheads base distribution will provide a ready-to-use individual website geared
towards graduate students or any academic professional. During the installation process, the user would
be able to choose a basic theme, or visual layer, for how their site will look overall. Later on, once the site
in created, the user will be able to change the color of this theme, or choose a different theme altogether.
The initial website would include numerous core functionalities out of the box, without any custom
coding needed. A basic website created using the Open Eggheads distribution would include preformatted, yet customizable as needed, features like:
•
About Me/landing page: including space for photos; text areas for biographical details, basic
academic interests, etc.
•
Research page: describing past and present research interests; also, a full list of published papers,
papers under review, working papers, and other research in progress, as well as a list of current
and past co-authors/research collaborators
22
https://www.drupal.org/node/1011196
10
o
NOTE: The list of papers/publications would be created using full citations that the user
will also be able to upload to the site
•
CV page: allowing for the upload and display of the student’s Curriculum Vitae, which would be
viewable within the page on the browser as well as available for download by others
•
Blog page: if the student would like an outlet to share their thoughts online
•
Dissertation page: devoted to the student’s dissertation work once they arrive at that stage in their
degree program
•
Contact page: with a contact form that will send emails directly to the site owner
Students would also be able to create any number of custom basic pages as well, in case the above
categories were insufficient in their specific case. Open Eggheads would also provide additional features
like a Courses page and a Students page, for when the student later becomes a professor and wishes to
share information on the courses they teach or the students they advise. These features, along with all the
previously listed features, could be easily enabled or disabled (and later re-enabled) on any given site,
based on that particular user’s needs. For example, when creating a new site, a user could choose to start
with only an About Me page, a Research page, and a CV page.
All of these pages will be editable via a point-and-click WYSIWYG-style editor. The user will be
able to click a button like “Customize this page” when viewing any given page on the site, and then be
able to edit and/or reposition any piece of content located on that page using a simple click-and-drag
interface. The user will even be able to alter the layout of the entire page itself via the use of a “Change
layout” button, and choose from dozens of common page layouts.
Figure 3.3.1.1: Example of click-and-drag page editing, allowing for content editing/repositioning on any page.
This WYSIWYG editor, along with the rest of the website’s administrative interface, will have
been subjected to user testing during the design process of the Open Eggheads distribution. The testers
will be real academic professionals, ideally graduate students, who will be asked to offer feedback on the
proposed website’s usability throughout an iterative design process. The testing itself will likely involve a
small number of hand-selected users who will be asked to perform basic tasks like navigating the site,
creating new content, and edit/updating existing content. Their feedback on each task will given directly
11
to the distribution designer, to be implemented as best as possible in future design iterations, prior to the
final product being released.
As part of this project, a secondary goal will be to create comprehensive documentation on how
to install this distribution and how to create, maintain, and customize a website using this distribution.
This documentation will be published on Drupal.org alongside of the distribution itself, in order to allow
future public sharing and collaboration. This documentation will include written documents, as well as
brief, segmented video tutorials produced by the designer.
Beyond this comprehensive, collated documentation on Drupal.org, the distribution will also
contain context-specific help text laced throughout the resulting website. Within both the administrative
interface as well as the WYSIWYG content editor, users will find tooltips with quick explanations on
how to user certain features. Such tooltips will likely be implemented using question-mark graphics that,
when hovered over with the user’s cursor, will reveal a pop-up text area containing contextual help text.
Furthermore, the website itself will contain an internal Help section accessible by the site owner, as an
intermediary step between the context-specific help text and the external Drupal.org documentation.
3.3.2 Description of technology choices
During my course of studies in IT, the most formative course in regards to this project was Jen
Kramer’s course “Introduction to Web Content Management Systems Site Development”. In that course,
I received my first full introduction to web development using open source CMS’s such as Joomla,
WordPress, and Drupal. Since completing that course, I have focused much of my own continued
educational efforts on increasing my expertise in using and developing for the Drupal CMS.
I chose to focus on Drupal for three main reasons: [1] the flexibility of the platform compared to
other open source CMS’s; [2] the strength of the developer community that is attracted to such a robust
and highly extensible platform; and [3] the fact that, in recent years, Drupal has been widely adopted
within higher education, which is my current field of employment and will likely remain as such for the
foreseeable future. Beyond those reasons, I also view the Drupal environment in general as a worthwhile
proving ground for continuing to enhance my web development skills. Working within Drupal provides
in-depth exposure to all facets of web development, including front-end design, back-end programming,
database management, etc., all of which are transferrable skills that can be applied to any future web
development work I might take on, regardless of whether it is done within the Drupal ecosystem.
After immersing myself in the Drupal ecosystem over the last year, starting with Jen Kramer’s
class in Spring 2014, I became particular interested in the creation of Drupal distributions. As mentioned
previously, “distributions” is a powerful way of packaging the Drupal CMS together with a set of custom
functionalities and configurations, in order to serve a specific use case. Using such distributions, users are
able to create powerful websites that serve a specific need and are essentially ready to use “out of the
box”.
To build the Open Eggheads distribution described in this project, I will be using the Panopoly23
distribution as a “base distribution”, which is a Drupal distribution that is designed to be used as a base on
top of which anyone can build their further specialized Drupal distribution. Panopoly was designed to
make the Drupal CMS more usable in general, especially for those who are not well versed in the various
kinds of jargon used with the Drupal and other web development communities. As such, it can be used on
its own to help build websites based on the Drupal CMS. However, Panopoly’s real power lies in its
23
https://www.drupal.org/project/panopoly
12
ability to act as the base framework for more specific use cases like the Open Eggheads framework. In
this way, Panopoly provides a basic toolset with which a Drupal developer can create their own custom
distribution, but without having to start with only the most basic installation of the Drupal CMS.
Developers can, in turn, contribute back to the community with their own Panopoly Apps, which are
“portable bundles of functionality that are built on top of the Panopoly framework.”24
A major downside of this project’s proposed solution is the fact that it does rely so heavily on a
very technical solution like Drupal. Depending on their personal comfort level with web technologies,
many students might balk at the idea of having to install a CMS like Drupal on their own, and hosting it
with a third-party web hosting service. Ideally, the documentation that will accompany this distribution
will encourage many students to take the leap and install/host their Open Eggheads website on their own.
However, many students might choose to use an online WYSIWYG website builder like Squarespace,
Weebly, or Wix simply for its ease of use and in spite of its limitations. A likely compromise might
involve a student hiring a freelance web developer to install/host an Open Eggheads website for them,
which the student would then take over after the fact in order to add their own content. Because the
freelancer web developer would be able to use the Open Eggheads distribution, rather than building a
custom site from scratch, the cost of the work would be relatively low for the student. While the upfront
costs for the freelancer web developer would exceed the startup costs of some other solutions, the student
paying for the site would save money over time, since they would not be locked into a SaaS subscription
model
4 Work Plan
4.1 Assumptions, Risks and Alternatives
4.1.1 Assumptions
To complete this project, I will be working primarily with the PHP25 and SQL26 programming
languages, with some additional HTML, CSS, and JavaScript for front-end design work. The Drupal
CMS is written in PHP, and so almost all programming work done for this project will be done in PHP.
Some SQL might need to be embedded within the PHP code, in order to make queries to the database that
the Drupal CMS uses to store all of its data.
Beyond relying on the open-source Drupal CMS itself, the biggest assumption being made for
this project is its reliance on the Panopoly distribution of Drupal. Because the Open Eggheads distribution
will be developed on top of the Panopoly distribution as its base, the continued development and
maintenance of the Panopoly distribution for the foreseeable future is crucial to this project’s success. will
continue to be actively developed and maintained into the foreseeable future.
I do not have any prior experience in developing distributions of a CMS like Drupal, and so I will
also be reliant upon the community’s preexisting documentation around such topics. If I am not able to
find answers to specific questions related to building the Open Eggheads distribution, I will need to rely
on asking the community directly for help. One advantage in this arena is that I have personally met and
24
https://www.drupal.org/node/1704334
25
https://secure.php net/
26
https://en.wikipedia.org/wiki/SQL
13
maintained contact with one of the core developers of the Panopoly distribution, David Snopek27. I have
already informed him about my intentions surrounding this particular project, and he has offered to assist
with any questions as best as he can within the Drupal public discussions groups and IRC channels.
4.1.2 Risks
As mentioned above, I’ll be relying heavily on the continued development and maintenance of
the Panopoly distribution into the foreseeable future. Due to the volunteer nature of the open source
community, there are many Drupal distributions that are created with good intentions, but are then no
longer developed or maintained by the original creator or the community after a relatively short amount of
time. In this way, many distributions run the risk of “dying off” relatively quickly, due to a sudden dropoff of volunteer maintenance and development time.
However, the Panopoly distribution is fairly well insulated against such dangers normally faced
by other distributions. First, the Panopoly project has three official maintainers, and is backed financially
by the Pantheon28 company, a major corporate organization within the Drupal community. Therefore,
Panopoly is very well supported, compared to most other projects with a single maintainer and no
external financial backing. Second, the Panopoly distribution is currently relied upon by countless other
members of the Drupal community, leading to a very substantial network effect that has significantly
bolstered the value of the Panopoly project. Currently, there are 2,184 sites29 that report using the
Panopoly distribution, along with 12 major child distributions30 that were built on top of Panopoly. With
so many community members and project relying upon Panopoly, there will likely be much community
support for the Panopoly project for years to come.
The major risk of the Open Eggheads project is its scope. As mentioned above, creating a
distribution as its sole maintainer can be a very taxing process. Because of the amount of iterative testing
needed to guarantee a properly functioning distribution, I may run into serious time constraints when it
comes to finalizing a full-fledged Drupal distribution that would be ready, in theory, to be installed and
used by any third party user. Furthermore, extensive documentation covering all aspects of the
distribution will be key to making a successful distribution, in terms of it actually being usable by any
third party in the wild. However, the documentation process can be just an extensive as the actual design
process for the distribution. Therefore, it may prove difficult to create both a well-designed and welldocumented distribution in the span of one semester, or roughly four months’ time.
4.1.3 Alternatives
As discussed, the scope of this project will prove to be the greatest risk involved. Thankfully, the
nature of this project will include some built-in opportunities for relatively painless scope reduction.
Ideally, in the long run, I would be able to contribute the Open Eggheads distribution to
Drupal.org as an official, peer-reviewed project. However, for the purposed of this project, I can always
choose to upload the distribution as a “sandbox project” on Drupal.org, which is not subject to the same
peer-review approval process required for official projects.
27
https://www.drupal.org/u/dsnopek
28
https://www.drupal.org/marketplace/pantheon
29
https://www.drupal.org/project/panopoly
30
https://www.drupal.org/node/2143197
14
•
!
WordPress: https://wordpress.org/
!
Joomla: http://www.joomla.org/
WYSIWYG: Acronym for the phrase “What You See Is What You Get.”
o
“In computing, a WYSIWYG editor is a system in which content (text and graphics)
onscreen during editing appears in a form closely corresponding to its appearance when
printed or displayed as a finished product, which might be a printed document, web page,
or slide presentation.” (“WYSIWYG,” n.d.)
•
Front end: Usually referring to the interface that a website user directly interacts with, as
opposed to any code that is run behind the scenes to help deliver content
•
Back end: Usually referring to the parts of a website that are not seen by the user, but which are
just as integral in terms of delivering content to the user.
•
Software as a Service (SaaS): “Software as a Service (SaaS) is a software distribution model in
which applications are hosted by a vendor or service provider and made available to customers
over a network, typically the Internet.” (Rouse, 2010)
6 References
About Drupal. (n.d.). Retrieved from https://www.drupal.org/about
Burns, B. (2013). Why Drupal is Dominating the Higher Education Sector. Retrieved from
http://imagexmedia.com/blog/2013/09/why-drupal-dominating-higher-education-sector
Myers, B. A. (1998). A Brief History of Human Computer Interaction Technology. ACM Interactions,
5(2), 44-54. Retrieved from http://www.cs.cmu.edu/~amulet/papers/uihistory.tr.html
Powell, B. (n.d.). What Is a Drupal Distribution? Retrieved from http://cms.about.com/od/drupaldistributions/g/What-Is-A-Drupal-Distribution.htm
Rouse, M. (2010, August). Software as a Service (SaaS). Retrieved from
http://searchcloudcomputing.techtarget.com/definition/Software-as-a-Service
Rouse, M., & Svarre, K. (2011, January). Content Management System (CMS). Retrieved from
http://searchsoa.techtarget.com/definition/content-management-system
Welcome to The Open Source Initiative. (n.d.). Retrieved from http://opensource.org/
WYSIWYG. (n.d.). In Wikipedia: The Free Encyclopedia. Retrieved from
https://en.wikipedia.org/wiki/WYSIWYG
17