Software Requirements Specification for UMW Blogs Plugin Suite - Prepared by Allie Cropp, Patrick Mullen, Tori Nguyen Computer Science 430 ...
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
UMW Blogs CROPP, MULLEN, NGUYEN Software Requirements Specification for UMW Blogs Plugin Suite Prepared by Allie Cropp, Patrick Mullen, Tori Nguyen Computer Science 430 February 6, 2014 Requirements Specification for UMW Blogs Project 1
UMW Blogs CROPP, MULLEN, NGUYEN Table of Contents 1. Introduction 1.1 Purpose 1.2 Intended Audience and Reading Suggestions 1.3 Scope 1.4 References 2. Overall Description 2.1 Product Purpose 2.2 Product Functionality 2.3 User Characteristics 2.4 Operating Environment 2.5 Assumptions and Dependencies 3. Requirements 3.1 Nonfunctional Requirements 3.2 Comment Tracking 3.3 Activity View 3.4 Contextual Support 3.5 Bulk User Import 3.6 Enhanced Administration Search Feature 4. Appendix A 5. Appendix B Requirements Specification for UMW Blogs Project 2
UMW Blogs CROPP, MULLEN, NGUYEN 1. Introduction 1.1 Purpose: The purpose of this document is to provide concrete specifications for several WordPress plugins that will serve to improve the functionality of the UMW Blogs website. These plugins will address a wide variety of concerns with the current site. One of the plugins will allow users to keep track of all comments they have made on any blog on the site. Another will allow users to view any activity on blogs that have been linked into their own blog. There will also be a plugin to provide additional help for users on the site. A fourth plugin will allow instructors to add upwards of 2,000 new users to a blog in a single upload. Finally, a plugin will allow high-level administrators to search for current users or sites using substrings or partial names. These system improvements will be described in detail according to the specifications of the client in this document. A prioritized list of these plugins can be found in the document overview. A detailed account of the requirements for each feature is listed in the Requirements section. 1.2 Intended Audience and Reading Suggestions: This document is chiefly intended for the designers and implementers of the new features specified herein. The overall design section may have value for other stakeholders as well. The features of this suite are described throughout this paper from highest priority to lowest. Each individual feature is broken down in terms of intent, size, and scope. This is followed by general requirements for the entire suite and then the specific requirements for each feature. Finally, this document presents a glossary of terms and an attached image for stylistic reference. 1.3 Scope: The ultimate goal of these plugins is to improve the functionality of UMW Blogs for logged in users. With these additions, users will be able to traverse the site more efficiently. If successfully implemented, these plugins will offer the following benefits: – No more individual adding of users to a blog – Blog administrators will be able to track user activity on their blog – Administrators will be able to search for information using substrings – A global contextual help feature will replace individually made help pages for course blogs 1.4 References: Attached Image #1 – Image of the table posts tab that the comments tracking feature may be modeled after. Requirements Specification for UMW Blogs Project 3
UMW Blogs CROPP, MULLEN, NGUYEN 2. Overall Description 2.1 Product Purpose The concept of this project was conceived by our client, Ryan Brazell, and his colleagues in the Division of Teaching and Learning Technologies here at the University of Mary Washington. UMW Blogs is a site that is both responsible for giving students, faculty, and staff a potential creative outlet, but also a teaching enhancement tool that many faculty members like to utilize throughout the university. UMW Blogs is a standalone site that implements the now common WordPress engine for blog creation and site navigation. The university prefers not to have to purchase any specific WordPress plugins or add-ons to complete this project. Therefore, our client wishes any and all improvements and features created in this project to be original or improvements of currently open source projects. These features will likely be shared with any other university that wishes to implement a similar tool to UMW Blogs. 2.2 Product Functionality This project is concerned with the creation and implementation of various new and improved features to UMW Blogs. This plugin suite includes brand new features as well as specific improvements to current plugins. Our client is a part of the technical team here at UMW that deals with the maintenance of and improvements to many sites including UMW Blogs. The purpose of this project is to improve the functionality of UMW Blogs such that it both makes the lives of technical administrators, faculty, and students easier as well as increases the ability of UMW Blogs to enhance the learning experience here at UMW. This suite includes five distinct projects. Background information for each is listed below. The most essential feature is a comment tracking software that will allow a user to view any and all comments that they have made across any number of blogs throughout UMW Blogs. This feature is brand new, but structured similarly to the current posts plugin found on the UMW Blogs dashboard. The intent of this feature is to allow any user with a login to easily see any old comments they have made and have a quick and easy way to access that page on which they commented. The next plugin to be implemented is the filtered view of blog activity. It is common for a professor to create a “mother ship” blog in which their students will link their own blogs to for coursework. Currently, a professor must manually check each of these blogs for any new posts and comments. This is very tedious for the faculty, and as such this feature attempts to streamline this information in a convenient widget that can be placed upon the user’s dashboard. The third feature to be created is a contextual support widget specific to UMW Blogs. This feature will provide basic information for new users on how to create posts, post comments, navigate the site, and other basic information. This feature will replace the need of our client and his colleagues to specifically craft help pages for new course blogs as they currently do. The fourth new feature in this suite is a bulk user important. This feature is intended to allow users to add a large list of users to their blogs. This is a common need for club presidents or clubs that have a list of emails and want to have everyone linked into the blog without asking each of them to go to the blog and manually subscribe. This feature will provide an easy to use template; allowing a user to import a very large number of users at once rather than one at a time. The last of these plugins is an improvement to the Administrator User and Site Search. The improvement required for this feature is to make partial searches work for both the user and Requirements Specification for UMW Blogs Project 4
UMW Blogs CROPP, MULLEN, NGUYEN site search. Currently, the user search feature will not return a result unless the exact email, username, or site name is specified. This is highly inconvenient for the administrators, such as our client, and as such the feature must be improved such that an email, username, or site name will be listed in the results even if only a partial of the string is searched for. The site search currently only displays results if they are exact matches of the site name or any sites listed under mapping. Similarly to user search, the improvement to this function should allow any partial matches to show in results. 2.3 User Characteristics For the entirety of this project any user, unless specifically stated otherwise, is a user who has their own unique login to UMW Blogs. It is currently possible for anyone to post comments as a guest on UMW Blogs, but the scope of this project does not include any additional features for these types of users. With the exception of the enhanced user and site searches, the other four features must be available to any and all users who have a valid login and account as all of these features will reside on a user’s dashboard within the site. As mentioned, the enhanced searches are only intended for network administrator use such that they may assist any users with technical difficulties more easily. 2.4 Operating Environment All 5 plugins must coexist with UMW blogs and, by extension, WordPress. One particular plugin, the Contextual Help plugin, must be able to communicate with MediaWiki, DokuWiki, and optionally the GitHub repository which hosts the source files. 2.5 Assumptions and Dependencies 2.5.1 Assumptions • The product is web-based • Users will check their own spelling • Plugins are only available to logged in users • Project will take no longer than 4 weeks to develop • Users will import files with one email address per line in compliance with the provided template 2.5.2 Dependencies • The WordPress API needs to include the functions necessary to successfully develop these plugins 3. Requirements 3.1 Nonfunctional Requirements 3.1.1 Safety Requirements None of the features in this suite may extend the visibility of sites or blogs beyond what already exists. This is to say that none of these features may display information to a user that is not already visible to that user at this time. These features will simply make information easier to locate, not illuminate anything new. For example, Requirements Specification for UMW Blogs Project 5
UMW Blogs CROPP, MULLEN, NGUYEN the feature allowing users to view activity will only show those sites pertaining to the main site that the particular user is responsible for. Users will only see blogs linked (or mapped) to their blogs and will have no access to other blogs that do not fall under that category in order to preserve the privacy of the other users. 3.1.2 Security Requirements All of the features requested by the client shall only be accessible to the logged in user; within these features, there is not currently a reason to include functionality for logged off users. As is the standard on the UMW Blogs site, all personal information is password protected. Furthermore, users email addresses are only always visible to the UMW Blogs administrators. 3.1.3 Software Quality Requirements As the widgets on the UMW Blogs site are subject to growth and change, all code used to implement these features (most of which the client wishes to be widgets) will be clearly commented and thoughtfully structured for greater convenience during future maintenance and development. 3.2 Comment Tracking Below are the requirements specific to the comment tracking feature of the plugin suite. The comment tracking software’s purpose is to retain all the comments ever made by user across all sites on the UMW Blogs network and display them in an easy to read table. This feature will operate similar to how the posts tab currently handles and displays a user’s posts. General Requirements: 3.2.1 Comment tracking will operate one tier above the other features in that it is concerned with user-wide information not site specific. 3.2.2 Software shall retain all comments a user has made across all sites within UMW Blogs. 3.2.3 Will function as a widget with all the standard word press widget customization characteristics. This widget will take the form of an expandable table. 3.2.4 Should reside within the home dashboard for all users. 3.2.5 The comment tracking widget shall be displayed by default. Interface and Display Requirements: 3.2.6 Upon expansion, the columns of the table will be as follows: • Title of the blog comment was made upon • Title of post where the comment resides • Text Of Comment • URL to the blog • Direct link to the comment itself • Timestamp (mm/dd/yyyy) • Quick Edit • Remove/Delete Requirements Specification for UMW Blogs Project 6
UMW Blogs CROPP, MULLEN, NGUYEN 3.2.7 These columns should follow standard word press table behavior. And be displayed in chronological order. Processing Requirements: 3.2.8 It is necessary that this software retrieve all the comments made by the user on any site throughout the network. Comments are currently flagged by user within the database that UMW Blogs utilizes. 3.2.9 This widget should display all comments with a refresh rate of 5 minutes at the latest. 3.3 Activity View This section is concerned with the specific requirements for the activity viewing feature of the plugin suite. The activity view shall allow a user to easily see any activity on any blog that is linked to their blog. Activity is categorized as any new posts or comments. General Requirements: 3.3.1 This feature shall take the form of a widget on the home tab of the dashboard for any blog/site. 3.3.2 As a widget on the dashboard it shall have all of the customization features associated with word press plugins. This includes the ability to be hidden, moved, and change display in accordance with theme. 3.3.3 This feature should be hidden by default. Interface and Display Requirements: 3.3.4 The widget will take the form of an expandable table. 3.3.5 Upon expansion the table will contain the following columns: • Title of Blog the activity is on • Partial Text of the post/comment • Author’s username • URL to the post/comment • Time Stamp (mm/dd/yyyy) • Type of Post (Comment or Post) 3.3.6 These columns shall follow standard word press table behavior. This behavior is currently presents in the posts table found under the posts tab. Processing Requirements: 3.3.7 This software shall retrieve the lists of sites to search for activity from the links table also found within the dashboard. 3.3.8 With this list of sites, the software should populate the table with any new posts or comments found on any of these linked sites. 3.3.9 This function should update at the very least every five minutes to refresh and display any recent activity. 3.4 Contextual Help This feature deals with providing additional contextual help to users in the form of a centralized page with embedded wiki how-to’s. This is a high priority feature due to it delivering help guides more relevant to UMW Blogs in a more cohesive format than what is currently available. Interface Requirements: Requirements Specification for UMW Blogs Project 7
UMW Blogs CROPP, MULLEN, NGUYEN 3.4.1 In the user’s dashboard menu there should be an additional feature called “Help Guide.” 3.4.2 The “Help Guide” should act in the same way as the other features already present on the dashboard. This includes displaying the content of each feature locally on the dashboard. 3.4.3 The content of the “Help Guide” feature should include a list of help guides formatted like a table of contents and a space for where the currently selected help guide will be displayed. 3.4.4 A user will click on a link to the user’s desired help guide. The system will get the latest version of the guide from MediaWiki, DokuWiki, or GitHub based on a predetermined set path. The system will then present the guide embedded onto the page. When the user clicks on another help guide, the system will replace the help guide currently being displayed with the newly selected one. Functional Requirements: 3.4.5 Ability to embed directly from MediaWiki or DokuWiki pages or embed from the GitHub repository which houses all of the source files for the MediaWiki and DokuWiki pages. 3.4.6 Display a list of help guides for the user to choose from. Error Handling Requirements: 3.4.7 Ability to catch errors in the case of an embedded page failure and display a proper error statement. 3.5 Bulk User Import This section deals with all the specific requirements necessary for the bulk user import function piece of the project. These requirements range from location on the webpage to the capacity requirements of this feature. General Requirements: 3.5.1 The software shall add multiple users at one time to the current user’s blog. 3.5.2 This feature should be available for all users with a valid login and blog. 3.5.3 It is necessary for this function to only add users to the blog in which the user is currently residing. Interface Requirements: 3.5.4 This software shall reside within the “User” space on the UMW Blogs dashboard. 3.5.5 This feature should appear in below the singular add user function and above the add new user on the webpage. Requirements Specification for UMW Blogs Project 8
UMW Blogs CROPP, MULLEN, NGUYEN 3.5.6 A dropdown menu with the new users’ role will be provided. As well as a download and submit button for the template and completed file. Processing and Input Requirements: 3.5.7 The template provided should be of a .txt, and will entail a line separated file of example email addresses. 3.5.8 Within the submission file, email addresses can be of any format, it is not required that only @mail.umw.edu or @umw.edu addresses be accepted. 3.5.9 The software shall receive the .txt file that is uploaded and add any users associated with the individual email addresses found within the file to the blog. This functionality already exists in the currently existing “add user,” but this software shall iterate this for each email addresses within the uploaded file. 3.5.10 Following the submission of the file and the additions to the blog, an email shall be sent to the user’s registered email detailing the success and/or potential failures of the upload. Output Requirements: 3.5.11 Following submission, a message of success, partial success, or complete failure shall be displayed in a popup window to the screen. Where partial success is defined as some successful user additions and some faulty, and total failure means no successful user additions, or the submission file was not found/of the wrong format. Error Handling and Capacity Requirements: 3.5.12 It is required that this feature be able to handle bulk imports of up to 2,000 new users at a time. 3.5.13 If an invalid email address is found, then the software must continue on until the end of the file without crashing. 3.5.14 Upon completion of the bulk import, any and all invalid email addresses need to be reparsed to a .txt file and attached to an email sent to the user. This reparsed file will be in a format uniform to the template so that the user won’t need to create and format a new file with the invalid email addresses. 3.6 Enhanced Administrator Search Feature The enhanced administrator search feature will enable the highest level administrators of UMW Blogs to search for email addresses, usernames, and user sites in the domain using a partial name or substring. This is the lowest priority feature and should simply be a modification of an existing feature. Detailed below are the specific requirements for this modification and implementation. Interface Requirements: 3.6.1 This feature will provide a search box where the user will type the desired information they wish to search for, as well as a submission button labeled “Search Users” or “Search Sites.” Requirements Specification for UMW Blogs Project 9
UMW Blogs CROPP, MULLEN, NGUYEN Processing Requirements: 3.6.2 The search shall return any results that match the searched data exactly or partially. 3.6.2 For the User search any searched data will match with the username, email address, and site name. 3.6.3 The site search will match any domain names or mapped site names. Output Requirements: 3.6.4 After completing the search, this software will display the results in the same table that already exists on the site for both the user and site searches. 3.6.5 If no results are found, the table should be displayed with a message that says “No users found” or “No sites found” respectively. Security Requirements: 3.6.5 The administrator must be logged on to UMW Blogs to access the search feature and have the highest level of access. 3.6.6 The administrator must enter a non-empty string into the search bar. 4. Appendix A: Glossary Dashboard - a home page on a website giving access to different elements of the site's functionality. DokuWiki - a wiki application aimed at small companies’ documentation needs. DokuWiki is licensed under GPL 2 and written in the PHP programming language. It works on plain text files and thus does not need a database. Its syntax is similar to the one used by MediaWiki. GitHub - a web-based hosting service for software development projects that use the Git revision control system. Interface - The point of interaction or communication between a computer and any other entity, such as a printer or human operator. MediaWiki - a free and open source wiki software, used to power wiki websites such as Wikipedia, Wiktionary and Commons, developed by the Wikimedia Foundation and others. Plugin - An accessory software or hardware package that is used in conjunction with an existing application or device to extend its capabilities or provide additional functions. Tab – A second or further document or page that can be opened on a spreadsheet or web browser. Requirements Specification for UMW Blogs Project 10
UMW Blogs CROPP, MULLEN, NGUYEN Widget – An element of a graphical user interface such as a button or scroll bar; also, a module of software for a personalized Web page. WordPress – A free and open source blogging tool and a content-management system based on PHP and MySQL, which runs on a web hosting service. 5. Appendix B: Contributions Technical Developer: Tori Nguyen – Authored Requirements for contextual help – Authored Assumptions – Authored Operating Environment Technical Developer: Patrick Mullen – Authored Overall Description – Authored Requirements for comment tracking – Authored Requirements for bulk user import – Authored Requirements for activity view Technical Developer: Allie Cropp – Authored Introduction – Authored Requirements for enhanced search – Authored Nonfunctional Requirements All components of this document not specified above were a collaborative effort. Requirements Specification for UMW Blogs Project 11
UMW Blogs CROPP, MULLEN, NGUYEN Attached Image #1: An example table that all new tables should replicate. Requirements Specification for UMW Blogs Project 12
You can also read