Spring '25 Week 15
Video Script
Hello and welcome to the week 15 announcements video for CIS 526 and CC 515 in spring 2025. So here we are, we’re at the last real week of the semester before finals week. Hopefully everybody was able to get through the advanced topics tutorial. Hopefully it worked really well. It’s a lot of stuff that I wanted to add at the end of the class, but didn’t really fit anywhere else. So it jumps around a little bit between some view topics and working with Docker and working with external databases. But I think it’s the last big pile of content I wanted you to get at the end of the semester. I have just published the final project, which you can find here on canvas. The final project links to a textbook page. Let me pull the textbook page over here real quick. So basically it has four different things I want you to do. I have not put together the rubric for these, but you can think of basically each one of these as roughly a quarter of the project. Some of them are going to be a little bit bigger than others, but hopefully you can get through those. And then I will actually show you my model solution.
So for this project, I encourage you to take advantage of any creativity you have. You do not have to do it the way that I did it. I just want to show you one example of a way to do it. So the final project is going to involve adding a view for the metadata. And so I want this metadata view to be a little bit more user friendly than the tabular view that we’ve been using. And so previously we were using data tables, which is really great for showing a back end view of the database tables themselves. But for a front end view, I want this to be a little bit more user friendly. And so because of that, in the assignment, if you read very carefully, you may not use the prime view data table component for this. Instead, I want you to develop your own method to display these. You can use the prime view data view component along with other custom component templates such as cards or your own custom view component.
And so in here, if I take a look at my solution, I’ve got a browse interface right here where this shows the first 10 items. It’s got a little paginator built into it so I can page between all of these. And so if I go back to this first one right here, I can click on any one of these individual ones and it will take me to an individual view for each one. There we go. And so this takes me to an individual view for that item. Right now I have two maps up here because it’s linked to two communities and I’ll talk about that in just a second. But this gives me a view of all of the data. So I’ve got the name, the title, the abstract. I’ve got publication details. I’ve got all the documents that were linked to it as well as all the communities that are linked to it. And so I want you to make both a list view that is very user-friendly and I also want you to make an individual view that is very user-friendly.
For users that have the correct permissions, they should be able to edit these. So these edit buttons should show up for people with the correct permissions. This is just a quick edit form. You’ll notice in the edit form you should be able to edit everything except for the copyright ID and the owner ID. The owner ID should be sent by the back end to whoever owns this or whoever creates the metadata item. Likewise, this edit metadata should also support editing keywords. You don’t have to worry about the copyright ID. You should also have a button before creating a new metadata item. You should have a button here that will delete a metadata item and then you want to add a document. I can do just search for LT_AN. I can add any one of these documents here as well. So if I hit save it will add that document. I can remove that document and it will remove that document and then likewise I can add and remove communities. You may have situations where one of these metadata items is linked to multiple communities or multiple documents and the documents might be shared among multiple metadata. So that’s why we have this set up this way.
So those are really the things. You want to make a list view. We want to make a single view. We want to make an edit metadata view so that we can edit those metadata and we want to be able to manage the documents in the communities by adding and removing them. So that’s really the solution.
There are two things that you can enable for extra credit. So the first one is filtering the metadata list view by keyword. So if I go to my metadata single and I click this Anderson keyword you’ll notice it takes me to this special url slash tag slash Anderson and it shows all of the metadata add trees with that Anderson tag. If I click Kansas it will show me all the ones that have the Kansas tag. The way that I’m doing these tags is for example this one has agriculture Anderson. All of these these are simply the keywords that have been split out by spaces and so when I edit these you’ll notice this keywords field is just a whole bunch of words. And so instead of creating an actual tag interface what I’ve done is I’ve just split the keywords by word. So that’s really all we’re going to do there is split the keywords by word, but those become tags. And so one thing you can do is implement a quick filtering process on this metadata list view.
The other thing that you can do is add this map view. And so what this does, I actually have mine programmed to do up to three different maps. And so here, just to show I’ve linked this one to colony, but also to another community in my hometown near my hometown. And so you can see each of these maps is fully interactive and has a little pin that shows where that community is. So this is where colony is colonies and actual existing community. This little pin shows where Bigelow, Kansas used to be, which is not there anymore because it’s a ghost town. And so what I’ve done is I’ve basically linked it up so that if there is a community linked to the project, it will show these here. If I remove one of these communities, it will seamlessly change the map. And if I remove both communities, then it will just hide the map. but then I can add colony back here and then it will refresh the map.
So that you can do for extra credit and then also like I said this tagging you can do for extra credit. Both of these are relatively straightforward. In the textbook I give you a hint that for tagging you can just use as a little hint, you can use a special route and then use a computed value in view to be able to do that. You’ll need to be able to use split and trim to actually take that string and split it into the individual values. But if you write a good computed value in view, pretty easy to do for the map. What I used was this view three open layers library, which is an open layers wrapper for view three that connects to the open layers API that talks to the open street view maps. This was very easy to do, didn’t need a API key or anything to get started with this. So this is a really fun thing to play around with as well.
So that’s really what you’re doing for the rest of the semester is finishing out this final project. Also, if you haven’t finished up anything previously, please go through and do that. I’m gonna start adding in zeros to the textbook here very soon so that if you get zeros in your grade book, it probably means you forgot to turn something in or you forgot to complete something. So as always, if you have anything, any questions, let me know. Otherwise this final project is due on May 16th. It is worth 200 points, which is basically a double milestone project. So it’s worth a decent amount towards your grade. But as always, if you have questions, let me know. Otherwise, this is the last announcements video for the semester. Best of luck. It’s been great having you in the semester. Don’t forget to finish your T-vals, which will come out very shortly. And otherwise, I look forward to seeing you again in the future.