Blog Posts

Roles, Groups, and Classification Levels

This week we received some test data from Raytheon to test the security and metadata functionality of our ECM system. We’ve been working on adding the capability for the system to read the metadata whenever new files are added, and to prevent unauthorized access to those files based on the clearance level specified in the metadata. Every file that is added to the system has an associated file that lists all of these attributes (clearance level, clearance group, file type, date modified, etc.).

We’ve also been working on finalizing the group and role structure of the ECM system so that is is modular enough to support adding multiple groups and multiple roles within each group. On top of this, we are working on adding linking these groups and roles with Microsoft Active Directory, which will serve as the source of all user information.

Finally, we have been working on creating a frontend web application to demonstrate the ECM’s capabilities. It will allow users to see the group and role structure and edit them.

QRB 1

This week the team presented our first QRB presentation to the coaches. After working hard last week to ensure that our project gets back on track after losing our product licenses, we were happy to show off all of the hard work that we have been doing. We also worked to revise our project plan and risk mitigation strategies so that we can be more successful going forward. We all received some very valuable feedback from the event, and are looking forward to implementing the changes to our project workflow.

Our QRB presentation title slide

In terms of our project development, this week we continued working on integrating the new open source software package we are using. We’ve been working to add all of the systems that are in use at Raytheon and to develop the application to support the roles and security groups. We’ve also been working on moving the application from a containerized Docker project to a locally hosted one that will offer us much more flexibility to modify it in the future.

Big Progress

This week we’ve been working hard at finding and implementing a replacement ECM after the trial license for our previous ECM was revoked. We were unable to work with any vendors to receive extensions or new licenses, so we identified a free open-source ECM system that we will continue our development on. In our initial trade study, this ECM ranked 4th out of the 11 we evaluated. At first we were hesitant to work with an open source solution, but our liaisons assured us that there isn’t a problem with it and we have started to port our progress over to the new system.

Login page for the new system.

This week we’ve been able to establish the basic user group / role structure that we had set up on our prototype. We’ve also made progress with setting up a remote database and running the ECM locally at our lab. Lastly, we’ve been working on creating a backend API library that will make it much easier for us when we eventually begin developing a custom web application that integrates with the ECM data. In terms of testing, we’ve been researching different testing platforms and we have been exploring the potential of testing the ECM using its API.

Getting Quotes

This week we’ve been focusing on getting quotes for the on-premises software licenses that we required to do our project work. We’ve already met with one of the vendors and discussed acquiring an extended trial license as well as getting us access to some demos that we can work on. Because of the problems we’ve been facing with obtaining licenses to the ECM software, we’ve been communicating heavily with our liaisons to discuss possible alternatives (open-source software, custom tools, etc.) that we can pursue. If we need to, the sales representative we met with said that it is possible for us to gain access to the software through only the API. This would enable us to perform some rudimentary development on the system without the need to pay the expensive license fees.

The REST API for one of the ECMs we are considering. With the API, we can control the system’s users, groups, and roles.

If there’s any positive to the challenges we are facing, they’ve given us some valuable experience with contacting and communicating with software companies to get product information and specifications. We’ve also gained a lot of experience with conducting a trade study, since we have been constantly iterating on our original study as we find new ECMs and gain more information from the software providers. We hope to have all these issues resolved by next week, and we are confident that we will find a solution that meets Raytheon’s requirements.

Back in Business

Faizan taking a sip of coffee at our project lab

This week we started resuming work on our project from the previous semester. We’ve been working around our schedules to establish meeting times with our liaisons and coach. We’ve also been working on resuming our licenses for the ECM we were working on last semester. One of the main issues that we have encountered so far on the project is contacting the ECM software providers and getting the licenses we need.

Ready to work

This semester, our focus will be on working with our liaison to finalize the requirements we need for the software, gaining a license from on of the ECMs we identified in our trade study, creating custom applications to help interface with the software, creating tests to ensure the correct functionality and security requirements, and writing any additional documentation and guides that Raytheon will need to reproduce our work. We’re all very excited to resume work on the project and feel confident that we will have enough to present at our end-of-semester FDR presentation.

SLDR

This week the team worked on completing our System Level Design Review presentation that we will present to our sponsors next week. We want to ensure that all the demos and information in the presentation is accurate and reflects the project requirements so we’ve also been working on further developing our current ECM cloud demo application so that it behaves correctly.

Alex working on the SLDR presentation

Earlier this week, we presented our draft presentation to our classmates and some class coaches and received some valuable feedback on the content and style of our presentation. After the peer-review, we worked to make some changes to the pacing and information on the slides in order to make it more appealing to those who are less knowledgeable about the technology. This has been challenging for us since our project is very technical, but we’ve also been working with our coach Ann to help better communicate our work and goals for next semester.

Lastly, we’ve still been working on contacting and obtaining on-premises trial licenses for the ECMs that we will use next semester to build the final solution for Raytheon. Our current demo is cloud-based but the final version will need to be self-hosted on the hardware that Raytheon provided us.

Thanksgiving Break

Last week we had our thanksgiving break and enjoyed some time off from school work to spend with our family. Before the break, we continued our work on developing the prototype we presented at the prototype inspections day. We’ve been working on adding security roles and classification levels to the ECM. Since most ECM products are basically a blank-slate out of the box, you have to do a lot of configuring and management to get them to work the way you want.

To make things easier, we’ve identified the most important features that the prototype needs to have to meet a minimum functionality. This hopefully allow us to easily transfer all our work to the on-premises version of the software. We’ve also been contacting other ECM providers to get additional trial licenses and tools.

More Prototyping

The team at the prototype inspection day

This week we finished our prototype inspection day and presented to some judges. We received some very valuable feedback on our project and had a lot of our questions answered. We had a great time presenting the work we’ve accomplished and showing off the prototype that we created last week. We’ve been working very hard to come up with interesting ways to present our project to those that don’t have a large background in ECM systems, and we were very glad to hear all the positive feedback we gained from our presentation.

We’ve also been working on continuing the development on the current prototype of our ECM system using one of the chosen products from our trade study. As we’ve been developing it, we’ve come to realize that it might not meet some of the security requirements that Raytheon needs. Because of this, we’ve also been identifying areas in the application that we can enhance with some custom applications. Nearly all of the ECMs that we researched in our trade study have APIs that we can leverage to create custom applications so we feel confident that if there are any features that are missing in the ECM we choose, we can make up for them by implementing them ourselves. These are our plans for the next semester, as we hope to finish prototyping our current system by the end of the year.

Prototyping

This week we were busy on creating a prototype to present at next week’s prototype inspection day event. We’ve been developing a solution using the cloud version of one of the ECM providers that we’ve been working with. In the future, we plan to use the knowledge and experience we gained from developing the cloud version to develop an on-premises version that Raytheon would be able to deploy on their hardware.

Diagram used in our prototype presentation that shows the required security structure for the ECM

In addition to this, we’ve also been working on gathering more security requirements that our system needs to meet. Since the data stored on Raytheon’s ECM system is very confidential, they have strict requirements on the type of security system that the ECM needs to use. Many of the ECM products on the market do not meet these requirements exactly, so it’s likely that in the future we will have to create a custom application that can handle these security needs.

The Boys Are Back in Town

Faizan working hard at the lab

This Sunday our liaisons from Raytheon Mark, Mitch, Nick, and Byron came up to Gainesville to help us set up our lab environment and install all the software we needed for developing the ECM. We spent the day learning the equipment, installing the right operating systems, and setting up the virtual machines that we will deploy our project to in the future. Since Raytheon’s systems have strict security requirements, all of our work needs to be done on their approved hardware and software systems. Now that we have our lab equipment set up, we hope to begin working on an initial prototype system to display at next week’s prototype inspection day event.

We’re all really glad that our liaisons were able to come up to Gainesville and visit, and we had a really nice time spending the day with them. We learned a lot about the systems in use at Raytheon and the requirements that they are working with for their current ECM systems. We also gained a lot of insight into how the ECMs are used at Raytheon and how they’re used by their clients.

Team photo with the liaisons from Raytheon at the UF Innovate Lab