USF's Banner ERP Residence Life Portlet
Attached is a zip file of the residence life portlet used at the University of St. Francis in uPortal 2.5.2 which displays a students on campus housing assignment and their room mate(s). Please excuse the redactions in the screen shot below, I had to hide personal information.
It queries the slrrasg table to get the most recent housing information for a student, and displays the students room mate and their contact information.
You'll notice that the portlet also does an insert into a table called activity_log. This is just our custom logging table where we insert the pidm of the currently logged in user, an event_code of every item rendered in our portal, and a description about what was rendered. This allows us to really analyze the usage of our portal, and join it to all of our banner data to look at trends by age, major, student type, or any other attribute in the system.
It requires a jdbc connection to the Banner database, called BannerDb, and it requires the pidm of the student to be obtainable by the portlet. The implementation details of how to do that are surely going to be different at each school. At USF, we had the students pidm stored in the workforceId attribute in Novell eDirectory, and our portal would grab that to use prior to rendering any portlets and stick it in the model.
While we used this code in production for 3 years, I am sure any school consuming it would have to make modifications. Use it with the assumption that it will
Some things you will likely have to customize for your environment:
- Have a method to grab the pidm of the user who is logged in, which is used to lookup that persons data within Banner.
- Have a central spot to store the silk icons where they can be referenced by the portlet.
- Implement your own method for logging within your portlet if you choose to do so. Where you see us inserting into the table activity_log, you can safely remove it. It is our custom logging code to track who accessed the portlet.
- Ensure your portal supports JSTL. At USF, we took a "get it done" approach and didn't spend the extra time generating a specific database layer and such. We were able to build the portlet in far less time just using a simplified approach that runs the queries using JSTL. All data retrieval and rendering logic is stored right in the JSP page.