Group Wrangler

The Problem


Groups are a fundamental concept in any large organization or social circle. Managing groups is a complex challenge that encompasses managing the group/subgroup hierarchy, analyzing group characteristics, and supporting intra-group and inter-group communication. While there are a number of software systems available for group management, many of these systems are designed for workflow management or casual social groups. Existing systems are unable to handle efficient creation, reorganization, and communication within complex, hierarchical group structures. There is a need for a hybrid system that combines social aspects and administrative group management.

The lack of a suitable group management system is the primary motivation for the establishment of Group Wrangler, which was developed to support the Global Science and Engineering Program (GSEP) at Northern Arizona University. As Assistant Director of GSEP, our sponsor, Melissa Armstrong, manages a rapidly growing group of GSEP students that fall into multiple overlapping groups and subgroups, defined by academic status, language, major, and other characteristics. GSEP was looking for one tool that would allow them to manage students in the program and facilitate communication among members.

Our Solution


The solution we developed, Group Wrangler, is a web-based application that supports an intuitive experience for creating and managing groups in a social community. Specifically, the application provides one tool that can be used to:

  • Manage members by providing support to add and track members
  • Define groups manually and automatically using custom attributes to determine membership
  • Analyze members and groups with graphical and statistical breakdowns
  • Facilitate group communication via blogs, forums, and email
  • Group Wrangler combines the functionality of tools that focus on social organizations with the functionality of tools that focus on centrally managed organizations. The application is both free and open-source. It uses a variety of modern web technologies to provide a simple and easy-to-learn interface. The application can easily be modified to meet the needs of any organization.

    Walkthrough of Automated Grouping:

    Walkthrough



    A demo of Group Wrangler is available here on our website:
    (Note: some features not available in demo version)

    Try Group Wrangler



    Download the full group wrangler product here:

    Download Group Wrangler




    Requirements


    In the initial requirements acquisition phase, we met with our sponsor, Melissa Armstrong, to establish some of the key features of Group Wrangler. Our mentor then helped us to refine our list of requirements. Our peers and the faculty also provided helpful insight when we presented our work in the form of design reviews. We revised the requirements document over time based on testing and feedback. We broke down the functional requirements based on the types of user roles in the application. Some of the key requirements are listed below.

    General users can:

  • Share their experiences via personal blogs
  • Discuss common topics on forum pages
  • View group announcements and member information
  • View up to date notifications
  • Update attribute values used for automated grouping
  • Manage general settings and privacy settings

  • Administrators can:

  • Add, update, and delete users
  • Track users with notes
  • Add, update, and delete groups
  • Define rules for group membership
  • Analyze filtered users and groups
  • Post group announcements
  • Message group members via email
  • Manage site settings

  • View the full requirements document here:

    Link to Requirements Document




    Design


    We chose to develop Group Wrangler using a variety of modern web technologies. We decided to use Ruby on Rails as our web application framework because it provides support for rapid development, easy maintenance, and software engineering principles. We took advantage of the model-view-controller architecture provided by Ruby on Rails in order to help structure our code. This setup allowed us to easily separate the logic for interacting with the database from the logic for displaying page content. A more detailed explanation of the architecture can be found here.

    We also incorporated a variety of other technologies that integrate well with Ruby on Rails. Our application supports a number of databases, including PostgreSQL and MySQL. We used jQuery and JavaScript to handle client-side functionality. Our application works with cloud hosting services such as Heroku and Amazon S3. We were able to incorporate these diverse technologies to provide an application that is both powerful and easy-to-use.